一个最简verilog代码的分析

module testmod(
input CLK,
output reg [1:0]acc
    );
    always@(posedge CLK)
        acc<=acc+2'd1;
endmodule

上述代码综合后的电路图为:

一个最简verilog代码的分析_第1张图片

分析1

假设在t1时刻,两个触发器的状态都是1,即acc=2'b11,此时半加器1的A端是1,则D触发器1的输入D端就是0,D触发器2的输入D端是0;

在t2时刻,D触发器1的Q输出端是0,D触发器2的Q输出端是0,则D触发器2的D输入端就是0,D触发器1的D输入端是1,此时acc=2'b00;

分析2

假设在t1时刻,acc=2'b01,此时半加器1的A端是1,则D触发器1的输入D端就是0,D触发器2的输入D端是1;

在t2时刻,D触发器1的Q输出端是0,D输入端是1,D触发器2的Q输出端是1,D输入端是0,此时acc=2'b10;

你可能感兴趣的:(fpga开发)