-2
私はR3000 MIPSプロセッサを設計しています。命令デコーダでは、命令ADI、ANDIのような命令の場合、ビット6:0をzとして提供するようなcasezを与えたいと考えています。私はちょうどここで知りたいのですが(opcode、func)ケースがzのときに高インピーダンスのオープン接続に合成されますか?casezは合成中に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;
あなたは簡単に自分の質問に答えることができます。 – toolic
確かに、私はできます。しかし、Modelsimでシミュレーションを実行しているので、残念ながら合成レポートが表示されないため、私は理解できません。もう1つの選択肢は、この小さなブロックのコードを合成し、すべてのサブブロックで同様に処理することですが、これは不要な処理になります。これは設計全体のごく一部に過ぎないためです。 –
また、私はzがオープン(no)接続に合成されていることを知っていますが、casezを考慮に入れることは私の質問でした。 –