日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

【转】Isim——基本技巧

發(fā)布時(shí)間:2023/12/15 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 【转】Isim——基本技巧 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

來源:電子產(chǎn)品世界;

注:本文由NingHeChuan本人多出整理所得,原文章圖片不清晰,自己整理配圖后重新發(fā)表

  安裝好ISE,系統(tǒng)已經(jīng)自帶了ISim仿真軟件,相比于專業(yè)的仿真軟件Modelsim,ISim是免費(fèi)的,不用編譯庫,小型設(shè)計(jì)仿真速度較快,對(duì)于輕量級(jí)的設(shè)計(jì)應(yīng)該是完全足夠的。Modelsim作為專業(yè)的仿真軟件,具備了ISim的所有功能,同時(shí)還具備了ISim不具備的功能比如波形顯示,任意添加中間變量到波形圖中,數(shù)據(jù)導(dǎo)出等。不過能夠真正用好ISim,掌握住仿真技巧,你就無敵啦。

  先來看看ISim的界面吧,跟ISE的界面類似,在界面的上方是菜單欄,和一些功能菜單,界面中間是波形界面,界面的下面是控制臺(tái)窗口和一些其他功能窗口,界面的左側(cè)包含了仿真的工程文件(Instances and Processes Name),對(duì)應(yīng)文件的輸入輸出端口(Objects)等,這些窗口都是可以自由拖動(dòng)的,可以將窗口的位置擺放到一個(gè)自己習(xí)慣的位置,如果沒有這些窗口,可以點(diǎn)擊菜單欄的View -> Panels 勾選需要顯示的窗口即可。

技巧一:更改數(shù)據(jù)顯示格式

  ISim在仿真時(shí)默認(rèn)是二進(jìn)制格式,為了方便顯示,我們可以更改其顯示的格式,右鍵單擊需要更改顯示格式的數(shù)據(jù)上,Radix -> 選擇合適的格式即可(如圖2所示),Binary(二進(jìn)制),Hexadecimal(十六進(jìn)制),Unsigned Decimal(無符號(hào)十進(jìn)制數(shù)),Signed Decimal(有符號(hào)十進(jìn)制數(shù)),Octal(八進(jìn)制),ASCII(ASCII碼)。如果發(fā)現(xiàn)高低位不對(duì),可以選擇 Reverse bit order(反轉(zhuǎn)bit順序,即高位和地位對(duì)換)。

  對(duì)于1bit數(shù)據(jù),有些人不喜歡看一個(gè)孤零零的線(類似于圖1中的CLK_62M5),可以選中這個(gè)數(shù)據(jù)右鍵單擊,選擇New Virtual Bus,然后修改名字為原來的信號(hào)名字,以防忘記。如圖3所示,為修改后的數(shù)據(jù),將CLK_62M5修改成了New Virtual Bus形式,將datain更改成了無符號(hào)十進(jìn)制數(shù)。

  

技巧二:查看中間變量

  有些時(shí)候由于溝通不到位,導(dǎo)致模塊與模塊之間的連接出現(xiàn)問題,則需查看中間變量來確定問題所在。

  在Instances and Processes Name 窗口中選擇對(duì)應(yīng)的非頂層模塊(中間模塊),會(huì)在Objects中出現(xiàn)可以添加到波形文件的信號(hào)名字,選擇需要添加信號(hào),可以直接拖到波形文件列表中,也可以右鍵添加至波形文件列表中(如圖4所示),或者按(Ctrl+W)添加對(duì)應(yīng)信號(hào)到波形文件中。

  為了方便再次仿真,能夠看到這些中間變量,而不用手動(dòng)添加(對(duì)更改數(shù)據(jù)顯示格式也適用),可以保存波形文件,F(xiàn)ile -> Save As 輸入你想要的名字即可,關(guān)閉ISim時(shí)記得保存波形文件。再次仿真時(shí),ISim不會(huì)直接調(diào)用你保存的波形文件,而是一個(gè)defalut.wcfg,此時(shí)只需通過File->Open打開你保存的波形文件,然后重新仿真即可。

