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

Is there a 'var' type in Verilog to store results?

我在 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

在 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