随着器件容量的增大,设计复杂度的增加,用户在使用 Quartus 软件工程全编译时,与以往相比要耗费更长的时间。目前在 Arria10,Stratix10 等器件上,资源消耗在 50% 以上的设计,通常需要几个小时,甚至十几个小时的编译时间,才可以生成烧写 sof 文件。这极大地降低了工程师的工作效率与调试速度。
在应用与调试的过程中,可能会有需要使用 rom IP 资源存储一些原始配置数据、测试激励数据等应用,随时改变 mif 文件里面的初始值的需求。本文为大家介绍在不需要重新编译工程的情况下,如何更新已经编译成功的 sof 文件中 mif 文件的内容。
设置 mif 原始文件
根据 mif 文件格式要求,创建 mif 文件,存入原始数据。mif 文件格式与数据,如下图 (图1) 所示:
图1 mif 文件格式与数据
将 mif 文件的路径映射到对应的 rom IP 中,如下图 (图2) 所示。并将工程全编译生成 sof 文件,正常使用。
图2 mif 文件路径映射
更新 mif 原始文件内容
将 mif 文件的内容做替换,要注意路径一致,不需要重新生成 IP,且文件名字不能发生变化。然后在 Quartus 软件界面的 Processing 选项下面选择 updata memory initialization file 选项,如下图 (图3) 所示:
图3 Quartus 软件更新 mif 文件
等待软件自动更新,显示更新对应的 mif 文件成功以后,如下图 (图4) 所示。再重新执行 Assembler (generate programming file),生成新的 sof 文件即可。
图4 Quartus 软件更新 mif 状态
总结
随着器件容量的增大,FPGA 软件编译时间动辄几个小时。在无需重新编译工程的情况下,仅更新 mif 文件,能够较大地提高了研发工程师的效率,这也体现了新版本 Quartus 软件人性化的功能。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !