casez 在合成过程中是否将分配给 z 的导线视为高阻抗?
Does casez consider wires assigned z as high impedance during synthesis?
我正在设计一个 R3000 MIPS 处理器,对于指令解码器,我想给出一个 casez,这样对于涉及立即指令(例如 ADDI、ANDI)的情况,我提供位 6:0 作为 z。我只想知道这里 {opcode, func} 当 case 为 z 时它是否被合成为高阻抗开路连接?
module Instr_decoder (
input logic [31:0] instr,
output logic regDest,
output logic jump,
output logic branch,
output logic memtoReg,
output logic memRead,
output logic memWrite,
output logic ALUSrc,
output logic signExtendInstruction,
output logic immediateInstruction,
output logic regWrite);
logic immediate_i;
logic [5:0] opcode;
logic [4:0] rs;
logic [4:0] rt;
logic [4:0] rd;
logic [15:0] immediate_data;
logic [4:0] shamt;
logic [5:0] func;
logic [25:0] target;
assign opcode = instr[31:26];
assign shamt = instr[10:6];
assign func = instr[5:0];
assign target = instr[25:0];
assign immediate_i = (opcode == (ADDI || ANDI || ORI || SLTI || XORI));
always_comb
begin
casez({opcode, func}
{6'h00, 6'h20} : ADD = 1;
{6'h08, 6'dz} : ANDI = 1;
您可以在模拟器上编译和执行的任何东西都可能是可综合的。这归结为您使用的工具是否具有识别代码并将其映射到硬件实现的算法。
顺便说一句,通常在 Verilog 数字文字中使用 ?
字符而不是 z
来表示 don't care 值 casez
语句。
我正在设计一个 R3000 MIPS 处理器,对于指令解码器,我想给出一个 casez,这样对于涉及立即指令(例如 ADDI、ANDI)的情况,我提供位 6:0 作为 z。我只想知道这里 {opcode, func} 当 case 为 z 时它是否被合成为高阻抗开路连接?
module Instr_decoder (
input logic [31:0] instr,
output logic regDest,
output logic jump,
output logic branch,
output logic memtoReg,
output logic memRead,
output logic memWrite,
output logic ALUSrc,
output logic signExtendInstruction,
output logic immediateInstruction,
output logic regWrite);
logic immediate_i;
logic [5:0] opcode;
logic [4:0] rs;
logic [4:0] rt;
logic [4:0] rd;
logic [15:0] immediate_data;
logic [4:0] shamt;
logic [5:0] func;
logic [25:0] target;
assign opcode = instr[31:26];
assign shamt = instr[10:6];
assign func = instr[5:0];
assign target = instr[25:0];
assign immediate_i = (opcode == (ADDI || ANDI || ORI || SLTI || XORI));
always_comb
begin
casez({opcode, func}
{6'h00, 6'h20} : ADD = 1;
{6'h08, 6'dz} : ANDI = 1;
您可以在模拟器上编译和执行的任何东西都可能是可综合的。这归结为您使用的工具是否具有识别代码并将其映射到硬件实现的算法。
顺便说一句,通常在 Verilog 数字文字中使用 ?
字符而不是 z
来表示 don't care 值 casez
语句。