diff --git a/rtl/debug/jtag_def.sv b/rtl/debug/jtag_def.sv index a558df6..95435b3 100644 --- a/rtl/debug/jtag_def.sv +++ b/rtl/debug/jtag_def.sv @@ -32,44 +32,44 @@ `define DMI_OP_WRITE 2'b10 // DM regs addr -`define Data0 6'h04 -`define Data1 6'h05 -`define Data2 6'h06 -`define Data3 6'h07 -`define Data4 6'h08 -`define DMControl 6'h10 -`define DMStatus 6'h11 -`define Hartinfo 6'h12 -`define AbstractCS 6'h16 -`define Command 6'h17 -`define AbstractAuto 8'h18 -`define ProgBuf0 6'h20 -`define ProgBuf1 6'h21 -`define ProgBuf2 6'h22 -`define ProgBuf3 6'h23 -`define ProgBuf4 6'h24 -`define ProgBuf5 6'h25 -`define ProgBuf6 6'h26 -`define ProgBuf7 6'h27 -`define ProgBuf8 6'h28 -`define ProgBuf9 6'h29 -`define ProgBuf10 6'h2A -`define ProgBuf11 6'h2B -`define ProgBuf12 6'h2C -`define ProgBuf13 6'h2D -`define ProgBuf14 6'h2E -`define ProgBuf15 6'h2F -`define SBAddress3 6'h37 -`define SBCS 6'h38 -`define SBAddress0 6'h39 -`define SBAddress1 6'h3A -`define SBAddress2 6'h3B -`define SBData0 6'h3C -`define SBData1 6'h3D -`define SBData2 6'h3E -`define SBData3 6'h3F -`define HaltSum0 6'h40 -`define HaltSum1 6'h13 +`define Data0 7'h04 +`define Data1 7'h05 +`define Data2 7'h06 +`define Data3 7'h07 +`define Data4 7'h08 +`define DMControl 7'h10 +`define DMStatus 7'h11 +`define Hartinfo 7'h12 +`define AbstractCS 7'h16 +`define Command 7'h17 +`define AbstractAuto 7'h18 +`define ProgBuf0 7'h20 +`define ProgBuf1 7'h21 +`define ProgBuf2 7'h22 +`define ProgBuf3 7'h23 +`define ProgBuf4 7'h24 +`define ProgBuf5 7'h25 +`define ProgBuf6 7'h26 +`define ProgBuf7 7'h27 +`define ProgBuf8 7'h28 +`define ProgBuf9 7'h29 +`define ProgBuf10 7'h2A +`define ProgBuf11 7'h2B +`define ProgBuf12 7'h2C +`define ProgBuf13 7'h2D +`define ProgBuf14 7'h2E +`define ProgBuf15 7'h2F +`define SBAddress3 7'h37 +`define SBCS 7'h38 +`define SBAddress0 7'h39 +`define SBAddress1 7'h3A +`define SBAddress2 7'h3B +`define SBData0 7'h3C +`define SBData1 7'h3D +`define SBData2 7'h3E +`define SBData3 7'h3F +`define HaltSum0 7'h40 +`define HaltSum1 7'h13 // dmstatus bit index `define Impebreak 22 diff --git a/rtl/debug/jtag_dm.sv b/rtl/debug/jtag_dm.sv index fcf92c5..014596e 100644 --- a/rtl/debug/jtag_dm.sv +++ b/rtl/debug/jtag_dm.sv @@ -17,7 +17,7 @@ `include "jtag_def.sv" module jtag_dm #( - parameter DMI_ADDR_BITS = 6, + parameter DMI_ADDR_BITS = 7, parameter DMI_DATA_BITS = 32, parameter DMI_OP_BITS = 2, parameter DMI_REQ_BITS = DMI_ADDR_BITS + DMI_DATA_BITS + DMI_OP_BITS, diff --git a/rtl/debug/jtag_dmi.sv b/rtl/debug/jtag_dmi.sv index e77bd32..c6b0d05 100644 --- a/rtl/debug/jtag_dmi.sv +++ b/rtl/debug/jtag_dmi.sv @@ -16,7 +16,7 @@ module jtag_dmi #( - parameter DATA_WIDTH = 40 + parameter DATA_WIDTH = 41 )( // JTAG side(master side) diff --git a/rtl/debug/jtag_dtm.sv b/rtl/debug/jtag_dtm.sv index f94926d..5f071fd 100644 --- a/rtl/debug/jtag_dtm.sv +++ b/rtl/debug/jtag_dtm.sv @@ -17,7 +17,7 @@ `include "jtag_def.sv" module jtag_dtm #( - parameter DMI_ADDR_BITS = 6, + parameter DMI_ADDR_BITS = 7, parameter DMI_DATA_BITS = 32, parameter DMI_OP_BITS = 2, parameter TAP_REQ_BITS = DMI_ADDR_BITS + DMI_DATA_BITS + DMI_OP_BITS, @@ -76,7 +76,7 @@ module jtag_dtm #( wire dtm_busy; wire[DMI_OP_BITS-1:0] op; wire[1:0] dtm_state; - wire[DMI_ADDR_BITS-1:0] addr_bits = DMI_ADDR_BITS[5:0]; + wire[DMI_ADDR_BITS-1:0] addr_bits = DMI_ADDR_BITS[6:0]; assign idcode_o = {IDCODE_VERSION, IDCODE_PART_NUMBER, IDCODE_MANUFLD, 1'h1}; assign dtmcs_o = {14'b0, diff --git a/rtl/debug/jtag_tap.sv b/rtl/debug/jtag_tap.sv index 8473d87..c155860 100644 --- a/rtl/debug/jtag_tap.sv +++ b/rtl/debug/jtag_tap.sv @@ -16,7 +16,7 @@ module jtag_tap #( - parameter DMI_ADDR_BITS = 6, + parameter DMI_ADDR_BITS = 7, parameter DMI_DATA_BITS = 32, parameter DMI_OP_BITS = 2, parameter IR_BITS = 5, diff --git a/rtl/debug/jtag_top.sv b/rtl/debug/jtag_top.sv index 0675f7e..202bac4 100644 --- a/rtl/debug/jtag_top.sv +++ b/rtl/debug/jtag_top.sv @@ -49,8 +49,8 @@ module jtag_top( ); - // addr + data + op = 6 + 32 + 2 = 40 - localparam DMI_DATA_WIDTH = 40; + // addr + data + op = 7 + 32 + 2 = 41 + localparam DMI_DATA_WIDTH = 41; wire [DMI_DATA_WIDTH-1:0] dm_to_dmi_data;