RISC-V MCU中文社区

【分享】 修改 ITCM 和 DTCM 大小以适应 NMSIS 官方例程

发表于 开源蜂鸟E203 2023-05-17 15:37:33
0
2273
1

报名编号:CICC2969

团队名称:火锅队

学校名称:广东工业大学

参考帖[求助]使用NMSIS-NN库时,出现section `.bss' will not fit in region `ram'错误怎么结局可以知道,编译 NMSIS 的官方例程需要修改软件代码中的 ilm 和 ram 的地址长度。软件修改后,在硬件方面也必须要配合着修改,否则装不下那么多程序。根据笔者的实验,若不修改硬件的数据存储容量,板子在 2 分钟内没办法输出结果。

原E203的 ITCM 和 DTCM 的大小在文件“config.v”中做了规定:它们的地址位宽都为16位,起始地址分别为 0x8000_0000 和 0x9000_0000。如下图:


为了扩大E203的ITCM 和 DTCM ,就要修改 ITCM 和 DTCM 的地址位宽。笔者将他们都修改为 18 位。此时 BRAM 使用量从 32 变成了 128个,但 NMSIS 的例程就能在几秒内输出结果。需要注意的是,修改了 ITCM 和 DTCM 的地址位宽后, vivado 会提示太多扇入扇出而无法 Implementation,Log中会提示 “HACOOException,no stack trace available, please use hs_err_<pid>.dmp ins”。此时只需要在 Tcl Console 中输入 "get_param pwropt.maxFaninFanoutToNetRatio 2000"就行了。

以上就是本帖关于修改 E203 的 ITCM 和 DTCM 的内容!

最后,笔者希望有更多的关于优化 BRAM 的帖子被分享出来,已解决扩大 ITCM 和 DTCM 后 BRAM 使用量猛增的问题。

喜欢1
用户评论
Lalaland

Lalaland 实名认证

懒的都不写签名

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