verilog中执行always @(posedge clk) beign a<=a+1;end操作
请问这个赋值是在clk的上升沿完成,还是在上升沿过后延迟一定时长再完成(实际电路中的信号变化)。时序仿真过程中的这种波形对吗,就是在恰好在上升沿改变其值...
请问这个赋值是在clk的上升沿完成,还是在上升沿过后延迟一定时长再完成(实际电路中的信号变化)。
时序仿真过程中的这种波形对吗,就是在恰好在上升沿改变其值 展开
时序仿真过程中的这种波形对吗,就是在恰好在上升沿改变其值 展开
展开全部
对的,实际电路中因为寄存器(D触发器)是由带反馈的逻辑门构成,所以从clk变化到输出变化必然会有一点延迟,大概是几个逻辑门的延迟。你那个modelsim的仿真应该是功能仿真阶段默认不考虑延迟。所以是恰好上升沿改变值。考虑逻辑门的延迟要映射到具体器件上,是时序分析时做的事情
更多追问追答
追问
可是我是用的gate level的时序仿真,上面这个是我在testbench中写的激励信号,每个时钟周期加1,仿真结果如图,我也感觉应该有点延迟才对
追答
门级仿真仿的是电路转化成单元库时进行的功能验证仿真(查文档的原话),我觉得由于全部计算延迟的仿真和动态时序仿真差不多,modelsim应该不提供这个仿真,只有静态时序验证,动态时序仿真太费时,现在在大规模电路中还无法应用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询