合成的结果是什么?

时间:2015-02-07 08:55:04

标签: verilog vlsi

我试图按如下方式实施登机。 但我不确定它是如何合成的?

案例1

wire [3:0] A, B, C, D;  
always @(posedge CLK)
    begin
        C=B;
        B=A;
        A=D;
    end

案例2

wire [3:0] A, B, C, D;
always @(posedge CLK)
    begin
        A=D;
        C=B;
        B=A;
     end

另外

案例3

wire [3:0] A, B, C, D;
always @(posedge CLK)
    begin
C<=B;
B<=A;
A<=D;
    end

案例4

wire [3:0] A, B, C, D;
always @(posedge CLK)
    begin
A<=D;
C<=B;
B<=A;
    end

有谁知道如何合成到门? 你能说明一下吗?

1 个答案:

答案 0 :(得分:2)

这些示例都不应编译,变量应为reg类型:

D需要声明它是如何生成的。

reg [3:0] A, B, C;
always @(posedge CLK) begin
  A<=D;
  C<=B;
  B<=A;
end

这里A,C和B将合成触发器。 A,C和B的顺序无关紧要。它们描述了并行硬件。