今天用FPGA做数字调制的时候遇到一个问题,将以前在EP2C35上做的一个工程直接移到EP2C8上,出现了M4K单元不足的的error。但是工程中只用到了一个NIOS和三个1024点10bit的DDS,并且NIOS中没有配片上的资源。因该是用不完16K的Ram的,以为是以前做的资源利用率太低,于是花了真个下午来改。DDS用一大堆复杂的逻辑控制后由三个降到了两个,但是效果甚微,error依然存在。
我开始很慎重的对待这个问题,并开始怀疑DDS占用RAM不只是查找表占用的空间。我做了一个简单的实验,工程在双DDS的情况下,占用RAM的大小为224916bit,改为单DDS则变成了214676bit,显然一个DDS占用的资源是10240bit,与计算值10×10240 = 10240bit是完全对应的。这完全打消了我的怀疑,我立即查看了summary,其中的ram一项可以清楚的看到各模块的ram使用情况,CPU,JTAG-UART,FLASH-CONTROLLER都用了相应的ram,最后一项是SingalTap竟然占用了10K的RAM。
问题解决了这是以前在EP2C35上调试的时候加的,SingalTap虽说好用但是在较低端的片子上存储深度必须把握下了,毕竟RAM在FPGA上还是比较紧的资源。
希望我的这次经历能做大家的前车之鉴。
用户1487984 2012-9-11 16:55
ilove314_323192455 2010-5-7 12:55