基于verilog的FPGA编程经验总结

用了半个多月的ISE,几乎全是自学起来的,碰到了很多很多让人DT好久的小问题,百度也百不到,后来还是都解决了,为了尽量方便以后的刚学ISE的童鞋不再因为一些小问题而纠结,把这几天的经验总结了一下。好了,废话不多说,上料!

1.用ISE仿真的时候.所用变量一定要初始化. ISE默认初始量为"XXXXX", 而Quarters是默认为"00000"的, 其实实际上, 下到FPGA里后也是默认为0的,只是可以说ISE严谨得令人DT吧.

比如说用一个累加器, result = A+B+result ,必须保证在某一刻A, B, result都为定值时, 之后的数据才不会一直为"XXXXX";

2.所有的中间线(就是module间用来传递参数的信号)都要用wire定义一下. 这个ise一般会提醒的;

3.任何一个warning都是有用的;

4.debug时要多把中间变量设成输出,然后查看仿真波形;

5.其实,新版本还是比较好用的.虽然取消了test bench wave 功能. 但是最好学会编测试文件,后期比test bench wave好用, 而且貌似一旦测试信号太多,test bench wave就不显示某些输出了;

6. warning: Nod <....> is unconnected. 表明<...>所在的模块没用被执行,一般是参数没进来, 或者进来的参数不对("XXXX"之类)的原因引起的.

7.建立rom时候,Error: sinrom can't be resolved. 因为在把程序挪地方的时候,sinrom.ngc文件没有一同拷过来.

8.把"XXXXX"信号处理掉的一个方法可以是: 从信号中随意选出一位 if (data[0] == 0) ....; else if (data[0] == 1).... else data = 0; 就可以把"XXXX"信号给清成"0000"了. 可以很好的解决1中仿真的问题.

9.如果某一个不是时钟的信号被当作周期信号来用的话,就会出现 WARNING:Route:455 - CLK Net:trn_clk_OBUF may have excessive skew. because 0 CLK pins and 1 NON_CLK pins failed to route using a CLK template 不管也行.

10. 一开始用FPGA时不要害怕,用ucf文件配好引脚,直接LOAD,先不用管什么区域约束,以后进阶了再学. .

11.暂时就记得这些,以后再补充吧.

基于verilog的FPGA编程经验总结_设计制作_嵌入式技术
14
71
0
80

相关资讯

  1. 1、《炮妹》新闻为你播报大白T恤萌翻全场350
  2. 2、芒果台又蹭肖战热度?《余生请多指教》发布新预告,却迟迟未定档2615
  3. 3、《流光之城》发布新剧照,景甜许魏洲上演民国虐恋,cp感一般3362
  4. 4、​得邦开发新渠道拓展国内外LED市场2527
  5. 5、《你的婚礼》票房率先破7亿,但《悬崖之上》反超只是时间问题!4240
  6. 6、《金霄大厦2》预告片曝光!好阴森、惊吓度100%2476
  7. 7、产品思维:推翻压在单身狗头上的两座大山!!4043
  8. 8、《西游萌萌》欧皇的化身打谁谁服气的燃灯古佛495
  9. 9、9天破10亿,两部好莱坞电影称霸内地,国产片就等古天乐救场910
  10. 10、什么是人工智能?人工智能发展前景怎么样?5003
全部评论(0)
我也有话说
0
收藏
点赞
顶部