如何实现FPGA的层次设计?
我现在在设计一个SoC,目前硬件的RTL代码基本已经确定了,但是软件代码调试还有很多工作要做。程序是放在SoC上的一块ROM里的,按照正常的FPGA验证过程,每改一次程序就要重新生成一次ROM和综合,整个过程在半个小时以上,非常影响开发效率。之前也考虑过将程序放在开发板上的FLASH中,上电后处理器自动加载程序,但是在我这块Virtex5上实现过于困难。
我在网上看到说可以用Planahead将已经确定的RTL代码锁定,每次改动只对已经修改的模块进行综合,可以大大减少实现所用的时间。所以我就想能不能将RTL部分的设计锁定,每次综合只重新生成ROM,这样可以提高验证的效率,但是网上这方面的资料很少,没有一个具体的关于如何锁定设计的教程。不知道有没有前辈可以给予一些指导,不胜感激! 兄弟 ,你搞错了吧 ,只修改程序不用重新综合实现 ,在 SDK里编译 ,运行就可以 ,也就撑死一分钟吧 只换rom可以通过spi,uart等下载
altera的fpga可以更换rom,重新生成耗时很短
xilinx不知道有没有此功能 7802848 发表于 2013-6-15 12:20
只换rom可以通过spi,uart等下载
altera的fpga可以更换rom,重新生成耗时很短
xilinx不知道有没有此功能 ...
Xilinx也可以 可以只把rom替换掉,xilinx的好像是bmm文件吧,这样就很快了 zkf0100007 发表于 2013-6-14 12:31 static/image/common/back.gif
兄弟 ,你搞错了吧 ,只修改程序不用重新综合实现 ,在 SDK里编译 ,运行就可以 ,也就撑死一分钟吧...
SDK是指什么?ISE吗?regenerate ipcore以后不重新综合的话下载到FPGA里的.bit文件不会变的啊。 7802848 发表于 2013-6-15 12:20 static/image/common/back.gif
只换rom可以通过spi,uart等下载
altera的fpga可以更换rom,重新生成耗时很短
xilinx不知道有没有此功能 ...
我也想过从开发板上的SPI FLASH加载程序,但是ISE不支持将自定义的二进制数据下载到FLASH上,只能下载.bit。
你说的是quartus里的Update Memory Initialization File功能吗?ISE里好像没有…… zkf0100007 发表于 2013-6-15 13:17 static/image/common/back.gif
Xilinx也可以
Xilinx要怎么做? yanglishanlctu 发表于 2013-6-17 14:14 static/image/common/back.gif
可以只把rom替换掉,xilinx的好像是bmm文件吧,这样就很快了
有具体的操作过程吗? cssuss 发表于 2013-6-17 15:25 static/image/common/back.gif
有具体的操作过程吗?
具体过程你可以百度一下,有详细过程,名字好像是data2mem工具吧,你可以试试。 cssuss 发表于 2013-6-17 15:16 static/image/common/back.gif
SDK是指什么?ISE吗?regenerate ipcore以后不重新综合的话下载到FPGA里的.bit文件不会变的啊。 ...
随便找一本XILINX的教材上面都会讲 zkf0100007 发表于 2013-6-18 00:09 static/image/common/back.gif
随便找一本XILINX的教材上面都会讲
我把在图书馆能找到的Xilinx的教材都找了,有的是讲在EDK环境下的开发,可以方便地更新ROM,但是我是在Project Navigator开发的,没有这个功能。 yanglishanlctu 发表于 2013-6-17 16:26 static/image/common/back.gif
具体过程你可以百度一下,有详细过程,名字好像是data2mem工具吧,你可以试试。 ...
我找了一下data2mem的资料,好像可行。
谢谢你,我再研究一下。 做一个小的bootloader 程序上电的时候 把住程序从外部flash写入内部ram
具体可以看micro blaze的一些资料。
如果时间允许甚至可以自己做一个从外部usb或者jtag下载到内部ram的程序
具体可以看看pico blaze的资料。 cssuss 发表于 2013-6-20 18:45 static/image/common/back.gif
我把在图书馆能找到的Xilinx的教材都找了,有的是讲在EDK环境下的开发,可以方便地更新ROM,但是我是在Pr ...
一样的啊,在ISE下面的话,你如果在EDK或者SDK里更改了程序,那么重新编译,然后在ISE里update bitstream 就可以了
页:
[1]