公众号里面的微信不能添加了。。。。。能不能处理一下,帮我拉如讨论群,谢谢!
问题:芯来一分钱计划里面的N101SoC,然后将C程序编译好之后,仿真运行时出现错误,大家能不能看看时什么原因帮忙解决一下。。。。。,新手小白看不出什么出错了,谢谢大家
加好友交流一下吧
好的,谢谢
你是运行的n101里面的例子吗,比如说helloword,我运行它里面的例子,最后用verdi看波形,它会循环执行两条指令,陷入死循环,您之前有遇到这种现象吗
我也是这样改的,然后可以运行了
但是我将地址改为@00000000为起始地址之后就能够运行了,因为我看仿真测试汇编语句的时候,它的测试用例的.verilog地址就是@00000000
同学,你把地址改了之后,可以正常运行吗,有进入一个死循环么
我也遇到了同样的问题,有大佬解决了么,可以分享下解决办法么
N101我没用过,不清楚,如果我猜的没错的话,N101的ITCM被映射到地址0x00080000。hello_world.verilog文件开头的@00080000表示程序要放到起始地址0x00080000的空间内。readmem读到文件中的这个地址标记之后,就试图把文件中的内容放到ilm_mem这个reg阵列中0x80000地址开始的地方,我猜你的ILM空间应该不到512K,所以报告一个illegal entry。所以就初始化失败,所以ilm_mem中0地址开始的部分就是未初始化状态,所以读取到的就是xxxxxxxx,所以就跑不起来。
以上是基于猜测的一些结论,我没用过N101,所以如果有不准确的地方,请大拿批评指正。;)
看截图中第一条waring信息,似乎是readmem语句没有读取到正确的文件,ILM中的指令存储器没有被初始化成功,以至于取指取到的都是X态数据,所以就运行不起来咯。
这几天一直在找原因,很困惑,希望您能帮忙看看,谢谢!
readmem函数需要读取hello_world.verilog文件,该文件的开头是@00080000;然后仿真的时候出现上面的错误ILM没有被初始化!! 但是我将地址改为@00000000为起始地址之后就能够运行了,因为我看仿真测试汇编语句的时候,它的测试用例的.verilog地址就是@00000000 请问这是什么原因呢?还有.verilog文件的开头@00080000地址代表着什么含义?readmem函数读到此代表什么?