大家好,这里是Supernova,队伍编号为CICC2796,这是本队在大赛上的第七篇技术分享帖。
如果不使用JTAG调试烧写程序或者没有FLASH来存放代码,仅借助纯FPGA的资源,依然可以完成E203的下板实现(通过BRAM来存放机器码)。
流程如下:
首先在IDE上完成程序编译,参考如下帖子:https://www.rvmcu.com/community-topic-id-386.html
可以生成.verilog文件,此文件可以用$readmemx的方式仿真,但是不建议综合时使用此函数。所以我们需要将.verilog文件转换为可写入FPGA BRAM的.coe文件,这里我们为大家分享我们自己写的转换脚本:下载:verilog2coe
我们在调用BRAM的时候需要对齐时钟,在地址有效的下一个时钟周期数据有效,所以需要取消勾选IP选项中的 primitives output register。
通常来说,将机器码写入BRAM后的仿真结果和下板测试是一致的,直接通过烧写bit流就可以了。
需要注意的两点:
时钟建议时钟按照要求选择高速16MHz,低速32.768kHz,不要随意修改。
DTCM的大小不建议修改。
祝各位比赛顺利!