URL
https://opencores.org/ocsvn/openmsp430/openmsp430/trunk
Subversion Repositories openmsp430
Compare Revisions
- This comparison shows the changes necessary to convert path
/openmsp430
- from Rev 174 to Rev 175
- ↔ Reverse comparison
Rev 174 → Rev 175
/trunk/core/rtl/verilog/omsp_dbg_hwbrk.v
58,13 → 58,10
dbg_clk, // Debug unit clock |
dbg_din, // Debug register data input |
dbg_rst, // Debug unit reset |
decode_noirq, // Frontend decode instruction |
eu_mab, // Execution-Unit Memory address bus |
eu_mb_en, // Execution-Unit Memory bus enable |
eu_mb_wr, // Execution-Unit Memory bus write transfer |
eu_mdb_in, // Memory data bus input |
eu_mdb_out, // Memory data bus output |
exec_done, // Execution completed |
fe_mb_en, // Frontend Memory bus enable |
pc // Program counter |
); |
|
81,13 → 78,10
input dbg_clk; // Debug unit clock |
input [15:0] dbg_din; // Debug register data input |
input dbg_rst; // Debug unit reset |
input decode_noirq; // Frontend decode instruction |
input [15:0] eu_mab; // Execution-Unit Memory address bus |
input eu_mb_en; // Execution-Unit Memory bus enable |
input [1:0] eu_mb_wr; // Execution-Unit Memory bus write transfer |
input [15:0] eu_mdb_in; // Memory data bus input |
input [15:0] eu_mdb_out; // Memory data bus output |
input exec_done; // Execution completed |
input fe_mb_en; // Frontend Memory bus enable |
input [15:0] pc; // Program counter |
|
|
219,14 → 213,10
wire equ_d_range = eu_mb_en & ((eu_mab>=brk_addr0) & (eu_mab<=brk_addr1)) & |
brk_ctl[`BRK_RANGE] & `HWBRK_RANGE; |
|
reg fe_mb_en_buf; |
always @ (posedge dbg_clk or posedge dbg_rst) |
if (dbg_rst) fe_mb_en_buf <= 1'b0; |
else fe_mb_en_buf <= fe_mb_en; |
|
wire equ_i_addr0 = fe_mb_en_buf & (pc==brk_addr0) & ~brk_ctl[`BRK_RANGE]; |
wire equ_i_addr1 = fe_mb_en_buf & (pc==brk_addr1) & ~brk_ctl[`BRK_RANGE]; |
wire equ_i_range = fe_mb_en_buf & ((pc>=brk_addr0) & (pc<=brk_addr1)) & |
wire equ_i_addr0 = decode_noirq & (pc==brk_addr0) & ~brk_ctl[`BRK_RANGE]; |
wire equ_i_addr1 = decode_noirq & (pc==brk_addr1) & ~brk_ctl[`BRK_RANGE]; |
wire equ_i_range = decode_noirq & ((pc>=brk_addr0) & (pc<=brk_addr1)) & |
brk_ctl[`BRK_RANGE] & `HWBRK_RANGE; |
|
|
244,23 → 234,10
wire d_range_wr = equ_d_range & ~brk_ctl[`BRK_I_EN] & |eu_mb_wr; |
|
// Detect DATA read access |
// Whenever an "ADD r9. &0x200" instruction is executed, &0x200 will be read |
// before being written back. In that case, the read flag should not be set. |
// In general, We should here make sure no write access occures during the |
// same instruction cycle before setting the read flag. |
reg [2:0] d_rd_trig; |
always @ (posedge dbg_clk or posedge dbg_rst) |
if (dbg_rst) d_rd_trig <= 3'h0; |
else if (exec_done) d_rd_trig <= 3'h0; |
else d_rd_trig <= {equ_d_range & ~brk_ctl[`BRK_I_EN] & ~|eu_mb_wr, |
equ_d_addr1 & ~brk_ctl[`BRK_I_EN] & ~|eu_mb_wr, |
equ_d_addr0 & ~brk_ctl[`BRK_I_EN] & ~|eu_mb_wr}; |
wire d_addr0_rd = equ_d_addr0 & ~brk_ctl[`BRK_I_EN] & ~|eu_mb_wr; |
wire d_addr1_rd = equ_d_addr1 & ~brk_ctl[`BRK_I_EN] & ~|eu_mb_wr; |
wire d_range_rd = equ_d_range & ~brk_ctl[`BRK_I_EN] & ~|eu_mb_wr; |
|
wire d_addr0_rd = d_rd_trig[0] & exec_done & ~d_addr0_wr; |
wire d_addr1_rd = d_rd_trig[1] & exec_done & ~d_addr1_wr; |
wire d_range_rd = d_rd_trig[2] & exec_done & ~d_range_wr; |
|
|
// Set flags |
assign addr0_rd_set = brk_ctl[`BRK_MODE_RD] & (d_addr0_rd | i_addr0_rd); |
assign addr0_wr_set = brk_ctl[`BRK_MODE_WR] & d_addr0_wr; |
/trunk/core/rtl/verilog/omsp_dbg.v
79,10 → 79,6
eu_mab, // Execution-Unit Memory address bus |
eu_mb_en, // Execution-Unit Memory bus enable |
eu_mb_wr, // Execution-Unit Memory bus write transfer |
eu_mdb_in, // Memory data bus input |
eu_mdb_out, // Memory data bus output |
exec_done, // Execution completed |
fe_mb_en, // Frontend Memory bus enable |
fe_mdb_in, // Frontend Memory data bus input |
pc, // Program counter |
puc_pnd_set // PUC pending set for the serial debug interface |
122,10 → 118,6
input [15:0] eu_mab; // Execution-Unit Memory address bus |
input eu_mb_en; // Execution-Unit Memory bus enable |
input [1:0] eu_mb_wr; // Execution-Unit Memory bus write transfer |
input [15:0] eu_mdb_in; // Memory data bus input |
input [15:0] eu_mdb_out; // Memory data bus output |
input exec_done; // Execution completed |
input fe_mb_en; // Frontend Memory bus enable |
input [15:0] fe_mdb_in; // Frontend Memory data bus input |
input [15:0] pc; // Program counter |
input puc_pnd_set; // PUC pending set for the serial debug interface |
434,9 → 426,9
wire dbg_mem_acc = (|dbg_mem_wr | (dbg_rd_rdy & ~mem_ctl[2])); |
wire dbg_reg_acc = ( dbg_reg_wr | (dbg_rd_rdy & mem_ctl[2])); |
|
wire [15:0] mem_addr_inc = (mem_cnt==16'h0000) ? 16'h0000 : |
(dbg_mem_acc & ~mem_bw) ? 16'h0002 : |
(dbg_mem_acc | dbg_reg_acc) ? 16'h0001 : 16'h0000; |
wire [15:0] mem_addr_inc = (mem_cnt==16'h0000) ? 16'h0000 : |
(mem_burst & dbg_mem_acc & ~mem_bw) ? 16'h0002 : |
(mem_burst & (dbg_mem_acc | dbg_reg_acc)) ? 16'h0001 : 16'h0000; |
|
always @ (posedge dbg_clk or posedge dbg_rst) |
if (dbg_rst) mem_addr <= 16'h0000; |
477,24 → 469,21
omsp_dbg_hwbrk dbg_hwbr_0 ( |
|
// OUTPUTs |
.brk_halt (brk0_halt), // Hardware breakpoint command |
.brk_pnd (brk0_pnd), // Hardware break/watch-point pending |
.brk_dout (brk0_dout), // Hardware break/watch-point register data input |
.brk_halt (brk0_halt), // Hardware breakpoint command |
.brk_pnd (brk0_pnd), // Hardware break/watch-point pending |
.brk_dout (brk0_dout), // Hardware break/watch-point register data input |
|
// INPUTs |
.brk_reg_rd (brk0_reg_rd), // Hardware break/watch-point register read select |
.brk_reg_wr (brk0_reg_wr), // Hardware break/watch-point register write select |
.dbg_clk (dbg_clk), // Debug unit clock |
.dbg_din (dbg_din), // Debug register data input |
.dbg_rst (dbg_rst), // Debug unit reset |
.eu_mab (eu_mab), // Execution-Unit Memory address bus |
.eu_mb_en (eu_mb_en), // Execution-Unit Memory bus enable |
.eu_mb_wr (eu_mb_wr), // Execution-Unit Memory bus write transfer |
.eu_mdb_in (eu_mdb_in), // Memory data bus input |
.eu_mdb_out (eu_mdb_out), // Memory data bus output |
.exec_done (exec_done), // Execution completed |
.fe_mb_en (fe_mb_en), // Frontend Memory bus enable |
.pc (pc) // Program counter |
.brk_reg_rd (brk0_reg_rd), // Hardware break/watch-point register read select |
.brk_reg_wr (brk0_reg_wr), // Hardware break/watch-point register write select |
.dbg_clk (dbg_clk), // Debug unit clock |
.dbg_din (dbg_din), // Debug register data input |
.dbg_rst (dbg_rst), // Debug unit reset |
.decode_noirq (decode_noirq), // Frontend decode instruction |
.eu_mab (eu_mab), // Execution-Unit Memory address bus |
.eu_mb_en (eu_mb_en), // Execution-Unit Memory bus enable |
.eu_mb_wr (eu_mb_wr), // Execution-Unit Memory bus write transfer |
.pc (pc) // Program counter |
); |
|
`else |
519,24 → 508,21
omsp_dbg_hwbrk dbg_hwbr_1 ( |
|
// OUTPUTs |
.brk_halt (brk1_halt), // Hardware breakpoint command |
.brk_pnd (brk1_pnd), // Hardware break/watch-point pending |
.brk_dout (brk1_dout), // Hardware break/watch-point register data input |
.brk_halt (brk1_halt), // Hardware breakpoint command |
.brk_pnd (brk1_pnd), // Hardware break/watch-point pending |
.brk_dout (brk1_dout), // Hardware break/watch-point register data input |
|
// INPUTs |
.brk_reg_rd (brk1_reg_rd), // Hardware break/watch-point register read select |
.brk_reg_wr (brk1_reg_wr), // Hardware break/watch-point register write select |
.dbg_clk (dbg_clk), // Debug unit clock |
.dbg_din (dbg_din), // Debug register data input |
.dbg_rst (dbg_rst), // Debug unit reset |
.eu_mab (eu_mab), // Execution-Unit Memory address bus |
.eu_mb_en (eu_mb_en), // Execution-Unit Memory bus enable |
.eu_mb_wr (eu_mb_wr), // Execution-Unit Memory bus write transfer |
.eu_mdb_in (eu_mdb_in), // Memory data bus input |
.eu_mdb_out (eu_mdb_out), // Memory data bus output |
.exec_done (exec_done), // Execution completed |
.fe_mb_en (fe_mb_en), // Frontend Memory bus enable |
.pc (pc) // Program counter |
.brk_reg_rd (brk1_reg_rd), // Hardware break/watch-point register read select |
.brk_reg_wr (brk1_reg_wr), // Hardware break/watch-point register write select |
.dbg_clk (dbg_clk), // Debug unit clock |
.dbg_din (dbg_din), // Debug register data input |
.dbg_rst (dbg_rst), // Debug unit reset |
.decode_noirq (decode_noirq), // Frontend decode instruction |
.eu_mab (eu_mab), // Execution-Unit Memory address bus |
.eu_mb_en (eu_mb_en), // Execution-Unit Memory bus enable |
.eu_mb_wr (eu_mb_wr), // Execution-Unit Memory bus write transfer |
.pc (pc) // Program counter |
); |
|
`else |
561,24 → 547,21
omsp_dbg_hwbrk dbg_hwbr_2 ( |
|
// OUTPUTs |
.brk_halt (brk2_halt), // Hardware breakpoint command |
.brk_pnd (brk2_pnd), // Hardware break/watch-point pending |
.brk_dout (brk2_dout), // Hardware break/watch-point register data input |
.brk_halt (brk2_halt), // Hardware breakpoint command |
.brk_pnd (brk2_pnd), // Hardware break/watch-point pending |
.brk_dout (brk2_dout), // Hardware break/watch-point register data input |
|
// INPUTs |
.brk_reg_rd (brk2_reg_rd), // Hardware break/watch-point register read select |
.brk_reg_wr (brk2_reg_wr), // Hardware break/watch-point register write select |
.dbg_clk (dbg_clk), // Debug unit clock |
.dbg_din (dbg_din), // Debug register data input |
.dbg_rst (dbg_rst), // Debug unit reset |
.eu_mab (eu_mab), // Execution-Unit Memory address bus |
.eu_mb_en (eu_mb_en), // Execution-Unit Memory bus enable |
.eu_mb_wr (eu_mb_wr), // Execution-Unit Memory bus write transfer |
.eu_mdb_in (eu_mdb_in), // Memory data bus input |
.eu_mdb_out (eu_mdb_out), // Memory data bus output |
.exec_done (exec_done), // Execution completed |
.fe_mb_en (fe_mb_en), // Frontend Memory bus enable |
.pc (pc) // Program counter |
.brk_reg_rd (brk2_reg_rd), // Hardware break/watch-point register read select |
.brk_reg_wr (brk2_reg_wr), // Hardware break/watch-point register write select |
.dbg_clk (dbg_clk), // Debug unit clock |
.dbg_din (dbg_din), // Debug register data input |
.dbg_rst (dbg_rst), // Debug unit reset |
.decode_noirq (decode_noirq), // Frontend decode instruction |
.eu_mab (eu_mab), // Execution-Unit Memory address bus |
.eu_mb_en (eu_mb_en), // Execution-Unit Memory bus enable |
.eu_mb_wr (eu_mb_wr), // Execution-Unit Memory bus write transfer |
.pc (pc) // Program counter |
); |
|
`else |
603,24 → 586,21
omsp_dbg_hwbrk dbg_hwbr_3 ( |
|
// OUTPUTs |
.brk_halt (brk3_halt), // Hardware breakpoint command |
.brk_pnd (brk3_pnd), // Hardware break/watch-point pending |
.brk_dout (brk3_dout), // Hardware break/watch-point register data input |
.brk_halt (brk3_halt), // Hardware breakpoint command |
.brk_pnd (brk3_pnd), // Hardware break/watch-point pending |
.brk_dout (brk3_dout), // Hardware break/watch-point register data input |
|
// INPUTs |
.brk_reg_rd (brk3_reg_rd), // Hardware break/watch-point register read select |
.brk_reg_wr (brk3_reg_wr), // Hardware break/watch-point register write select |
.dbg_clk (dbg_clk), // Debug unit clock |
.dbg_din (dbg_din), // Debug register data input |
.dbg_rst (dbg_rst), // Debug unit reset |
.eu_mab (eu_mab), // Execution-Unit Memory address bus |
.eu_mb_en (eu_mb_en), // Execution-Unit Memory bus enable |
.eu_mb_wr (eu_mb_wr), // Execution-Unit Memory bus write transfer |
.eu_mdb_in (eu_mdb_in), // Memory data bus input |
.eu_mdb_out (eu_mdb_out), // Memory data bus output |
.exec_done (exec_done), // Execution completed |
.fe_mb_en (fe_mb_en), // Frontend Memory bus enable |
.pc (pc) // Program counter |
.brk_reg_rd (brk3_reg_rd), // Hardware break/watch-point register read select |
.brk_reg_wr (brk3_reg_wr), // Hardware break/watch-point register write select |
.dbg_clk (dbg_clk), // Debug unit clock |
.dbg_din (dbg_din), // Debug register data input |
.dbg_rst (dbg_rst), // Debug unit reset |
.decode_noirq (decode_noirq), // Frontend decode instruction |
.eu_mab (eu_mab), // Execution-Unit Memory address bus |
.eu_mb_en (eu_mb_en), // Execution-Unit Memory bus enable |
.eu_mb_wr (eu_mb_wr), // Execution-Unit Memory bus write transfer |
.pc (pc) // Program counter |
); |
|
`else |
/trunk/core/rtl/verilog/openMSP430.v
580,10 → 580,6
.eu_mab (eu_mab), // Execution-Unit Memory address bus |
.eu_mb_en (eu_mb_en), // Execution-Unit Memory bus enable |
.eu_mb_wr (eu_mb_wr), // Execution-Unit Memory bus write transfer |
.eu_mdb_in (eu_mdb_in), // Memory data bus input |
.eu_mdb_out (eu_mdb_out), // Memory data bus output |
.exec_done (exec_done), // Execution completed |
.fe_mb_en (fe_mb_en), // Frontend Memory bus enable |
.fe_mdb_in (fe_mdb_in), // Frontend Memory data bus input |
.pc (pc), // Program counter |
.puc_pnd_set (puc_pnd_set) // PUC pending set for the serial debug interface |
/trunk/core/sim/rtl_sim/src/dbg_i2c_hwbrk3.v
161,8 → 161,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0081) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 3 ====="); |
dbg_i2c_rd(BRK3_STAT); |
176,7 → 176,7
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h1C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h14)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (mem200 !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 7 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 8 ====="); |
192,7 → 192,7
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 11 ====="); |
if (mem200 !== 16'h0002) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0081) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 13 ====="); |
dbg_i2c_rd(BRK3_STAT); |
344,8 → 344,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 13 ====="); |
dbg_i2c_rd(BRK3_STAT); |
if (dbg_i2c_buf !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK3_STAT, 16'h0002); |
if (dbg_i2c_buf !== 16'h0003) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK3_STAT, 16'h0003); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 15 ====="); |
|
359,8 → 359,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 18 ====="); |
dbg_i2c_rd(BRK3_STAT); |
if (dbg_i2c_buf !== 16'h0008) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK3_STAT, 16'h0008); |
if (dbg_i2c_buf !== 16'h000C) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK3_STAT, 16'h000C); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 20 ====="); |
|
415,8 → 415,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h08)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0081) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 3 ====="); |
dbg_i2c_rd(BRK3_STAT); |
430,8 → 430,8
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0000) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 8 ====="); |
dbg_i2c_rd(BRK3_STAT); |
589,8 → 589,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 13 ====="); |
dbg_i2c_rd(BRK3_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK3_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK3_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 15 ====="); |
|
604,8 → 604,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 18 ====="); |
dbg_i2c_rd(BRK3_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK3_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK3_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 20 ====="); |
|
634,8 → 634,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 28 ====="); |
dbg_i2c_rd(BRK3_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_i2c_wr(BRK3_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_i2c_wr(BRK3_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 30 ====="); |
|
/trunk/core/sim/rtl_sim/src/dbg_uart_hwbrk0.v
164,8 → 164,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0011) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 3 ====="); |
dbg_uart_rd(BRK0_STAT); |
179,7 → 179,7
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h1C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h14)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (mem200 !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 7 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 8 ====="); |
195,7 → 195,7
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 11 ====="); |
if (mem200 !== 16'h0002) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0011) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 13 ====="); |
dbg_uart_rd(BRK0_STAT); |
347,8 → 347,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 13 ====="); |
dbg_uart_rd(BRK0_STAT); |
if (dbg_uart_buf !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK0_STAT, 16'h0002); |
if (dbg_uart_buf !== 16'h0003) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK0_STAT, 16'h0003); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 15 ====="); |
|
362,8 → 362,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 18 ====="); |
dbg_uart_rd(BRK0_STAT); |
if (dbg_uart_buf !== 16'h0008) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK0_STAT, 16'h0008); |
if (dbg_uart_buf !== 16'h000C) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK0_STAT, 16'h000C); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 20 ====="); |
|
418,8 → 418,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h08)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0011) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 3 ====="); |
dbg_uart_rd(BRK0_STAT); |
433,8 → 433,8
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0000) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 8 ====="); |
dbg_uart_rd(BRK0_STAT); |
592,8 → 592,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 13 ====="); |
dbg_uart_rd(BRK0_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK0_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK0_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 15 ====="); |
|
607,8 → 607,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 18 ====="); |
dbg_uart_rd(BRK0_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK0_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK0_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 20 ====="); |
|
637,8 → 637,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 28 ====="); |
dbg_uart_rd(BRK0_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_uart_wr(BRK0_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_uart_wr(BRK0_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 30 ====="); |
|
/trunk/core/sim/rtl_sim/src/dbg_i2c_rdwr.v
135,11 → 135,10
`ifdef DBG_HWBRK_0 |
`ifdef DBG_HWBRK_RANGE |
8 : if (dbg_i2c_buf !== 16'h001F) tb_error("READ 2 ERROR (BRK0_CTL)"); |
9 : if (dbg_i2c_buf !== 16'h0010) tb_error("READ 2 ERROR (BRK0_STAT)"); |
`else |
8 : if (dbg_i2c_buf !== 16'h000F) tb_error("READ 2 ERROR (BRK0_CTL)"); |
9 : if (dbg_i2c_buf !== 16'h0005) tb_error("READ 2 ERROR (BRK0_STAT)"); |
`endif |
9 : if (dbg_i2c_buf !== 16'h0000) tb_error("READ 2 ERROR (BRK0_STAT)"); |
10 : if (dbg_i2c_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK0_ADDR0)"); |
11 : if (dbg_i2c_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK0_ADDR1)"); |
`endif |
146,11 → 145,10
`ifdef DBG_HWBRK_1 |
`ifdef DBG_HWBRK_RANGE |
12 : if (dbg_i2c_buf !== 16'h001F) tb_error("READ 2 ERROR (BRK1_CTL)"); |
13 : if (dbg_i2c_buf !== 16'h0010) tb_error("READ 2 ERROR (BRK1_STAT)"); |
`else |
12 : if (dbg_i2c_buf !== 16'h000F) tb_error("READ 2 ERROR (BRK1_CTL)"); |
13 : if (dbg_i2c_buf !== 16'h0005) tb_error("READ 2 ERROR (BRK1_STAT)"); |
`endif |
13 : if (dbg_i2c_buf !== 16'h0000) tb_error("READ 2 ERROR (BRK1_STAT)"); |
14 : if (dbg_i2c_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK1_ADDR0)"); |
15 : if (dbg_i2c_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK1_ADDR1)"); |
`endif |
157,11 → 155,10
`ifdef DBG_HWBRK_2 |
`ifdef DBG_HWBRK_RANGE |
16 : if (dbg_i2c_buf !== 16'h001F) tb_error("READ 2 ERROR (BRK2_CTL)"); |
17 : if (dbg_i2c_buf !== 16'h0010) tb_error("READ 2 ERROR (BRK2_STAT)"); |
`else |
16 : if (dbg_i2c_buf !== 16'h000F) tb_error("READ 2 ERROR (BRK2_CTL)"); |
17 : if (dbg_i2c_buf !== 16'h0005) tb_error("READ 2 ERROR (BRK2_STAT)"); |
`endif |
17 : if (dbg_i2c_buf !== 16'h0000) tb_error("READ 2 ERROR (BRK2_STAT)"); |
18 : if (dbg_i2c_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK2_ADDR0)"); |
19 : if (dbg_i2c_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK2_ADDR1)"); |
`endif |
168,11 → 165,10
`ifdef DBG_HWBRK_3 |
`ifdef DBG_HWBRK_RANGE |
20 : if (dbg_i2c_buf !== 16'h001F) tb_error("READ 2 ERROR (BRK3_CTL)"); |
21 : if (dbg_i2c_buf !== 16'h0010) tb_error("READ 2 ERROR (BRK3_STAT)"); |
`else |
20 : if (dbg_i2c_buf !== 16'h000F) tb_error("READ 2 ERROR (BRK3_CTL)"); |
21 : if (dbg_i2c_buf !== 16'h0005) tb_error("READ 2 ERROR (BRK3_STAT)"); |
`endif |
21 : if (dbg_i2c_buf !== 16'h0000) tb_error("READ 2 ERROR (BRK3_STAT)"); |
22 : if (dbg_i2c_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK3_ADDR0)"); |
23 : if (dbg_i2c_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK3_ADDR1)"); |
`endif |
/trunk/core/sim/rtl_sim/src/dbg_i2c_hwbrk0.v
161,8 → 161,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0011) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 3 ====="); |
dbg_i2c_rd(BRK0_STAT); |
176,7 → 176,7
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h1C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h14)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (mem200 !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 7 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 8 ====="); |
192,7 → 192,7
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 11 ====="); |
if (mem200 !== 16'h0002) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0011) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 13 ====="); |
dbg_i2c_rd(BRK0_STAT); |
344,8 → 344,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 13 ====="); |
dbg_i2c_rd(BRK0_STAT); |
if (dbg_i2c_buf !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK0_STAT, 16'h0002); |
if (dbg_i2c_buf !== 16'h0003) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK0_STAT, 16'h0003); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 15 ====="); |
|
359,8 → 359,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 18 ====="); |
dbg_i2c_rd(BRK0_STAT); |
if (dbg_i2c_buf !== 16'h0008) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK0_STAT, 16'h0008); |
if (dbg_i2c_buf !== 16'h000C) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK0_STAT, 16'h000C); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 20 ====="); |
|
415,8 → 415,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h08)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0011) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 3 ====="); |
dbg_i2c_rd(BRK0_STAT); |
430,8 → 430,8
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0000) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 8 ====="); |
dbg_i2c_rd(BRK0_STAT); |
589,8 → 589,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 13 ====="); |
dbg_i2c_rd(BRK0_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK0_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK0_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 15 ====="); |
|
604,8 → 604,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 18 ====="); |
dbg_i2c_rd(BRK0_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK0_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK0_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 20 ====="); |
|
634,8 → 634,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0011) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 28 ====="); |
dbg_i2c_rd(BRK0_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_i2c_wr(BRK0_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_i2c_wr(BRK0_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 30 ====="); |
|
/trunk/core/sim/rtl_sim/src/dbg_uart_hwbrk1.v
164,8 → 164,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0021) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 3 ====="); |
dbg_uart_rd(BRK1_STAT); |
179,7 → 179,7
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h1C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h14)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (mem200 !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 7 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 8 ====="); |
195,7 → 195,7
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 11 ====="); |
if (mem200 !== 16'h0002) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0021) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 13 ====="); |
dbg_uart_rd(BRK1_STAT); |
347,8 → 347,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 13 ====="); |
dbg_uart_rd(BRK1_STAT); |
if (dbg_uart_buf !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK1_STAT, 16'h0002); |
if (dbg_uart_buf !== 16'h0003) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK1_STAT, 16'h0003); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 15 ====="); |
|
362,8 → 362,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 18 ====="); |
dbg_uart_rd(BRK1_STAT); |
if (dbg_uart_buf !== 16'h0008) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK1_STAT, 16'h0008); |
if (dbg_uart_buf !== 16'h000C) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK1_STAT, 16'h000C); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 20 ====="); |
|
418,8 → 418,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h08)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0021) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 3 ====="); |
dbg_uart_rd(BRK1_STAT); |
433,8 → 433,8
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0000) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 8 ====="); |
dbg_uart_rd(BRK1_STAT); |
591,8 → 591,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 13 ====="); |
dbg_uart_rd(BRK1_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK1_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK1_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 15 ====="); |
|
606,8 → 606,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 18 ====="); |
dbg_uart_rd(BRK1_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK1_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK1_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 20 ====="); |
|
636,8 → 636,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 28 ====="); |
dbg_uart_rd(BRK1_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_uart_wr(BRK1_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_uart_wr(BRK1_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 30 ====="); |
|
/trunk/core/sim/rtl_sim/src/dbg_i2c_hwbrk1.v
161,8 → 161,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0021) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 3 ====="); |
dbg_i2c_rd(BRK1_STAT); |
176,7 → 176,7
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h1C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h14)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (mem200 !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 7 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 8 ====="); |
192,7 → 192,7
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 11 ====="); |
if (mem200 !== 16'h0002) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0021) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 13 ====="); |
dbg_i2c_rd(BRK1_STAT); |
344,8 → 344,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 13 ====="); |
dbg_i2c_rd(BRK1_STAT); |
if (dbg_i2c_buf !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK1_STAT, 16'h0002); |
if (dbg_i2c_buf !== 16'h0003) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK1_STAT, 16'h0003); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 15 ====="); |
|
359,8 → 359,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 18 ====="); |
dbg_i2c_rd(BRK1_STAT); |
if (dbg_i2c_buf !== 16'h0008) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK1_STAT, 16'h0008); |
if (dbg_i2c_buf !== 16'h000C) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK1_STAT, 16'h000C); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 20 ====="); |
|
415,8 → 415,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h08)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0021) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 3 ====="); |
dbg_i2c_rd(BRK1_STAT); |
430,8 → 430,8
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0000) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 8 ====="); |
dbg_i2c_rd(BRK1_STAT); |
588,8 → 588,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 13 ====="); |
dbg_i2c_rd(BRK1_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK1_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK1_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 15 ====="); |
|
603,8 → 603,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 18 ====="); |
dbg_i2c_rd(BRK1_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK1_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK1_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 20 ====="); |
|
633,8 → 633,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0021) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 28 ====="); |
dbg_i2c_rd(BRK1_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_i2c_wr(BRK1_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_i2c_wr(BRK1_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 30 ====="); |
|
/trunk/core/sim/rtl_sim/src/dbg_uart_rdwr.v
138,11 → 138,10
`ifdef DBG_HWBRK_0 |
`ifdef DBG_HWBRK_RANGE |
8 : if (dbg_uart_buf !== 16'h001F) tb_error("READ 2 ERROR (BRK0_CTL)"); |
9 : if (dbg_uart_buf !== 16'h0010) tb_error("READ 2 ERROR (BRK0_STAT)"); |
`else |
8 : if (dbg_uart_buf !== 16'h000F) tb_error("READ 2 ERROR (BRK0_CTL)"); |
9 : if (dbg_uart_buf !== 16'h0005) tb_error("READ 2 ERROR (BRK0_STAT)"); |
`endif |
9 : if (dbg_uart_buf !== 16'h0000) tb_error("READ 2 ERROR (BRK0_STAT)"); |
10 : if (dbg_uart_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK0_ADDR0)"); |
11 : if (dbg_uart_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK0_ADDR1)"); |
`endif |
149,11 → 148,10
`ifdef DBG_HWBRK_1 |
`ifdef DBG_HWBRK_RANGE |
12 : if (dbg_uart_buf !== 16'h001F) tb_error("READ 2 ERROR (BRK1_CTL)"); |
13 : if (dbg_uart_buf !== 16'h0010) tb_error("READ 2 ERROR (BRK1_STAT)"); |
`else |
12 : if (dbg_uart_buf !== 16'h000F) tb_error("READ 2 ERROR (BRK1_CTL)"); |
13 : if (dbg_uart_buf !== 16'h0005) tb_error("READ 2 ERROR (BRK1_STAT)"); |
`endif |
13 : if (dbg_uart_buf !== 16'h0000) tb_error("READ 2 ERROR (BRK1_STAT)"); |
14 : if (dbg_uart_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK1_ADDR0)"); |
15 : if (dbg_uart_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK1_ADDR1)"); |
`endif |
160,11 → 158,10
`ifdef DBG_HWBRK_2 |
`ifdef DBG_HWBRK_RANGE |
16 : if (dbg_uart_buf !== 16'h001F) tb_error("READ 2 ERROR (BRK2_CTL)"); |
17 : if (dbg_uart_buf !== 16'h0010) tb_error("READ 2 ERROR (BRK2_STAT)"); |
`else |
16 : if (dbg_uart_buf !== 16'h000F) tb_error("READ 2 ERROR (BRK2_CTL)"); |
17 : if (dbg_uart_buf !== 16'h0005) tb_error("READ 2 ERROR (BRK2_STAT)"); |
`endif |
17 : if (dbg_uart_buf !== 16'h0000) tb_error("READ 2 ERROR (BRK2_STAT)"); |
18 : if (dbg_uart_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK2_ADDR0)"); |
19 : if (dbg_uart_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK2_ADDR1)"); |
`endif |
171,11 → 168,10
`ifdef DBG_HWBRK_3 |
`ifdef DBG_HWBRK_RANGE |
20 : if (dbg_uart_buf !== 16'h001F) tb_error("READ 2 ERROR (BRK3_CTL)"); |
21 : if (dbg_uart_buf !== 16'h0010) tb_error("READ 2 ERROR (BRK3_STAT)"); |
`else |
20 : if (dbg_uart_buf !== 16'h000F) tb_error("READ 2 ERROR (BRK3_CTL)"); |
21 : if (dbg_uart_buf !== 16'h0005) tb_error("READ 2 ERROR (BRK3_STAT)"); |
`endif |
21 : if (dbg_uart_buf !== 16'h0000) tb_error("READ 2 ERROR (BRK3_STAT)"); |
22 : if (dbg_uart_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK3_ADDR0)"); |
23 : if (dbg_uart_buf !== 16'hFFFF) tb_error("READ 2 ERROR (BRK3_ADDR1)"); |
`endif |
/trunk/core/sim/rtl_sim/src/dbg_uart_hwbrk2.v
164,8 → 164,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0c)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0041) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 3 ====="); |
dbg_uart_rd(BRK2_STAT); |
179,7 → 179,7
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h1C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h14)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (mem200 !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 7 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 8 ====="); |
195,7 → 195,7
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 11 ====="); |
if (mem200 !== 16'h0002) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0041) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 13 ====="); |
dbg_uart_rd(BRK2_STAT); |
347,8 → 347,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 13 ====="); |
dbg_uart_rd(BRK2_STAT); |
if (dbg_uart_buf !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK2_STAT, 16'h0002); |
if (dbg_uart_buf !== 16'h0003) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK2_STAT, 16'h0003); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 15 ====="); |
|
362,8 → 362,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 18 ====="); |
dbg_uart_rd(BRK2_STAT); |
if (dbg_uart_buf !== 16'h0008) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK2_STAT, 16'h0008); |
if (dbg_uart_buf !== 16'h000C) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK2_STAT, 16'h000C); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 20 ====="); |
|
418,8 → 418,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h08)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0041) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 3 ====="); |
dbg_uart_rd(BRK2_STAT); |
433,8 → 433,8
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0000) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 8 ====="); |
dbg_uart_rd(BRK2_STAT); |
593,8 → 593,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 13 ====="); |
dbg_uart_rd(BRK2_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK2_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK2_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 15 ====="); |
|
608,8 → 608,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 18 ====="); |
dbg_uart_rd(BRK2_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK2_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK2_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 20 ====="); |
|
638,8 → 638,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 28 ====="); |
dbg_uart_rd(BRK2_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_uart_wr(BRK2_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_uart_wr(BRK2_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 30 ====="); |
|
/trunk/core/sim/rtl_sim/src/dbg_i2c_hwbrk2.v
161,8 → 161,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0041) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 3 ====="); |
dbg_i2c_rd(BRK2_STAT); |
176,7 → 176,7
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h1C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h14)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (mem200 !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 7 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 8 ====="); |
192,7 → 192,7
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 11 ====="); |
if (mem200 !== 16'h0002) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0041) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 13 ====="); |
dbg_i2c_rd(BRK2_STAT); |
344,8 → 344,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 13 ====="); |
dbg_i2c_rd(BRK2_STAT); |
if (dbg_i2c_buf !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK2_STAT, 16'h0002); |
if (dbg_i2c_buf !== 16'h0003) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK2_STAT, 16'h0003); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 15 ====="); |
|
359,8 → 359,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 18 ====="); |
dbg_i2c_rd(BRK2_STAT); |
if (dbg_i2c_buf !== 16'h0008) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK2_STAT, 16'h0008); |
if (dbg_i2c_buf !== 16'h000C) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK2_STAT, 16'h000C); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 20 ====="); |
|
415,8 → 415,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h08)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0041) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 3 ====="); |
dbg_i2c_rd(BRK2_STAT); |
430,8 → 430,8
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0000) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 8 ====="); |
dbg_i2c_rd(BRK2_STAT); |
590,8 → 590,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 13 ====="); |
dbg_i2c_rd(BRK2_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK2_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_i2c_wr(BRK2_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 15 ====="); |
|
605,8 → 605,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 18 ====="); |
dbg_i2c_rd(BRK2_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK2_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_i2c_wr(BRK2_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 20 ====="); |
|
635,8 → 635,8
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0041) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 28 ====="); |
dbg_i2c_rd(BRK2_STAT); |
if (dbg_i2c_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_i2c_wr(BRK2_STAT, 16'h0020); |
if (dbg_i2c_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_i2c_wr(BRK2_STAT, 16'h0030); |
dbg_i2c_rd(CPU_STAT); |
if (dbg_i2c_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 30 ====="); |
|
/trunk/core/sim/rtl_sim/src/dbg_uart_hwbrk3.v
164,8 → 164,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 2 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0081) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 3 ====="); |
dbg_uart_rd(BRK3_STAT); |
179,7 → 179,7
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h1C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h14)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 6 ====="); |
if (mem200 !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 7 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ: test 8 ====="); |
195,7 → 195,7
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 11 ====="); |
if (mem200 !== 16'h0002) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 12 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0081) tb_error("====== DATA FLOW (EXECUTION-UNIT) - SINGLE ADDRESSES - READ: test 13 ====="); |
dbg_uart_rd(BRK3_STAT); |
347,8 → 347,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 13 ====="); |
dbg_uart_rd(BRK3_STAT); |
if (dbg_uart_buf !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK3_STAT, 16'h0002); |
if (dbg_uart_buf !== 16'h0003) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK3_STAT, 16'h0003); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 15 ====="); |
|
362,8 → 362,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 18 ====="); |
dbg_uart_rd(BRK3_STAT); |
if (dbg_uart_buf !== 16'h0008) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK3_STAT, 16'h0008); |
if (dbg_uart_buf !== 16'h000C) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK3_STAT, 16'h000C); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - SINGLE ADDRESSES - READ/WRITE: test 20 ====="); |
|
418,8 → 418,8
repeat(100) @(posedge mclk); |
|
// CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0001) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h08)) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 1 ====="); |
if (mem200 !== 16'h0000) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 2 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0081) tb_error("====== DATA FLOW (EXECUTION-UNIT) - ADDRESS RANGE - READ: test 3 ====="); |
dbg_uart_rd(BRK3_STAT); |
433,8 → 433,8
repeat(100) @(posedge mclk); |
|
// RE-CHECK |
if (r0 !== ('h10000-`PMEM_SIZE+'h18)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0002) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
if (r0 !== ('h10000-`PMEM_SIZE+'h0C)) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 6 ====="); |
if (mem200 !== 16'h0000) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 7 ====="); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ: test 8 ====="); |
dbg_uart_rd(BRK3_STAT); |
592,8 → 592,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 13 ====="); |
dbg_uart_rd(BRK3_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK3_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 14 ====="); |
dbg_uart_wr(BRK3_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 15 ====="); |
|
607,8 → 607,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 18 ====="); |
dbg_uart_rd(BRK3_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK3_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 19 ====="); |
dbg_uart_wr(BRK3_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 20 ====="); |
|
637,8 → 637,8
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0081) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 28 ====="); |
dbg_uart_rd(BRK3_STAT); |
if (dbg_uart_buf !== 16'h0020) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_uart_wr(BRK3_STAT, 16'h0020); |
if (dbg_uart_buf !== 16'h0030) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 29 ====="); |
dbg_uart_wr(BRK3_STAT, 16'h0030); |
dbg_uart_rd(CPU_STAT); |
if (dbg_uart_buf !== 16'h0001) tb_error("====== INSTRUCTION FLOW (FRONTEND) - ADDRESS RANGE - READ/WRITE: test 30 ====="); |
|
/trunk/core/synthesis/synopsys/read.tcl
17,6 → 17,7
../../rtl/verilog/omsp_watchdog.v |
../../rtl/verilog/omsp_dbg.v |
../../rtl/verilog/omsp_dbg_uart.v |
../../rtl/verilog/omsp_dbg_i2c.v |
../../rtl/verilog/omsp_dbg_hwbrk.v |
../../rtl/verilog/omsp_multiplier.v |
../../rtl/verilog/omsp_sync_reset.v |