• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于verilog的FPGA編程經驗總結

    基于verilog的FPGA編程經驗總結

    作者: 時間:2017-10-13 來源:網絡 收藏

    用了半個多月的ISE,幾乎全是自學起來的,碰到了很多很多讓人DT好久的小問題,百度也百不到,后來還是都解決了,為了盡量方便以后的剛學ISE的童鞋不再因為一些小問題而糾結,把這幾天的經驗總結了一下。好了,廢話不多說,上料!

    本文引用地址:http://www.czjhyjcfj.com/article/201710/365670.htm

    1.用ISE仿真的時候.所用變量一定要初始化. ISE默認初始量為XXXXX, 而Quarters是默認為00000的, 其實實際上, 下到里后也是默認為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. 一開始用時不要害怕,用ucf文件配好引腳,直接LOAD,先不用管什么區域約束,以后進階了再學. .

    11.暫時就記得這些,以后再補充吧.



    關鍵詞: verilog FPGA

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 尚志市| 司法| 柳林县| 伊宁市| 斗六市| 沂南县| 香港| 阿荣旗| 塔城市| 容城县| 菏泽市| 徐州市| 东台市| 开鲁县| 台北县| 鲜城| 孟津县| 延边| 新乡市| 应城市| 时尚| 大关县| 观塘区| 马公市| 安庆市| 三亚市| 色达县| 拉萨市| 青岛市| 元谋县| 蒲江县| 文成县| 财经| 金昌市| 江西省| 台江县| 宾阳县| 淮北市| 会同县| 吉首市| 泰兴市|