RISC-V MCU中文社区

【分享】 E203软件仿真下改变DTCM和ICTM容量的方法介绍

发表于 全国大学生集成电路创新创业大赛 2023-07-04 21:08:30
0
1996
3

队伍编号:CICC1304

系统:Ubuntu20.04 iverilog:12.0

E203内核的DTCM和ICTM的默认配置为64KB的大小。然而,我们自己编写的应用程序可能因为代码量或者数据量过大,而导致指令或者数据无法完全放在ITCM或DTCM中,直接的表现是在用hbird-sdk生成.verilog文件时报错(如下图)。图片alt
因此,我们需要根据需要对DTCM、ITCM的进行扩容。具体操作如下:
1、修改vsim\install\rtl\core下的config文件,将
`define E203_CFG_DTCM_ADDR_WIDTH 16

`define E203_CFG_ITCM_ADDR_WIDTH 16

修改成合适的大小,比如,如果想将DTCM扩展到256KB,则设置如下
`define E203_CFG_DTCM_ADDR_WIDTH 18
2、由于扩容后的DTCM、ITCM的大小发生了变化,在运行仿真测试时,需要修改hbird-sdk生成测试代码的配置文件,具体为修改hbird-sdk\SoC\hbirdv2\Board\ddr200t\Source\GCC下的gcc_hbirdv2_ilm.ld文件,将

ilm (rxai!w) : ORIGIN = 0x80000000, LENGTH = 64K
ram (wxa!ri) : ORIGIN = 0x90000000, LENGTH = 64K
修改成对应的大小。比如,如果想将DTCM扩展到256KB,则设置如下
ilm (rxai!w) : ORIGIN = 0x80000000, LENGTH = 64K
ram (wxa!ri) : ORIGIN = 0x90000000, LENGTH = 256K

这样,我们就实现了仿真环境下E203的DTCM和ITCM的扩容。

其他:在将E203综合到FPGA上时,由于FPGA的资源有限,如果设置的DTCM和ITCM的容量过大,可能会因为FPGA的资源不足而出现无法综合的问题。此外,如果综合成功,在使用NucleiStudio将应用程序下载到FPGA上时,同样要将NucleiStudio项目中的gcc_hbirdv2_ilm.ld文件修改成DTCM和ITCM内存大小的配置,才能让应用程序正常运行。

喜欢3
用户评论
张京

张京 实名认证

21

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板