diff options
author | Clifford Wolf <clifford@clifford.at> | 2016-04-13 17:29:33 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2016-04-13 17:29:33 +0200 |
commit | fb3178c4b7d5244050b4438ec617f19d53024627 (patch) | |
tree | 7cc811adef536dc589609f92bddfde6a31275922 /picorv32.v | |
parent | 6a7ed87d1aa0521593818f6844dcbe36772c97bf (diff) | |
download | picorv32-fb3178c4b7d5244050b4438ec617f19d53024627.tar.gz picorv32-fb3178c4b7d5244050b4438ec617f19d53024627.zip |
Fixed dbg_ signals: no latches (formal verification doesn't like latches)
Diffstat (limited to 'picorv32.v')
-rw-r--r-- | picorv32.v | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -597,13 +597,34 @@ module picorv32 #( if (instr_timer) new_ascii_instr = "timer"; end + reg [63:0] q_dbg_ascii_instr; + reg [31:0] q_dbg_insn_imm; + reg [31:0] q_dbg_insn_opcode; + reg [4:0] q_dbg_insn_rs1; + reg [4:0] q_dbg_insn_rs2; + reg [4:0] q_dbg_insn_rd; + always @(posedge clk) begin + q_dbg_ascii_instr <= dbg_ascii_instr; + q_dbg_insn_imm <= dbg_insn_imm; + q_dbg_insn_opcode <= dbg_insn_opcode; + q_dbg_insn_rs1 <= dbg_insn_rs1; + q_dbg_insn_rs2 <= dbg_insn_rs2; + q_dbg_insn_rd <= dbg_insn_rd; + if (decoder_trigger && !decoder_pseudo_trigger) begin dbg_insn_addr <= next_pc; end end always @* begin + dbg_ascii_instr = q_dbg_ascii_instr; + dbg_insn_imm = q_dbg_insn_imm; + dbg_insn_opcode = q_dbg_insn_opcode; + dbg_insn_rs1 = q_dbg_insn_rs1; + dbg_insn_rs2 = q_dbg_insn_rs2; + dbg_insn_rd = q_dbg_insn_rd; + if (decoder_trigger_q && !decoder_pseudo_trigger_q) begin dbg_ascii_instr = new_ascii_instr; if (&mem_rdata_q[1:0]) |