always块下模块的并行执行

问题描述 投票:0回答:1

我用verilog编写了一个模块来实现D触发器,如下所示:-

module d_flip_flop(q,d,clk,reset);

现在,我想用这个模块实现4位移位寄存器。所以我必须在always @(negedge clk)块内并行执行四个d触发器。我不知道如何始终并行执行四个用户定义的模块(或如何实例化)。我不想要 4 位移位寄存器的直接行为实现。

verilog
1个回答
3
投票

一种方法是创建 4 个实例,将其中一个的

q
输出连接到下一个的
d
输入:

wire [3:0] q;
d_flip_flop i0 (q[0], din , clk,reset);
d_flip_flop i1 (q[1], q[0], clk,reset);
d_flip_flop i2 (q[2], q[1], clk,reset);
d_flip_flop i3 (q[3], q[2], clk,reset);

无需使用

always
块。

© www.soinside.com 2019 - 2024. All rights reserved.