《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > HDL仿真器基于事件的仿真算法

HDL仿真器基于事件的仿真算法

2018-06-21
關(guān)鍵詞: HDL 仿真器 兩值邏輯

  目前,,HDL仿真器主要有三種實(shí)現(xiàn)算法(機(jī)制):基于時(shí)間的算法(Time-Based),、基于事件的算法(Event-Based,,EBS)和基于周期的算法(Cycle-Based,,CBS)

  基于時(shí)間的算法適合處理連續(xù)的時(shí)間及變量,,其會(huì)在每一個(gè)時(shí)間點(diǎn)對(duì)所有的電路元件進(jìn)行計(jì)算,。但是,在大部分情況下,,每一個(gè)時(shí)間點(diǎn)只有約2%~10%的電路處于活動(dòng)(運(yùn)行)狀態(tài),,所以該算法效率非常低。

  基于事件的算法適合處理離散的時(shí)間,、狀態(tài)和變量,。該算法只有在電路狀態(tài)發(fā)生變化時(shí)才進(jìn)行處理,只仿真那些可能引起電路狀態(tài)改變的元件,。仿真器響應(yīng)輸入引腳上的事件,,并將值在電路中向前傳播。目前來(lái)說(shuō),,該算法效率最高,,且應(yīng)用最為廣泛,大部分的商業(yè)仿真器都是基于該種算法進(jìn)行開發(fā)的,。用某仿真器廠家的宣傳語(yǔ),,就是“Evaluate When Necessary”。

  基于周期的仿真算法以時(shí)鐘周期為處理單位(與時(shí)間無(wú)關(guān)),。其旨在時(shí)鐘邊沿進(jìn)行計(jì)算,,不管時(shí)鐘周期內(nèi)的時(shí)序,且只是用兩值邏輯(0和1),。該算法主要針對(duì)的是大規(guī)模設(shè)計(jì)(尤其是數(shù)字IC設(shè)計(jì)),,且只能應(yīng)用于同步電路。

  下面詳細(xì)介紹一下基于事件的仿真算法:

1.png

  仿真器在編譯數(shù)據(jù)結(jié)構(gòu)時(shí)建立一個(gè)事件隊(duì)列,;

  只有當(dāng)前時(shí)間片中所有事件都處理完成之后,,時(shí)間才能向前;

  仿真從時(shí)間0開始,,而且時(shí)輪只能向前推進(jìn),。只有時(shí)間0的時(shí)間處理完后才能進(jìn)入下一時(shí)間片;

  在同一個(gè)時(shí)間片內(nèi)發(fā)生的事件在硬件上是并行的,;

  理論上時(shí)間片可以無(wú)限,,但實(shí)際上受硬件(如電腦的CPU等)和軟件(如該仿真軟件是否支持多線程技術(shù)等)的限制。

  而基于周期的算法只會(huì)在時(shí)鐘的邊沿來(lái)計(jì)算組合邏輯的輸出結(jié)果,,因此基于周期的算法速度更快,,內(nèi)存的使用效率更高。同時(shí),,因?yàn)榛谥芷诘乃惴ú辉试S進(jìn)行嚴(yán)格的時(shí)間約束,,所以其仿真時(shí)間精度沒有基于事件的算法高(since cycle-based simulators do not allow detailed timing specificity, they are not as accurate. )。基于周期的算法的原理圖,,如下圖所示:

2.png

  基于事件的算法,基于周期的算法和傳統(tǒng)的電路仿真軟件SPICE的比較圖:

3.png

  目前基于事件的算法的仿真器(EBS Simulator)主要有:

  Modelsim,、ActiveHDL,、NC-Verilog、Verilog-XL,、VCS(Verilog),、Scirocco(VHDL)等。

  基于周期的算法的仿真器(CBS Simulator)主要有:

  Modelsim,、Synopsys Cobra等,。

  其中Modelsim同時(shí)支持EBS和CBS。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。