cssuss 发表于 2013-6-13 13:04:32

如何实现FPGA的层次设计?

我现在在设计一个SoC,目前硬件的RTL代码基本已经确定了,但是软件代码调试还有很多工作要做。
程序是放在SoC上的一块ROM里的,按照正常的FPGA验证过程,每改一次程序就要重新生成一次ROM和综合,整个过程在半个小时以上,非常影响开发效率。之前也考虑过将程序放在开发板上的FLASH中,上电后处理器自动加载程序,但是在我这块Virtex5上实现过于困难。
我在网上看到说可以用Planahead将已经确定的RTL代码锁定,每次改动只对已经修改的模块进行综合,可以大大减少实现所用的时间。所以我就想能不能将RTL部分的设计锁定,每次综合只重新生成ROM,这样可以提高验证的效率,但是网上这方面的资料很少,没有一个具体的关于如何锁定设计的教程。不知道有没有前辈可以给予一些指导,不胜感激!

zkf0100007 发表于 2013-6-14 12:31:17

兄弟 ,你搞错了吧 ,只修改程序不用重新综合实现 ,在 SDK里编译 ,运行就可以 ,也就撑死一分钟吧

7802848 发表于 2013-6-15 12:20:16

只换rom可以通过spi,uart等下载
altera的fpga可以更换rom,重新生成耗时很短
xilinx不知道有没有此功能

zkf0100007 发表于 2013-6-15 13:17:23

7802848 发表于 2013-6-15 12:20
只换rom可以通过spi,uart等下载
altera的fpga可以更换rom,重新生成耗时很短
xilinx不知道有没有此功能 ...

Xilinx也可以

yanglishanlctu 发表于 2013-6-17 14:14:08

可以只把rom替换掉,xilinx的好像是bmm文件吧,这样就很快了

cssuss 发表于 2013-6-17 15:16:40

zkf0100007 发表于 2013-6-14 12:31 static/image/common/back.gif
兄弟 ,你搞错了吧 ,只修改程序不用重新综合实现 ,在 SDK里编译 ,运行就可以 ,也就撑死一分钟吧...

SDK是指什么?ISE吗?regenerate ipcore以后不重新综合的话下载到FPGA里的.bit文件不会变的啊。

cssuss 发表于 2013-6-17 15:20:11

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里好像没有……

cssuss 发表于 2013-6-17 15:24:43

zkf0100007 发表于 2013-6-15 13:17 static/image/common/back.gif
Xilinx也可以

Xilinx要怎么做?

cssuss 发表于 2013-6-17 15:25:11

yanglishanlctu 发表于 2013-6-17 14:14 static/image/common/back.gif
可以只把rom替换掉,xilinx的好像是bmm文件吧,这样就很快了

有具体的操作过程吗?

yanglishanlctu 发表于 2013-6-17 16:26:05

cssuss 发表于 2013-6-17 15:25 static/image/common/back.gif
有具体的操作过程吗?

具体过程你可以百度一下,有详细过程,名字好像是data2mem工具吧,你可以试试。

zkf0100007 发表于 2013-6-18 00:09:48

cssuss 发表于 2013-6-17 15:16 static/image/common/back.gif
SDK是指什么?ISE吗?regenerate ipcore以后不重新综合的话下载到FPGA里的.bit文件不会变的啊。 ...

随便找一本XILINX的教材上面都会讲

cssuss 发表于 2013-6-20 18:45:47

zkf0100007 发表于 2013-6-18 00:09 static/image/common/back.gif
随便找一本XILINX的教材上面都会讲

我把在图书馆能找到的Xilinx的教材都找了,有的是讲在EDK环境下的开发,可以方便地更新ROM,但是我是在Project Navigator开发的,没有这个功能。

cssuss 发表于 2013-6-20 18:46:29

yanglishanlctu 发表于 2013-6-17 16:26 static/image/common/back.gif
具体过程你可以百度一下,有详细过程,名字好像是data2mem工具吧,你可以试试。 ...

我找了一下data2mem的资料,好像可行。
谢谢你,我再研究一下。

y595906642 发表于 2013-6-20 19:12:31

做一个小的bootloader 程序上电的时候 把住程序从外部flash写入内部ram
具体可以看micro blaze的一些资料。
如果时间允许甚至可以自己做一个从外部usb或者jtag下载到内部ram的程序
具体可以看看pico blaze的资料。

zkf0100007 发表于 2013-6-21 00:05:47

cssuss 发表于 2013-6-20 18:45 static/image/common/back.gif
我把在图书馆能找到的Xilinx的教材都找了,有的是讲在EDK环境下的开发,可以方便地更新ROM,但是我是在Pr ...

一样的啊,在ISE下面的话,你如果在EDK或者SDK里更改了程序,那么重新编译,然后在ISE里update bitstream 就可以了
页: [1]
查看完整版本: 如何实现FPGA的层次设计?