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

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