作者:荒原绿树fy | 来源:互联网 | 2023-06-06 09:42
本文主要分享【fpga编程锁定中间变量】,技术文章【【FPGA_014】写testench时,等待上升沿语句,@(posedgeclk)要用非阻塞赋值】为【刻一】投稿,如果你遇到FPGA相关问题,
本文主要分享【fpga编程锁定中间变量】,技术文章【【FPGA_014】写testench时,等待上升沿语句,@(posedge clk)要用非阻塞赋值】为【刻一】投稿,如果你遇到FPGA相关问题,本文相关知识或能到你。
fpga编程锁定中间变量
写testench时,使用等待上升沿语句,@(posedge clk)要用非阻塞赋值
例如,激励信号为输入信号D,你的被测模块要会对此信号延迟一拍
如果,你用阻塞赋值激励信号,那么你的这一拍就不会延迟,而是和激励信号完全相等,如下图的Q
原因:
阻塞赋值在上升沿之前某段时间;非阻塞赋值在上升沿之后某段时间;寄存器采样是在时钟上升沿之前的某段时间里,而赋值是在时钟上升沿之后的某段时间里
所以,激励信号D阻塞赋值,在上升沿之前赋值,而寄存器Q在上升沿之前采到了这一变化,又在时钟上升沿之后进行赋值,所以看起来,他们是完全相等的。
可参考这篇文章
modelsim中用非阻塞赋值仿真遇到的问题 - CSDN博客
本文《【FPGA_014】写testench时,等待上升沿语句,@(posedge clk)要用非阻塞赋值》版权归刻一所有,引用【FPGA_014】写testench时,等待上升沿语句,@(posedge clk)要用非阻塞赋值需遵循CC 4.0 BY-SA版权协议。