6系列FPGA中使用块RAM的心得(4)

调试过程中的一点小问题
生成IP核的调用之后,然后对其进行例化,格式是
rrra YourInstanceName (
.clka(clka),
.addra(addra), // Bus [9 : 0]
.douta(douta)); // Bus [43 : 0]
然后调用sinplify,对其进行综合,结果很不顺利。首先是synplify报不支持器件,才发现synplify 9.6.2是2008年的产品,比Spartan6器件还要老。更新到Synplify Pro D-2010.03之后,器件是支持了,但是一综合就报错停止了,却不提示有什么错误。查看工程文件夹下面的.log和.srr文件,里面也是啥信息都没给。没办法,只好切换会使用XST进行综合。这回能给出信息了:因为例化了28次,所以有28个错误,全部提示ERROR:HDLCompilers:26 - "f7.v" line 49 unexpected token: 'rrra'。
HDLCompilers:26这个错误,一般情况下是把wire类型的值赋给了reg型的变量才提示的,但是仔细检查了程序没有发现有不对的类型声明,非常纳闷。思考了好久才发现,问题竟然就出在IP调用的身上。原来,我在使用rrra ROM0(start,addr0,temp0);调用之后,对应的douta它是一个端口,自然是wire类型的,而程序声明中temp0是一个reg型的,用来传递参数时因为类型不匹配自然提示错误了。
这里也发现了在ISE中调用synplify进行综合的一个不足之处,就是如果源程序中如果有错误的话,在直接调用synplify时,并不给出错误的具体信息,而是直接终止综合;没办法还得使用XST点击“check syntax”进行程序的语法检查,而在synplify环境下点击“syntax check”一样也能给出错误信息。看来二者的接口还不是非常完善吧。

6系列FPGA中使用块RAM的心得(4)_设计制作_处理器/DSP
12
34
0
24

相关资讯

  1. 1、新零售解析:新零售本质探索与未来进化3641
  2. 2、面试复盘:腾讯视频产品策划实习生(一面加二面)3976
  3. 3、除了拼团和砍价,社交电商还有微分销1102
  4. 4、刘强东近日内部演讲:京东为什么能成功?因为做到了这一点2856
  5. 5、一个APP运营跳槽微信生态运营的一周年复盘(拉新篇)2939
  6. 6、人人都想抓小精灵,PokemonGo这么火究竟能带来什么?3177
  7. 7、依照产品生命周期理论,如何在产品的引入期做好产品的口碑?4723
  8. 8、面试千万别犯的7个愚蠢错误1095
  9. 9、豆瓣“周边生活”正式向北京上海开放,导航小幅改版突出二级导航2461
  10. 10、农村电商的第二阶段,走出去难在哪?371
全部评论(0)
我也有话说
0
收藏
点赞
顶部