示例代码中'localparam CMD_MSB = 7;'在单独的项目文件中创建。其他三行在我的设计文件中。 CMD_MSB 可以在我不知情的情况下更改值。有没有办法在我的设计文件中使用 localparam、$bits 或其他内容作为最后一行的 8'b 来处理 CMD_MSB 值的更改?
localparam CMD_MSB = 7; // Project file
logic [CMD_MSB:0] cmd; // My design file
logic wr_cmd, cmd_vld; // My design file
assign cmd_vld = wr_cmd & (cmd == 8'b0_01_???_01); // My design file
^^^
您可以使用串联来构建解码值,如下所示:
module tb();
localparam CMD_MSB = 7; // Project file
localparam OTHER_BITS_1 = 4'hf;
localparam OTHER_BITS_2 = 4'hf;
localparam USED_AS_DECODE = {CMD_MSB,OTHER_BITS_1,OTHER_BITS_2};
logic [CMD_MSB:0] cmd; // My design file
logic wr_cmd, cmd_vld; // My design file
assign cmd_vld = wr_cmd & (cmd == USED_AS_DECODE); // My design file
endmodule