技巧三:斷點(diǎn)調(diào)試

  斷點(diǎn)調(diào)試是一個(gè)十分方便的功能,可以查看指定位置是否有錯(cuò)誤,方便debug程序。相對(duì)與其他仿真,F(xiàn)PGA是并行執(zhí)行,更多的時(shí)候是查看波形是否正確,通過波形發(fā)現(xiàn)錯(cuò)誤,進(jìn)而定位到對(duì)應(yīng)的語句或者狀態(tài),然后斷點(diǎn)查找錯(cuò)誤。

  在Instances and Processes Name窗口中,雙擊對(duì)應(yīng)模塊,則可打開對(duì)應(yīng)的.v文件,然后在需要的地方加入斷點(diǎn),此時(shí)點(diǎn)擊reset(Ctrl+Shift+F5)按鈕,然后點(diǎn)擊run all(F5)運(yùn)行,即可運(yùn)行到斷點(diǎn)處。此時(shí)可以點(diǎn)擊單步(step 快捷鍵F11)執(zhí)行按鈕,查看是否有bug。

技巧四:產(chǎn)看Memory

  很多時(shí)候我們需要查看我們的存儲(chǔ)空間是否正確的存儲(chǔ)了我們所需的值;有些時(shí)候會(huì)遇到,明明給了使能,卻沒有數(shù)據(jù)輸出,或者數(shù)據(jù)輸出時(shí)錯(cuò)誤的,此時(shí),若能夠真實(shí)的看一看存儲(chǔ)器的狀態(tài),然后在波形文件中添加入存儲(chǔ)器相關(guān)的變量,就很有可能發(fā)現(xiàn)問題了。

  點(diǎn)擊Memory窗口,如果沒有發(fā)現(xiàn)Memory窗口,可以點(diǎn)擊菜單欄的View -> Panels 勾選,然后雙擊需要顯示的內(nèi)存空間,則可打開對(duì)應(yīng)的memory空間。

默認(rèn)顯示的數(shù)值為二進(jìn)制,可以修改數(shù)據(jù)顯示的格式(二進(jìn)制、十進(jìn)制有符號(hào)數(shù)、十進(jìn)制無符號(hào)數(shù)、十六進(jìn)制、八進(jìn)制、ASCII碼),同時(shí)也可以修改地址顯示的格式。如果要查找某個(gè)地址的值,只需在地址欄中輸入這個(gè)值,按回車即可。

技巧五:添加塊

  添加塊不是添加模塊,而是添加一個(gè)實(shí)心方塊或者分組,可以將不同模塊之間的信號(hào),分個(gè)開,方便查看。如圖8所示。

  這樣添加分割線和分組后看起來就很方便了,一眼就看清楚了信號(hào)的作用以及所在模塊的,十分方便。

  點(diǎn)擊波形文件的Name 空白處,右鍵 –> New Divider/New Group,即可添加分割和分組,當(dāng)然也可以選中需要加入分組的信號(hào),然后右鍵 – > New Group然后修改為相應(yīng)的名字即可,如圖9所示。

技巧七:測量時(shí)間

  在有些時(shí)候,需要測量兩個(gè)信號(hào)之間的時(shí)間間隔,可以通過如下方式來實(shí)現(xiàn)。

  如果只是簡單的測量兩個(gè)邊沿的時(shí)間間隔,如圖10所示,可先按著鼠標(biāo)左鍵選中一個(gè)邊沿,然后拖動(dòng)鼠標(biāo)到另一個(gè)邊沿,此時(shí)在波形的下面將出現(xiàn)時(shí)間軸,則可測量兩個(gè)上升沿之間的時(shí)間。

                

  如果需要測量的時(shí)間太多,可以添加Marker,鼠標(biāo)左鍵單擊擊到要加入標(biāo)記的地方,然后點(diǎn)擊標(biāo)記按鈕,或者右鍵 –> Markers->Add Marker,此時(shí)并不能出現(xiàn)時(shí)間軸,鼠標(biāo)單擊Marker線,藍(lán)色的線將變成白色,并以此為時(shí)刻0點(diǎn),此時(shí)就可以看到時(shí)間間隔啦,如圖11所示。

