【FPGA_014】寫testench時,等待上升沿語句,@(posedge clk)要用非阻塞賦值

寫testench時,使用等待上升沿語句,@(posedge  clk)要用非阻塞賦值


例如,激勵信號爲輸入信號D,你的被測模塊要會對此信號延遲一拍

如果,你用阻塞賦值激勵信號,那麼你的這一拍就不會延遲,而是和激勵信號完全相等,如下圖的Q



原因:

  1. 阻塞賦值在上升沿之前某段時間;
  2. 非阻塞賦值在上升沿之後某段時間;
  3. 寄存器採樣是在時鐘上升沿之前的某段時間裏,而賦值是在時鐘上升沿之後的某段時間裏

所以,激勵信號D阻塞賦值,在上升沿之前賦值,而寄存器Q在上升沿之前採到了這一變化,又在時鐘上升沿之後進行賦值,所以看起來,他們是完全相等的。

可參考這篇文章

modelsim中用非阻塞賦值仿真遇到的問題 - CSDN博客   


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章