1
0
mirror of https://github.com/j-core/j-core-ice40.git synced 2026-04-19 09:10:05 +00:00

Add simulation stuff for register file

This commit is contained in:
J
2019-03-14 22:56:02 -04:00
parent 2f0f7d2797
commit beada4032f
3 changed files with 81 additions and 44 deletions

View File

@@ -12,5 +12,5 @@ ghdl -a cpu_lattice.vhd lattice_tb.vhd
ghdl -e lattice_tb
./lattice_tb --stop-time=2700ns --wave=out.ghw --ieee-asserts=disable-at-0 > /dev/null
./lattice_tb --stop-time=3000ns --wave=out.ghw --ieee-asserts=disable-at-0 --activity=all > /dev/null
./lattice_tb --stop-time=2ms --ieee-asserts=disable-at-0

112
reg.gtkw
View File

@@ -1,57 +1,87 @@
[*]
[*] GTKWave Analyzer v3.3.83 (w)1999-2017 BSI
[*] Fri Mar 8 06:32:33 2019
[*] GTKWave Analyzer v3.3.99 (w)1999-2019 BSI
[*] Fri Mar 15 02:52:16 2019
[*]
[dumpfile] "/Users/jeff/work/J1/jcore-j1/out.ghw"
[dumpfile_mtime] "Fri Mar 8 06:15:35 2019"
[dumpfile_size] 4606
[dumpfile_mtime] "Fri Mar 15 02:51:31 2019"
[dumpfile_size] 317025
[savefile] "/Users/jeff/work/J1/jcore-j1/reg.gtkw"
[timestart] 1065500000
[size] 1680 686
[pos] 0 -1
*-26.725002 1236300000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
[treeopen] lattice_tb.
[treeopen] lattice_tb.fp.
[treeopen] lattice_tb.fp.cpu1.
[treeopen] lattice_tb.fp.cpu1.u_datapath.
[sst_width] 323
[timestart] 0
[size] 1680 878
[pos] -1 -1
*-28.788557 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
[treeopen] top.
[treeopen] top.lattice_tb.
[treeopen] top.lattice_tb.fp.
[treeopen] top.lattice_tb.fp.cpu1.
[treeopen] top.lattice_tb.fp.cpu1.u_datapath.
[treeopen] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.
[treeopen] top.lattice_tb.fp.cpu1.u_decode.
[treeopen] top.lattice_tb.fp.sram.
[treeopen] top.lattice_tb.fp.sram.db_i.
[treeopen] top.lattice_tb.fp.sram.db_o.
[treeopen] top.lattice_tb.fp.sram.ibus_i.
[treeopen] top.lattice_tb.fp.sram.ibus_o.
[sst_width] 193
[signals_width] 159
[sst_expanded] 1
[sst_vpaned_height] 198
[sst_vpaned_height] 459
@28
top.lattice_tb.fp.rst
top.lattice_tb.fp.clk
top.lattice_tb.fp.cpu1.u_datapath.slot_o
@22
#{top.lattice_tb.fp.cpu1.u_decode.if_dr[15:0]} top.lattice_tb.fp.cpu1.u_decode.if_dr[15] top.lattice_tb.fp.cpu1.u_decode.if_dr[14] top.lattice_tb.fp.cpu1.u_decode.if_dr[13] top.lattice_tb.fp.cpu1.u_decode.if_dr[12] top.lattice_tb.fp.cpu1.u_decode.if_dr[11] top.lattice_tb.fp.cpu1.u_decode.if_dr[10] top.lattice_tb.fp.cpu1.u_decode.if_dr[9] top.lattice_tb.fp.cpu1.u_decode.if_dr[8] top.lattice_tb.fp.cpu1.u_decode.if_dr[7] top.lattice_tb.fp.cpu1.u_decode.if_dr[6] top.lattice_tb.fp.cpu1.u_decode.if_dr[5] top.lattice_tb.fp.cpu1.u_decode.if_dr[4] top.lattice_tb.fp.cpu1.u_decode.if_dr[3] top.lattice_tb.fp.cpu1.u_decode.if_dr[2] top.lattice_tb.fp.cpu1.u_decode.if_dr[1] top.lattice_tb.fp.cpu1.u_decode.if_dr[0]
@200
-
@22
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[31:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[31] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[30] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[29] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[28] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[27] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[26] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[25] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[24] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[23] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[22] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[21] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[20] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[19] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[18] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[17] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[16] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[15] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[14] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[13] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[12] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[11] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[10] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[9] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[8] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[7] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[6] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[5] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[0]
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_ex[4:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_ex[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_ex[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_ex[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_ex[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_ex[0]
@28
top.lattice_tb.fp.cpu1.u_datapath.u_regfile.we_ex
@22
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[31:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[31] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[30] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[29] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[28] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[27] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[26] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[25] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[24] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[23] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[22] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[21] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[20] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[19] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[18] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[17] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[16] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[15] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[14] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[13] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[12] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[11] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[10] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[9] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[8] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[7] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[6] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[5] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[0]
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_wb[4:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_wb[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_wb[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_wb[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_wb[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_wb[0]
@28
top.lattice_tb.fp.cpu1.u_datapath.u_regfile.we_wb
@22
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[31:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[31] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[30] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[29] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[28] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[27] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[26] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[25] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[24] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[23] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[22] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[21] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[20] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[19] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[18] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[17] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[16] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[15] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[14] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[13] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[12] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[11] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[10] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[9] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[8] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[7] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[6] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[5] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[0]
top.lattice_tb.fp.cpu1.u_datapath.u_regfile.aw
@29
lattice_tb.fp.cpu1.u_datapath.u_regfile.clk
@22
lattice_tb.fp.le[7:0]
lattice_tb.fp.cpu1.if_dr[15:0]
top.lattice_tb.fp.cpu1.u_datapath.u_regfile.we
@200
-
@22
lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_ra[4:0]
lattice_tb.fp.cpu1.u_datapath.u_regfile.da[31:0]
lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_rb[4:0]
lattice_tb.fp.cpu1.u_datapath.u_regfile.db[31:0]
lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[31:0]
lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[31:0]
lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[31:0]
@200
-
@28
lattice_tb.fp.cpu1.u_datapath.u_regfile.we_ex
@22
lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_ex[4:0]
lattice_tb.fp.cpu1.u_datapath.u_regfile.din_ex[31:0]
@28
lattice_tb.fp.cpu1.u_datapath.u_regfile.we_wb
@22
lattice_tb.fp.cpu1.u_datapath.u_regfile.w_addr_wb[4:0]
lattice_tb.fp.cpu1.u_datapath.u_regfile.din_wb[31:0]
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_ra[4:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_ra[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_ra[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_ra[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_ra[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_ra[0]
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.aa[4:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.aa[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.aa[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.aa[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.aa[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.aa[0]
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[31:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[31] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[30] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[29] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[28] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[27] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[26] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[25] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[24] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[23] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[22] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[21] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[20] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[19] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[18] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[17] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[16] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[15] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[14] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[13] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[12] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[11] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[10] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[9] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[8] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[7] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[6] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[5] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.da[0]
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[31:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[31] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[30] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[29] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[28] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[27] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[26] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[25] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[24] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[23] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[22] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[21] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[20] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[19] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[18] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[17] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[16] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[15] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[14] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[13] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[12] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[11] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[10] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[9] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[8] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[7] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[6] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[5] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_a[0]
@200
-
@22
lattice_tb.fp.cpu1.u_datapath.u_regfile.wr_data_o[31:0]
@28
lattice_tb.fp.cpu1.u_datapath.u_regfile.ce
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_rb[4:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_rb[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_rb[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_rb[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_rb[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.addr_rb[0]
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.ab[4:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.ab[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.ab[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.ab[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.ab[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.ab[0]
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[31:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[31] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[30] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[29] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[28] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[27] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[26] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[25] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[24] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[23] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[22] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[21] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[20] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[19] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[18] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[17] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[16] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[15] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[14] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[13] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[12] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[11] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[10] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[9] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[8] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[7] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[6] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[5] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.db[0]
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[31:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[31] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[30] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[29] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[28] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[27] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[26] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[25] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[24] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[23] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[22] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[21] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[20] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[19] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[18] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[17] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[16] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[15] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[14] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[13] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[12] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[11] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[10] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[9] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[8] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[7] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[6] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[5] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_b[0]
@200
-
@22
lattice_tb.fp.cpu1.u_datapath.u_regfile.reg0[31:0]
#{top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[31:0]} top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[31] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[30] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[29] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[28] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[27] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[26] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[25] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[24] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[23] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[22] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[21] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[20] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[19] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[18] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[17] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[16] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[15] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[14] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[13] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[12] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[11] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[10] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[9] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[8] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[7] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[6] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[5] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[4] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[3] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[2] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[1] top.lattice_tb.fp.cpu1.u_datapath.u_regfile.dout_0[0]
@200
-
@22
#{top.lattice_tb.fp.sram.ibus_i.a[31:1]} top.lattice_tb.fp.sram.ibus_i.a[31] top.lattice_tb.fp.sram.ibus_i.a[30] top.lattice_tb.fp.sram.ibus_i.a[29] top.lattice_tb.fp.sram.ibus_i.a[28] top.lattice_tb.fp.sram.ibus_i.a[27] top.lattice_tb.fp.sram.ibus_i.a[26] top.lattice_tb.fp.sram.ibus_i.a[25] top.lattice_tb.fp.sram.ibus_i.a[24] top.lattice_tb.fp.sram.ibus_i.a[23] top.lattice_tb.fp.sram.ibus_i.a[22] top.lattice_tb.fp.sram.ibus_i.a[21] top.lattice_tb.fp.sram.ibus_i.a[20] top.lattice_tb.fp.sram.ibus_i.a[19] top.lattice_tb.fp.sram.ibus_i.a[18] top.lattice_tb.fp.sram.ibus_i.a[17] top.lattice_tb.fp.sram.ibus_i.a[16] top.lattice_tb.fp.sram.ibus_i.a[15] top.lattice_tb.fp.sram.ibus_i.a[14] top.lattice_tb.fp.sram.ibus_i.a[13] top.lattice_tb.fp.sram.ibus_i.a[12] top.lattice_tb.fp.sram.ibus_i.a[11] top.lattice_tb.fp.sram.ibus_i.a[10] top.lattice_tb.fp.sram.ibus_i.a[9] top.lattice_tb.fp.sram.ibus_i.a[8] top.lattice_tb.fp.sram.ibus_i.a[7] top.lattice_tb.fp.sram.ibus_i.a[6] top.lattice_tb.fp.sram.ibus_i.a[5] top.lattice_tb.fp.sram.ibus_i.a[4] top.lattice_tb.fp.sram.ibus_i.a[3] top.lattice_tb.fp.sram.ibus_i.a[2] top.lattice_tb.fp.sram.ibus_i.a[1]
#{top.lattice_tb.fp.sram.ibus_o.d[15:0]} top.lattice_tb.fp.sram.ibus_o.d[15] top.lattice_tb.fp.sram.ibus_o.d[14] top.lattice_tb.fp.sram.ibus_o.d[13] top.lattice_tb.fp.sram.ibus_o.d[12] top.lattice_tb.fp.sram.ibus_o.d[11] top.lattice_tb.fp.sram.ibus_o.d[10] top.lattice_tb.fp.sram.ibus_o.d[9] top.lattice_tb.fp.sram.ibus_o.d[8] top.lattice_tb.fp.sram.ibus_o.d[7] top.lattice_tb.fp.sram.ibus_o.d[6] top.lattice_tb.fp.sram.ibus_o.d[5] top.lattice_tb.fp.sram.ibus_o.d[4] top.lattice_tb.fp.sram.ibus_o.d[3] top.lattice_tb.fp.sram.ibus_o.d[2] top.lattice_tb.fp.sram.ibus_o.d[1] top.lattice_tb.fp.sram.ibus_o.d[0]
@200
-
@22
#{top.lattice_tb.fp.sram.db_i.a[31:0]} top.lattice_tb.fp.sram.db_i.a[31] top.lattice_tb.fp.sram.db_i.a[30] top.lattice_tb.fp.sram.db_i.a[29] top.lattice_tb.fp.sram.db_i.a[28] top.lattice_tb.fp.sram.db_i.a[27] top.lattice_tb.fp.sram.db_i.a[26] top.lattice_tb.fp.sram.db_i.a[25] top.lattice_tb.fp.sram.db_i.a[24] top.lattice_tb.fp.sram.db_i.a[23] top.lattice_tb.fp.sram.db_i.a[22] top.lattice_tb.fp.sram.db_i.a[21] top.lattice_tb.fp.sram.db_i.a[20] top.lattice_tb.fp.sram.db_i.a[19] top.lattice_tb.fp.sram.db_i.a[18] top.lattice_tb.fp.sram.db_i.a[17] top.lattice_tb.fp.sram.db_i.a[16] top.lattice_tb.fp.sram.db_i.a[15] top.lattice_tb.fp.sram.db_i.a[14] top.lattice_tb.fp.sram.db_i.a[13] top.lattice_tb.fp.sram.db_i.a[12] top.lattice_tb.fp.sram.db_i.a[11] top.lattice_tb.fp.sram.db_i.a[10] top.lattice_tb.fp.sram.db_i.a[9] top.lattice_tb.fp.sram.db_i.a[8] top.lattice_tb.fp.sram.db_i.a[7] top.lattice_tb.fp.sram.db_i.a[6] top.lattice_tb.fp.sram.db_i.a[5] top.lattice_tb.fp.sram.db_i.a[4] top.lattice_tb.fp.sram.db_i.a[3] top.lattice_tb.fp.sram.db_i.a[2] top.lattice_tb.fp.sram.db_i.a[1] top.lattice_tb.fp.sram.db_i.a[0]
#{top.lattice_tb.fp.sram.db_i.we[3:0]} top.lattice_tb.fp.sram.db_i.we[3] top.lattice_tb.fp.sram.db_i.we[2] top.lattice_tb.fp.sram.db_i.we[1] top.lattice_tb.fp.sram.db_i.we[0]
#{top.lattice_tb.fp.sram.db_i.d[31:0]} top.lattice_tb.fp.sram.db_i.d[31] top.lattice_tb.fp.sram.db_i.d[30] top.lattice_tb.fp.sram.db_i.d[29] top.lattice_tb.fp.sram.db_i.d[28] top.lattice_tb.fp.sram.db_i.d[27] top.lattice_tb.fp.sram.db_i.d[26] top.lattice_tb.fp.sram.db_i.d[25] top.lattice_tb.fp.sram.db_i.d[24] top.lattice_tb.fp.sram.db_i.d[23] top.lattice_tb.fp.sram.db_i.d[22] top.lattice_tb.fp.sram.db_i.d[21] top.lattice_tb.fp.sram.db_i.d[20] top.lattice_tb.fp.sram.db_i.d[19] top.lattice_tb.fp.sram.db_i.d[18] top.lattice_tb.fp.sram.db_i.d[17] top.lattice_tb.fp.sram.db_i.d[16] top.lattice_tb.fp.sram.db_i.d[15] top.lattice_tb.fp.sram.db_i.d[14] top.lattice_tb.fp.sram.db_i.d[13] top.lattice_tb.fp.sram.db_i.d[12] top.lattice_tb.fp.sram.db_i.d[11] top.lattice_tb.fp.sram.db_i.d[10] top.lattice_tb.fp.sram.db_i.d[9] top.lattice_tb.fp.sram.db_i.d[8] top.lattice_tb.fp.sram.db_i.d[7] top.lattice_tb.fp.sram.db_i.d[6] top.lattice_tb.fp.sram.db_i.d[5] top.lattice_tb.fp.sram.db_i.d[4] top.lattice_tb.fp.sram.db_i.d[3] top.lattice_tb.fp.sram.db_i.d[2] top.lattice_tb.fp.sram.db_i.d[1] top.lattice_tb.fp.sram.db_i.d[0]
#{top.lattice_tb.fp.sram.db_o.d[31:0]} top.lattice_tb.fp.sram.db_o.d[31] top.lattice_tb.fp.sram.db_o.d[30] top.lattice_tb.fp.sram.db_o.d[29] top.lattice_tb.fp.sram.db_o.d[28] top.lattice_tb.fp.sram.db_o.d[27] top.lattice_tb.fp.sram.db_o.d[26] top.lattice_tb.fp.sram.db_o.d[25] top.lattice_tb.fp.sram.db_o.d[24] top.lattice_tb.fp.sram.db_o.d[23] top.lattice_tb.fp.sram.db_o.d[22] top.lattice_tb.fp.sram.db_o.d[21] top.lattice_tb.fp.sram.db_o.d[20] top.lattice_tb.fp.sram.db_o.d[19] top.lattice_tb.fp.sram.db_o.d[18] top.lattice_tb.fp.sram.db_o.d[17] top.lattice_tb.fp.sram.db_o.d[16] top.lattice_tb.fp.sram.db_o.d[15] top.lattice_tb.fp.sram.db_o.d[14] top.lattice_tb.fp.sram.db_o.d[13] top.lattice_tb.fp.sram.db_o.d[12] top.lattice_tb.fp.sram.db_o.d[11] top.lattice_tb.fp.sram.db_o.d[10] top.lattice_tb.fp.sram.db_o.d[9] top.lattice_tb.fp.sram.db_o.d[8] top.lattice_tb.fp.sram.db_o.d[7] top.lattice_tb.fp.sram.db_o.d[6] top.lattice_tb.fp.sram.db_o.d[5] top.lattice_tb.fp.sram.db_o.d[4] top.lattice_tb.fp.sram.db_o.d[3] top.lattice_tb.fp.sram.db_o.d[2] top.lattice_tb.fp.sram.db_o.d[1] top.lattice_tb.fp.sram.db_o.d[0]
@200
-
@22
#{top.lattice_tb.led[7:0]} top.lattice_tb.led[7] top.lattice_tb.led[6] top.lattice_tb.led[5] top.lattice_tb.led[4] top.lattice_tb.led[3] top.lattice_tb.led[2] top.lattice_tb.led[1] top.lattice_tb.led[0]
[pattern_trace] 1
[pattern_trace] 0

View File

@@ -116,7 +116,8 @@ architecture two_bank of register_file is
signal ex_pipes : ex_pipeline_t;
signal wb_pipe : reg_pipe_t;
signal aw : integer := 0;
signal we : std_logic;
begin
wb_pipe.en <= we_wb;
wb_pipe.addr <= w_addr_wb;
@@ -155,6 +156,8 @@ begin
ab <= (others => '0');
da <= (others => '0');
db <= (others => '0');
aw <= 0;
we <= '0';
elsif (rising_edge(clk) and ce = '1') then
aa <= addr_ra;
ab <= addr_rb;
@@ -178,6 +181,8 @@ begin
wr_data_o <= data;
bank_a(addr) <= data;
bank_b(addr) <= data;
aw <= addr;
we <= '1';
if (addr = 0) then
reg0 <= data;
end if;
@@ -188,8 +193,10 @@ begin
if (addr = to_reg_index(addr_rb)) then
db <= data;
end if;
else
we <= '0';
end if;
ex_pipes(2) <= ex_pipes(1);
ex_pipes(1) <= ex_pipes(0);
end if;