您的位置 首页 新能源

根据verilog的FPGA编程经验总结

基于verilog的FPGA编程经验总结-用了半个多月的ISE,几乎全是自学起来的,碰到了很多很多让人DT好久的小问题,百度也百不到,后来还是都解决了,为了尽量方便以后的刚学ISE的童鞋不再因为一些小

用了半个多月的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 cant 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.暂时就记住这些,今后再弥补吧.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/179576.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部