Verilog的时序问题和SystemVerilog TestBench激励时序
生活随笔
收集整理的這篇文章主要介紹了
Verilog的时序问题和SystemVerilog TestBench激励时序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載請標明出處:
原文發布于:[淺嘗輒止,未嘗不可的博客](https://blog.csdn.net/qq_31019565)
Verilog時序問題和SystemVerilog TestBench激勵時序
最近我溫習《SystemVerilog驗證-測試平臺編寫指南(第二版)》這本書,看到了第4.3節,激勵時序的問題,還是花了一些時間去看。SV這條路任重道遠。本文中大部分是摘錄,自己認為是重要的就留下了,希望可以加深理解,留下一些積累。有志同道合的朋友可以一起探討,歡迎指教。
總述
TestBench和DUT之間的合理配合是非常重要的。在時鐘周期合適的時間點,驅動和接收同步信號顯得尤為重要。驅動太晚或者采樣太早,測試平臺的動作就可能錯過一個時鐘周期。即使在同一個Time Slot中,比如同一個時刻100ns,TestBench和DUT也會引起競爭。一個信號的同時被寫入和讀出,讀取到的值到底是舊的還是新的,這是一個很大的問題。在Verilog中,非阻塞賦值可以在TestBench驅動DUT的時候解決掉這個問題。但是TestBench不能夠確保采樣到的DUT的值是最新值。SystemVerilog中的幾種結構或許可以對控制時序有所幫助。
使用時鐘塊控制同步信號的時序
時鐘塊主要是為了用來指定同步信號相對于時鐘的時序。在同一個時鐘塊中,所有的信號都會被同步的驅動和采樣。這樣就保證了測試平臺在正確的時間點與信號進行交互。時鐘塊主要是在TestBench中使用。
總結
以上是生活随笔為你收集整理的Verilog的时序问题和SystemVerilog TestBench激励时序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XShell下载安装并连接阿里云
- 下一篇: 使用FreeMarker导出固定格式wo