Verilog的时序问题和SystemVerilog TestBench激励时序
Verilog時(shí)序問(wèn)題和SystemVerilog TestBench激勵(lì)時(shí)序
最近我溫習(xí)《SystemVerilog驗(yàn)證-測(cè)試平臺(tái)編寫(xiě)指南(第二版)》這本書(shū),看到了第4.3節(jié),激勵(lì)時(shí)序的問(wèn)題,還是花了一些時(shí)間去看。SV這條路任重道遠(yuǎn)。本文中大部分是摘錄,自己認(rèn)為是重要的就留下了,希望可以加深理解,留下一些積累。有志同道合的朋友可以一起探討,歡迎指教。
總述
TestBench和DUT之間的合理配合是非常重要的。在時(shí)鐘周期合適的時(shí)間點(diǎn),驅(qū)動(dòng)和接收同步信號(hào)顯得尤為重要。驅(qū)動(dòng)太晚或者采樣太早,測(cè)試平臺(tái)的動(dòng)作就可能錯(cuò)過(guò)一個(gè)時(shí)鐘周期。即使在同一個(gè)Time Slot中,比如同一個(gè)時(shí)刻100ns,TestBench和DUT也會(huì)引起競(jìng)爭(zhēng)。一個(gè)信號(hào)的同時(shí)被寫(xiě)入和讀出,讀取到的值到底是舊的還是新的,這是一個(gè)很大的問(wèn)題。在Verilog中,非阻塞賦值可以在TestBench驅(qū)動(dòng)DUT的時(shí)候解決掉這個(gè)問(wèn)題。但是TestBench不能夠確保采樣到的DUT的值是最新值。SystemVerilog中的幾種結(jié)構(gòu)或許可以對(duì)控制時(shí)序有所幫助。
使用時(shí)鐘塊控制同步信號(hào)的時(shí)序
時(shí)鐘塊主要是為了用來(lái)指定同步信號(hào)相對(duì)于時(shí)鐘的時(shí)序。在同一個(gè)時(shí)鐘塊中,所有的信號(hào)都會(huì)被同步的驅(qū)動(dòng)和采樣。這樣就保證了測(cè)試平臺(tái)在正確的時(shí)間點(diǎn)與信號(hào)進(jìn)行交互。時(shí)鐘塊主要是在TestBench中使用。
總結(jié)
以上是生活随笔為你收集整理的Verilog的时序问题和SystemVerilog TestBench激励时序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: XShell下载安装并连接阿里云
- 下一篇: 使用FreeMarker导出固定格式wo