ISE入門三部曲
雙擊 Simulate Behavioral Model,將進入ISE自帶的仿真軟件,如圖17所示,從波形圖中可以清楚的看到自己寫的程序是否達到了自己所需的功能要求,當然也可以利用Isim進行斷點調試,查看中間變量是否正確,也可以利用Isim查看用IP核生成的存儲器內部的值。Isim雖然是ISE自帶的仿真軟件,與專業的仿真軟件還有一定距離,但是不可否認的是Isim很方便快捷,很多時候利用Isim進行仿真已經完全足夠了。
本文引用地址:http://www.j9360.com/article/159138.htm如果你只是完成一個功能任務,不用下載到硬件板卡上,仿真結果也是正確的,那么此時你的任務已經完成了,深深的祝福你,完成了任務哈。
如果需要下載到硬件平臺上,下一步需要建立引腳約束文件(即將模塊的輸入和輸出連接到真實的引腳上),然后生成bit文件,下載到板卡上即可。

在編寫Verilog時常見的錯誤如下:
寫了begin,忘了寫end,檢查時將代碼的縮進調整好,每一級都有不同的縮進,這樣一眼就看出哪里少了end。
case語句少了endcase,這個地方比較容易遺忘,一旦少了endcase,endcase之后的語句都會報語法錯誤(Syntax error),如果只是根據編譯器提示的錯誤行,那就沒法找到錯誤了,編程的時候習慣一定要好,寫一個case,順便就把,default和endcase都寫上吧。
if語句少了else,這個和第二錯誤類似,else之后的語句都會報語法錯誤,加上else之后,錯誤全都沒有了。
輸入了中文標點符號,如逗號和分號,這個時候一般錯誤只定位到一行上,你可能覺得沒有錯誤,不妨把這行刪掉再寫一次試試。
信號沒有初始化,仿真是全是x,一個原因是真的沒有初始化,ISE定義的一個信號,如果不給初始值的話,默認就是x;另外一個原因是,模塊與模塊之間連線沒有連上,如果一個模塊的信號不是和頂層連在一起而是和另外一個模塊連接在一起,則需要再定義,否則是沒有連上的。筆者曾經因為犯了這個錯誤,仿真時一直沒有信號輸出,苦惱了很久的。
阻塞賦值和非阻塞賦值用在了同一個always里面,這個是不允許的,阻塞(=)賦值是執行完了這一句才會執行下一句,非阻塞(<=)賦值是整個always都跑完了才執行。不過這個錯誤比較容易找,ISE報錯時會定位到相應的行。
可控硅相關文章:可控硅工作原理
比較器相關文章:比較器工作原理
評論