-1

如何将输入总线分配给输出总线,而不必分配每个索引(无循环)。

我有这样的想法:

module test(input [2:0] in, input CLK, output [2:0] out);
reg [2:0] state;
always @(posedge CLK) state <= in; 
assign out = state;

但是这段代码不起作用。我需要:out[0] = in[0], out[1] = in[1], out[2] = in[2]

4

1 回答 1

2

给出代码的问题:

  • CLK定义为 3 位输入,应为 1 位
  • ;第一行缺少分号 ( )
  • 缺少关键字endmodule

仅供参考:通过声明outoutput reg中间体state可以省略。

module test (
    input      [2:0] in,
    input            CLK, // <-- CLK is single bit
    output reg [2:0] out // <-- out is a reg type
    ); // <-- semicolon here

  always @(posedge CLK)
    out <= in; // <-- synchronous assignment

endmodule // <-- keyword
于 2014-12-16T17:20:03.623 回答