diff --git a/lib/CPUs/JCpu/sim/ModelSim SE .lnk b/lib/CPUs/JCpu/sim/ModelSim SE .lnk index 1fe4002..6eb05f5 100644 Binary files a/lib/CPUs/JCpu/sim/ModelSim SE .lnk and b/lib/CPUs/JCpu/sim/ModelSim SE .lnk differ diff --git a/lib/CPUs/JCpu/sim/tb_cpu.wdo b/lib/CPUs/JCpu/sim/tb_cpu.wdo index 2ef036e..fba2060 100644 --- a/lib/CPUs/JCpu/sim/tb_cpu.wdo +++ b/lib/CPUs/JCpu/sim/tb_cpu.wdo @@ -1,107 +1,105 @@ -onerror {resume} -quietly WaveActivateNextPane {} 0 -add wave -noupdate -format Logic /tb_cpu/rst -add wave -noupdate -format Logic /tb_cpu/clk -add wave -noupdate -format Logic /tb_cpu/ce -add wave -noupdate -format Logic /tb_cpu/uut/cpu_active -add wave -noupdate -format Logic /tb_cpu/int_in -add wave -noupdate -format Logic /tb_cpu/int_ack -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/irom_data -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/irom_addr -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/xmem_din -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/xmem_dout -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/xmem_addr -add wave -noupdate -format Logic /tb_cpu/xmem_we -add wave -noupdate -format Logic /tb_cpu/xmem_re -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/sram -add wave -noupdate -format Logic /tb_cpu/uut/io_sel -add wave -noupdate -format Literal /tb_cpu/uut/iphase -add wave -noupdate -divider CPU -add wave -noupdate -format Literal /tb_cpu/reg -add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/dbg_iname -add wave -noupdate -format Literal /tb_cpu/uut/cpu_status -add wave -noupdate -format Literal /tb_cpu/uut/status_reg -add wave -noupdate -format Literal /tb_cpu/uut/ctrl -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/stk_out -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/stk_in -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/stk_reg -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/pc_in -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/pc_next -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/idata -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/int_pc_addr -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/iphase -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/const_data -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/reg_a_dout -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/reg_b_dout -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/reg_din -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/alu_op1 -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/alu_op2 -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/alu_result -add wave -noupdate -format Literal /tb_cpu/uut/alu_status -add wave -noupdate -format Logic /tb_cpu/uut/pc_inc -add wave -noupdate -format Logic /tb_cpu/uut/pc_load -add wave -noupdate -format Logic /tb_cpu/uut/stk_we -add wave -noupdate -format Logic /tb_cpu/uut/cmem_we -add wave -noupdate -format Literal /tb_cpu/uut/ctrl_iphase -add wave -noupdate -format Logic /tb_cpu/uut/was_pcld -add wave -noupdate -format Logic /tb_cpu/uut/was_pop2pc -add wave -noupdate -format Logic /tb_cpu/uut/int_pc_load -add wave -noupdate -format Logic /tb_cpu/uut/int_stk_push -add wave -noupdate -format Logic /tb_cpu/uut/stk_push -add wave -noupdate -format Logic /tb_cpu/uut/stk_pop -add wave -noupdate -format Logic /tb_cpu/uut/status_save -add wave -noupdate -format Logic /tb_cpu/uut/status_restore -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/stk_ptr -add wave -noupdate -divider Stack -add wave -noupdate -format Logic /tb_cpu/clk -add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/dbg_iname -add wave -noupdate -format Logic /tb_cpu/uut/inst_stack_ctrl/push -add wave -noupdate -format Logic /tb_cpu/uut/inst_stack_ctrl/pop -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_stack_ctrl/din -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_stack_ctrl/dout -add wave -noupdate -format Logic /tb_cpu/uut/inst_stack_ctrl/mem_we -add wave -noupdate -divider Chipram -add wave -noupdate -format Logic /tb_cpu/uut/inst_chipram/we_a -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/din_a -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/addr_a -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/dout_a -add wave -noupdate -format Logic /tb_cpu/uut/inst_chipram/we_b -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/din_b -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/addr_b -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/dout_b -add wave -noupdate -divider Sequencer -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_dpath_ctrl/inst_in -add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/iphase_in -add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/status_in -add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/ctrl_out -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_dpath_ctrl/idout -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_dpath_ctrl/ddout -add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/opcode -add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/ctrl_lines -add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/dbg_iname -add wave -noupdate -format Literal -radix hexadecimal -expand /tb_cpu/uut/inst_reg_ab/mem -add wave -noupdate -divider {Chip register} -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/creg_addr -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/creg_din -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/creg_dout -add wave -noupdate -format Literal /tb_cpu/uut/creg_ctrl_out -add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/dbg_iname -add wave -noupdate -format Logic /tb_cpu/clk -add wave -noupdate -format Logic /tb_cpu/uut/inst_int_ctrl/int_exit -add wave -noupdate -format Literal /tb_cpu/uut/inst_int_ctrl/int_state -TreeUpdate [SetDefaultTree] -WaveRestoreCursors {{Cursor 1} {136355 ps} 0} -configure wave -namecolwidth 166 -configure wave -valuecolwidth 101 -configure wave -justifyvalue left -configure wave -signalnamewidth 1 -configure wave -snapdistance 10 -configure wave -datasetprefix 0 -configure wave -rowmargin 4 -configure wave -childrowmargin 2 -configure wave -gridoffset 0 -configure wave -gridperiod 1 -configure wave -griddelta 40 -configure wave -timeline 0 -update -WaveRestoreZoom {93532 ps} {206468 ps} +onerror {resume} +quietly WaveActivateNextPane {} 0 +add wave -noupdate -format Logic /tb_cpu/rst +add wave -noupdate -format Logic /tb_cpu/clk +add wave -noupdate -format Logic /tb_cpu/ce +add wave -noupdate -format Logic /tb_cpu/uut/cpu_active +add wave -noupdate -format Logic /tb_cpu/int_in +add wave -noupdate -format Logic /tb_cpu/int_ack +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/irom_data +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/irom_addr +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/xmem_din +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/xmem_dout +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/xmem_addr +add wave -noupdate -format Logic /tb_cpu/xmem_we +add wave -noupdate -format Logic /tb_cpu/xmem_re +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/sram +add wave -noupdate -format Logic /tb_cpu/uut/io_sel +add wave -noupdate -format Literal /tb_cpu/uut/iphase +add wave -noupdate -divider CPU +add wave -noupdate -format Literal /tb_cpu/reg +add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/dbg_iname +add wave -noupdate -format Literal /tb_cpu/uut/cpu_status +add wave -noupdate -format Literal /tb_cpu/uut/status_reg +add wave -noupdate -format Literal /tb_cpu/uut/ctrl +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/stk_out +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/stk_in +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/stk_reg +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/pc_in +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/pc_next +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/idata +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/int_pc_addr +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/iphase +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/const_data +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/reg_a_dout +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/reg_b_dout +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/reg_din +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/alu_op1 +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/alu_op2 +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/alu_result +add wave -noupdate -format Literal /tb_cpu/uut/alu_status +add wave -noupdate -format Logic /tb_cpu/uut/pc_inc +add wave -noupdate -format Logic /tb_cpu/uut/pc_load +add wave -noupdate -format Logic /tb_cpu/uut/stk_we +add wave -noupdate -format Logic /tb_cpu/uut/cmem_we +add wave -noupdate -format Literal /tb_cpu/uut/ctrl_iphase +add wave -noupdate -format Logic /tb_cpu/uut/was_pcld +add wave -noupdate -format Logic /tb_cpu/uut/was_pop2pc +add wave -noupdate -format Logic /tb_cpu/uut/int_pc_load +add wave -noupdate -format Logic /tb_cpu/uut/int_stk_push +add wave -noupdate -format Logic /tb_cpu/uut/stk_push +add wave -noupdate -format Logic /tb_cpu/uut/stk_pop +add wave -noupdate -format Logic /tb_cpu/uut/status_save +add wave -noupdate -format Logic /tb_cpu/uut/status_restore +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/stk_ptr +add wave -noupdate -divider Stack +add wave -noupdate -format Logic /tb_cpu/clk +add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/dbg_iname +add wave -noupdate -format Logic /tb_cpu/uut/inst_stack_ctrl/push +add wave -noupdate -format Logic /tb_cpu/uut/inst_stack_ctrl/pop +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_stack_ctrl/din +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_stack_ctrl/dout +add wave -noupdate -format Logic /tb_cpu/uut/inst_stack_ctrl/mem_we +add wave -noupdate -divider Chipram +add wave -noupdate -format Logic /tb_cpu/uut/inst_chipram/we_a +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/din_a +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/addr_a +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/dout_a +add wave -noupdate -format Logic /tb_cpu/uut/inst_chipram/we_b +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/din_b +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/addr_b +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_chipram/dout_b +add wave -noupdate -divider Sequencer +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_dpath_ctrl/inst_in +add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/iphase_in +add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/status_in +add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/ctrl_out +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_dpath_ctrl/idout +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/inst_dpath_ctrl/ddout +add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/opcode +add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/ctrl_lines +add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/dbg_iname +add wave -noupdate -format Literal -radix hexadecimal -expand /tb_cpu/uut/inst_reg_ab/mem +add wave -noupdate -divider {Chip register} +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu/uut/creg_dout +add wave -noupdate -format Literal /tb_cpu/uut/creg_ctrl_out +add wave -noupdate -format Literal /tb_cpu/uut/inst_dpath_ctrl/dbg_iname +add wave -noupdate -format Logic /tb_cpu/clk +add wave -noupdate -format Logic /tb_cpu/uut/inst_int_ctrl/int_exit +add wave -noupdate -format Literal /tb_cpu/uut/inst_int_ctrl/int_state +TreeUpdate [SetDefaultTree] +WaveRestoreCursors {{Cursor 1} {136355 ps} 0} +configure wave -namecolwidth 166 +configure wave -valuecolwidth 101 +configure wave -justifyvalue left +configure wave -signalnamewidth 1 +configure wave -snapdistance 10 +configure wave -datasetprefix 0 +configure wave -rowmargin 4 +configure wave -childrowmargin 2 +configure wave -gridoffset 0 +configure wave -gridperiod 1 +configure wave -griddelta 40 +configure wave -timeline 0 +update +WaveRestoreZoom {49892711 ps} {50005647 ps} diff --git a/lib/CPUs/JCpu/sim/tb_cpu_embedded.wdo b/lib/CPUs/JCpu/sim/tb_cpu_embedded.wdo index caec2d7..4693a07 100644 --- a/lib/CPUs/JCpu/sim/tb_cpu_embedded.wdo +++ b/lib/CPUs/JCpu/sim/tb_cpu_embedded.wdo @@ -6,8 +6,8 @@ add wave -noupdate -format Logic /tb_cpu_embedded/ce add wave -noupdate -format Literal -radix hexadecimal /tb_cpu_embedded/sram add wave -noupdate -format Logic /tb_cpu_embedded/int_in add wave -noupdate -format Logic /tb_cpu_embedded/int_ack -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu_embedded/uut/rom_addr -add wave -noupdate -format Literal -radix hexadecimal /tb_cpu_embedded/uut/rom_data +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu_embedded/uut/xmem_addr +add wave -noupdate -format Literal -radix hexadecimal /tb_cpu_embedded/uut/xmem_din TreeUpdate [SetDefaultTree] WaveRestoreCursors {{Cursor 1} {2168142 ps} 0} configure wave -namecolwidth 143