仿真是我們?cè)隍?yàn)證邏輯功能的常用手段。通過(guò)仿真,我們可以提早發(fā)現(xiàn)一些隱含的邏輯Bug。仿真一般分為功能仿真和時(shí)序仿真,有的時(shí)候也稱(chēng)作前仿真和后仿真。這兩者的主要區(qū)別是在功能仿真里暫時(shí)忽略了邏輯延時(shí)和布局布線(xiàn)延時(shí),仿真的模型相對(duì)簡(jiǎn)單,仿真的運(yùn)行速度更快。
可以用來(lái)驗(yàn)證功能的正確性。時(shí)序仿真通過(guò)反標(biāo)的方式將加入延時(shí)信息,這樣仿真的結(jié)果更接近實(shí)際芯片的工作情況。但正因?yàn)槿绱?,時(shí)序仿真的模型更為復(fù)雜,需要計(jì)算的信息更多,運(yùn)行的時(shí)間更長(zhǎng)。一般情況下,我們首先通過(guò)邏輯仿真驗(yàn)證功能,然后再運(yùn)行時(shí)序仿真驗(yàn)證時(shí)序的正確性。
當(dāng)然現(xiàn)在也有一些做法是在做功能仿真的時(shí)候,人為的設(shè)定一些延時(shí),雖然不能百分之百的擬合實(shí)際的芯片運(yùn)行情況,但可以覆蓋大多數(shù)的應(yīng)用場(chǎng)景。帶來(lái)的好處是仿真的運(yùn)行比時(shí)序仿真要快很多。
各個(gè)EDA公司都有自己的仿真工具,針對(duì)FPGA/CPLD來(lái)說(shuō),用的比較多的是Modelsim和Aldec。無(wú)論用哪個(gè)仿真工具,有一個(gè)細(xì)節(jié)經(jīng)常會(huì)被初學(xué)者會(huì)忽略。在設(shè)計(jì)好testbench后,編譯都沒(méi)有問(wèn)題,但在開(kāi)始仿真的時(shí)候,軟件會(huì)報(bào)類(lèi)似這樣的錯(cuò)誤:
Fatal Error: ELAB2_0036 Unresolved hierarchical reference to“PUR_INST.PURNET” from module“tb_cdr_tb.UUT.top_cdr_u.receive_top_u.serial_data_in.FF_3” (modulenot found)。
Fatal Error: ELAB2_0036 Unresolved hierarchical reference to“GSR_INST.GSRNET” from module “tb_cdr_tb.UUT.top_cdr_u.receive_top_u.serial_data_in.FF_3”(module not found)。
這是因?yàn)樵谛酒ぷ鞯臅r(shí)候,內(nèi)部有PUR(Power Up Reset)和GSR(Global Set/Reset)模塊產(chǎn)生上電復(fù)位信號(hào)和接入全局復(fù)位/置位信號(hào)。這個(gè)信號(hào)在做綜合的時(shí)候是自動(dòng)生成并加入的設(shè)計(jì)中的,但在仿真的時(shí)候編譯并不會(huì)加入這兩個(gè)模塊。所以如果要做仿真,一定要在你的testbench中加入這樣一段描述:
PUR PUR_INST(.PUR(1‘b1));
GSRGSR_INST(.GSR(1’b1));
本站資訊文章系編輯轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)?jiān)?0日內(nèi)與本站聯(lián)系,我們將在第一時(shí)間刪除內(nèi)容!
[聲明]本站文章版權(quán)歸原作者所有 內(nèi)容為作者個(gè)人觀(guān)點(diǎn) 本站只提供參考并不構(gòu)成任何投資及應(yīng)用建議。
本站擁有對(duì)此聲明的最終解釋權(quán)。
編輯;jq
-
FPGA
+關(guān)注
關(guān)注
1645文章
22018瀏覽量
616999 -
芯片
+關(guān)注
關(guān)注
459文章
52383瀏覽量
439117 -
cpld
+關(guān)注
關(guān)注
32文章
1257瀏覽量
171306 -
仿真
+關(guān)注
關(guān)注
52文章
4255瀏覽量
135598
發(fā)布評(píng)論請(qǐng)先 登錄
使用STM32CubeMX進(jìn)行配置USB的時(shí)候,有哪些小的需要注意的細(xì)節(jié)?
功放設(shè)計(jì)仿真的一般步驟

機(jī)器人仿真的類(lèi)型和優(yōu)勢(shì)

調(diào)試THS4021,用Tina仿真的時(shí)候最大只能到6V左右,為什么?
在TINA里仿真的時(shí)候用TLV2460作前置放大,請(qǐng)問(wèn)EN引腳如何接?
用opa690做一個(gè)濾波器,出來(lái)的效果和仿真的完全不一樣,為什么?
仿真的時(shí)候在哪些地方添加寄生電容呢?
在做VF變換,仿真的時(shí)候始終得不到結(jié)果,為什么?
LMH3401仿真報(bào)錯(cuò)的原因有哪些?
設(shè)計(jì)的放大電路做出實(shí)物以后,放大倍數(shù)比原理圖仿真的時(shí)候偏小是為什么?
OPA847用multisim進(jìn)行運(yùn)放電路仿真的時(shí)候,需要將運(yùn)放的差模輸入電容與共模輸入電容畫(huà)出來(lái)嗎?
求助,關(guān)于OPA818搭建TIA時(shí)候的穩(wěn)定性問(wèn)題求解
用THP210做單端轉(zhuǎn)差分應(yīng)用,仿真的波形里怎么總有個(gè)尖尖?
AMI參數(shù)掃描與仿真的實(shí)際應(yīng)用和實(shí)現(xiàn)方法

評(píng)論