Verilog中是否存在'var'类型来存储结果?

时间:2015-10-04 02:38:01

标签: verilog hdl

我在Verilog中有这个注册... 我想知道是否有办法将WIDTH-1的结果存储在var中,因此不会对每个端口重复。

欢迎任何关于我的代码的其他推荐!

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

parameter   WIDTH = 8;

input       [WIDTH-1:0] d;
input       clk;
input       reset;

output      [WIDTH-1:0] q;

reg         [WIDTH-1:0] q;

always @(posedge clk or negedge reset) begin
    case (reset)
        1'b1:       q <= d;
        default:    q <= 1'b0;
    endcase
end

endmodule

1 个答案:

答案 0 :(得分:1)

在Verilog中这样做的方法是:

 module asynchronous_register #(parameter WIDTH=8, localparam MSB=WIDTH-1) ( 
   input       [MSB:0] d,
   input       [MSB:0] clk,
   input       [MSB:0] reset,

   output reg  [MSB:0] q
  );
always @(posedge clk or negedge reset) begin
    case (reset)
        1'b1:       q <= d;
        default:    q <= 1'b0;
    endcase
end

endmodule