技巧八:重仿真

  在編寫verilog模塊后,很重要的一部分就是對(duì)所編寫的模塊進(jìn)行仿真。而在仿真過程中,很重要的一部分就是觀察波形。這里所談的技巧其實(shí)是對(duì)于我個(gè)人而言,可能大部分人都已經(jīng)知道。但還是記錄下來,算是對(duì)我自己的提醒吧。

  現(xiàn)在想想還是覺得好笑,以前每次打開波形窗口的時(shí)候,都是點(diǎn)擊下圖的Simulate Behavioral Model.每次修改了代碼,都是關(guān)掉原來的波形窗口,然后再重新點(diǎn)擊打開,麻煩程度不言而喻(好吧,當(dāng)初因?yàn)槌绦蚝唵危鋵?shí)還不覺得很麻煩。)

  現(xiàn)在明白了,對(duì)于這種情況,肯定是會(huì)有簡單的操作的,否則這用戶體驗(yàn)也太差了。

  當(dāng)然,第一次仿真打開波形窗口時(shí),還是老方法,點(diǎn)擊上圖的Simulate Behavioral Model。添加內(nèi)部信號(hào)以及修改數(shù)值進(jìn)制后結(jié)果如下圖(這里采用的是一個(gè)FIFO讀寫程序,程序不是這里需要在意的問題,我們只關(guān)心軟件的操作)。

  下面我們通過修改din[3:0]的初始值來反映這個(gè)過程,由上圖可知,din[3:0]的初始值為6.接下來我把代碼中din[3:0]的初始值改為0后重新觀察波形,那該如何操作呢?千萬不要像我以前那么傻的關(guān)掉現(xiàn)有窗口然后重新仿真打開了。這樣我們又要重新添加內(nèi)部信號(hào)以及修改數(shù)值顯示了。

方便的步驟應(yīng)該是,首先,將該波形保存,這部很簡單就不貼圖了,保存的其實(shí)就是你對(duì)該窗口的各種配置,哪怕以后你重新打開軟件,也可以通過打開之前保存的波形配置來查看仿真波形,而不用重新配置了。

保存后,修改完代碼(這里我把din[3:0]的初始值改為0,另外,代碼要記得保存,保存后代碼才能生效),然后點(diǎn)擊波形窗口的re-launch(如果之前沒進(jìn)行保存操作的話,點(diǎn)擊re-launch后軟件也會(huì)提示你保存的).就可以看到仿真波形發(fā)生了變化,din[3:0]的初始值由之前的6變成了0.

  另外,關(guān)于re-launch邊上的那幾個(gè)按鈕,也都是很有用處的,尤其仿真時(shí)間設(shè)置的,甚至有的時(shí)候還會(huì)因?yàn)檫@些設(shè)置的問題導(dǎo)致老是不能出現(xiàn)預(yù)期結(jié)果,這些操作很簡單,就不一一解釋了,大家稍微用用就知道了。

  注意:當(dāng)你每次修改完test_bench文件后,就不用關(guān)閉isimulator,重新打開,這樣可以提高仿真的效率。

技巧九:改變波形顏色

  在進(jìn)行比較大的工程進(jìn)行仿真時(shí),信號(hào)比較多,仿真起來不容易查看波形,所以可以選中信號(hào)右鍵點(diǎn)擊 signal color,可以把你的信號(hào)設(shè)置成各種你喜歡的顏色,這樣便提高了仿真的效率!

技巧十:重新打開之前配置好的仿真分組

我們?yōu)榱朔抡娣奖悖淮畏抡婧髮⒎抡嫠渲玫姆纸M和文件保存到指定文件夾,為了后面再次打開。

如下圖,右鍵點(diǎn)擊Simulate Behavioral Model,選擇Process Properties。

勾選Use Custom Waveform Configuration File這一選項(xiàng)

在下面那一欄添加你剛才保存的仿真文件路徑,完成后點(diǎn)擊apply。

如下圖,右鍵點(diǎn)擊Simulate Behavioral Model,點(diǎn)擊Run ,這樣你就可以打開自己原來所配置的仿真分組文件了。

最后

  仿真真的是很重要,我學(xué)習(xí)了一年FPGA才真正算的是仿真能力入了門,如果對(duì)于一個(gè)工程仿真做的好的話,可以節(jié)省你很多時(shí)間的。這是我最近用的vivodo中的Isim做的仿真,算是充分利用了仿真工具,這么久以來,這可能是我做過的最漂亮的仿真了!

轉(zhuǎn)載請(qǐng)注明出處:NingHeChuan(寧河川)

個(gè)人微信訂閱號(hào):NingHeChuan

如果你想及時(shí)收到個(gè)人撰寫的博文推送,可以掃描左邊二維碼(或者長按識(shí)別二維碼)關(guān)注個(gè)人微信訂閱號(hào)

知乎ID:NingHeChuan

微博ID:NingHeChuan

原文地址:http://www.cnblogs.com/ninghechuan/p/6214706.html

總結(jié)

以上是生活随笔為你收集整理的【转】Isim——基本技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。