soc.scoremulti package¶
Submodules¶
soc.scoremulti.dependence_cell module¶
-
class
soc.scoremulti.dependence_cell.
DependencyRow
(n_reg, n_src, n_dest, cancel_mode=False)¶ Bases:
nmigen.hdl.ir.Elaboratable
implements 11.4.7 mitch alsup dependence cell, p27 adjusted to be clock-sync’d on rising edge only. mitch design (as does 6600) requires alternating rising/falling clock
- SET mode: issue_i HI, go_i LO, reg_i HI - register is captured
- FWD is DISABLED (~issue_i)
- RSEL DISABLED
- QRY mode: issue_i LO, go_i LO, haz_i HI - FWD is ASSERTED
- reg_i HI - ignored
- GO mode : issue_i LO, go_i HI - RSEL is ASSERTED
- haz_i HI - FWD still can be ASSERTED
FWD assertion (hazard protection) therefore still occurs in both Query and Go Modes, for this cycle, due to the cq register
GO mode works for one cycle, again due to the cq register capturing the latch output. Without the cq register, the SR Latch (which is asynchronous) would be reset at the exact moment that GO was requested, and the RSEL would be garbage.
cancel_mode: individual bit-array of cancels rather than a global one
-
elaborate
(platform)¶
-
ports
()¶
-
soc.scoremulti.dependence_cell.
dcell_sim
(dut)¶
-
soc.scoremulti.dependence_cell.
test_dcell
()¶
soc.scoremulti.fu_dep_cell module¶
-
class
soc.scoremulti.fu_dep_cell.
FUDependenceCell
(dummy, n_fu, n_src, n_dest)¶ Bases:
nmigen.hdl.ir.Elaboratable
implements 11.4.7 mitch alsup dependence cell, p27
-
elaborate
(platform)¶
-
ports
()¶
-
-
soc.scoremulti.fu_dep_cell.
dcell_sim
(dut)¶
-
soc.scoremulti.fu_dep_cell.
test_dcell
()¶
soc.scoremulti.fu_fu_matrix module¶
-
class
soc.scoremulti.fu_fu_matrix.
FUFUDepMatrix
(n_fu_row, n_fu_col, n_src, n_dest)¶ Bases:
nmigen.hdl.ir.Elaboratable
implements 11.4.7 mitch alsup FU-to-Reg Dependency Matrix, p26
-
elaborate
(platform)¶
-
ports
()¶
-
-
soc.scoremulti.fu_fu_matrix.
d_matrix_sim
(dut)¶ XXX TODO
-
soc.scoremulti.fu_fu_matrix.
test_fu_fu_matrix
()¶
soc.scoremulti.fu_reg_matrix module¶
-
class
soc.scoremulti.fu_reg_matrix.
FURegDepMatrix
(n_fu_row, n_reg_col, n_src, n_dest, cancel=None)¶ Bases:
nmigen.hdl.ir.Elaboratable
implements 11.4.7 mitch alsup FU-to-Reg Dependency Matrix, p26
-
elaborate
(platform)¶
-
ports
()¶
-
-
soc.scoremulti.fu_reg_matrix.
d_matrix_sim
(dut)¶ XXX TODO
-
soc.scoremulti.fu_reg_matrix.
test_d_matrix
()¶
soc.scoremulti.fu_wr_pending module¶
soc.scoremulti.memfu module¶
-
class
soc.scoremulti.memfu.
MemFunctionUnits
(n_ldsts, addrbitwid)¶ Bases:
nmigen.hdl.ir.Elaboratable
-
elaborate
(platform)¶
-
ports
()¶
-
-
soc.scoremulti.memfu.
test_fumem
()¶