用Verilog实现流水移位寄存器,你需要了解这4种描述方法(一)( 二 )
data_in在clk上升沿,进入第一个REG的D端口,输出为q_ff,进入第二个REG的D端口,输出为q_2ff,进入进入第三个REG的D端口,输出为q_3ff。q_ff、q_2ff、q_3ff数据呈现出流水线特点。
下面我开始用4种方式对上面的电路进行描述,并且比较使用“非阻塞赋值”和“阻塞赋值”对电路的影响。
第一种描述方式,用“阻塞赋值”描述
使用“阻塞赋值”进行描述。
reg q_ff,q_2ff,q_3ff;
always@(posedge clk) begin
q_ff = data_in;
q_2ff = q_ff;
q_3ff = q_2ff;
end
以上的描述的结果是错误的。因为是“阻塞赋值”,所以data_in将覆盖掉中间REG的输出,直接在CLK的上升沿,将data_in赋给了第三个REG的输出q_3ff上面。具体的电路如下图所示:
推荐阅读
- 左慈|三国杀:技能缝接,超强发挥,用左慈就能实现
- 原神|原神:胡桃的流水超越雷神?胡桃的魅力太大,看看国外玩家怎么说
- 池子|原神:胡桃受欢迎所以流水高?别忘记策划的“小动作”,故意的!
- 商人|游戏商人的月入百万是真的吗?揭秘真实的剑三游戏商人真实现状
- 三国杀|梦幻西游:合宠10技能观照谛听后当场打书,一气呵成行云流水!
- 庄周|9号碎片商店更新一小时,庄周高山流水无人问津,榜首兑换量早已突破7位数
- fly|从电竞迈向艺术:Fly选手实现人生跨越,成历史第一人!
- 杨玉环|虎年3款限定提前曝光,30号高山流水下架,碎片商店加入新史诗
- nest|李白双喜临门,两款新皮肤却都是免费,高山流水兑换结束,皮肤即将下架
- 雷神|原神:胡桃流水太顶了!直逼历史第一的雷神,爆杀温迪可莉