from nmigen.hdl.ast import unsigned
from nmigen import Module, Const, Signal, Array, Cat, Elaboratable, Memory
-from regfile.regfile import RegFileArray, treereduce
-from scoreboard.fu_fu_matrix import FUFUDepMatrix
-from scoreboard.fu_reg_matrix import FURegDepMatrix
-from scoreboard.global_pending import GlobalPending
-from scoreboard.group_picker import GroupPicker
-from scoreboard.issue_unit import IssueUnitGroup, IssueUnitArray, RegDecode
-from scoreboard.shadow import ShadowMatrix, BranchSpeculationRecord
-from scoreboard.instruction_q import Instruction, InstructionQ
-from scoreboard.memfu import MemFunctionUnits
+from soc.regfile.regfile import RegFileArray, treereduce
+from soc.scoreboard.fu_fu_matrix import FUFUDepMatrix
+from soc.scoreboard.fu_reg_matrix import FURegDepMatrix
+from soc.scoreboard.global_pending import GlobalPending
+from soc.scoreboard.group_picker import GroupPicker
+from soc.scoreboard.issue_unit import IssueUnitGroup, IssueUnitArray, RegDecode
+from soc.scoreboard.shadow import ShadowMatrix, BranchSpeculationRecord
+from soc.scoreboard.instruction_q import Instruction, InstructionQ
+from soc.scoreboard.memfu import MemFunctionUnits
from compalu import ComputationUnitNoDelay
from compldst import LDSTCompUnit
from nmutil.latch import SRLatch, latchregister
-from scoreboard.shadow import Shadow
+from soc.scoreboard.shadow import Shadow
class FnUnit(Elaboratable):
from nmigen.cli import verilog, rtlil
from nmigen import Module, Signal, Elaboratable, Array, Cat, Const
-from scoreboard.fumem_dep_cell import FUMemDependenceCell
-from scoreboard.fu_mem_picker_vec import FUMem_Pick_Vec
+from soc.scoreboard.fumem_dep_cell import FUMemDependenceCell
+from soc.scoreboard.fu_mem_picker_vec import FUMem_Pick_Vec
"""
from nmigen.cli import verilog, rtlil
from nmigen import Module, Signal, Elaboratable, Array, Cat, Repl
-from scoreboard.dependence_cell import DependencyRow
-from scoreboard.fu_wr_pending import FU_RW_Pend
-from scoreboard.reg_select import Reg_Rsv
-from scoreboard.global_pending import GlobalPending
+from soc.scoreboard.dependence_cell import DependencyRow
+from soc.scoreboard.fu_wr_pending import FU_RW_Pend
+from soc.scoreboard.reg_select import Reg_Rsv
+from soc.scoreboard.global_pending import GlobalPending
"""
from nmigen import Module, Signal, Cat, Array, Const, Repl, Elaboratable
from nmigen.lib.coding import Decoder
-from scoreboard.group_picker import PriorityPicker
+from soc.scoreboard.group_picker import PriorityPicker
class RegDecode(Elaboratable):
from nmigen.cli import verilog, rtlil
from nmigen import Module
-from scoreboard.fu_reg_matrix import FURegDepMatrix
-from scoreboard.addr_match import PartialAddrMatch
+from soc.scoreboard.fu_reg_matrix import FURegDepMatrix
+from soc.scoreboard.addr_match import PartialAddrMatch
class FUMemMatchMatrix(FURegDepMatrix, PartialAddrMatch):
""" implement a FU-Regs overload with memory-address matching
from nmigen.cli import verilog, rtlil
from nmigen import Module, Signal, Elaboratable, Array, Cat
-from scoreboard.mem_dependence_cell import MemDepRow
-from scoreboard.mem_fu_pending import MemFU_Pend
-from scoreboard.mem_select import Mem_Rsv
-from scoreboard.global_pending import GlobalPending
+from soc.scoreboard.mem_dependence_cell import MemDepRow
+from soc.scoreboard.mem_fu_pending import MemFU_Pend
+from soc.scoreboard.mem_select import Mem_Rsv
+from soc.scoreboard.global_pending import GlobalPending
"""
from nmigen.cli import verilog, rtlil
from nmigen import Module, Signal, Array, Elaboratable
-from scoreboard.fu_fu_matrix import FUFUDepMatrix
-from scoreboard.mdm import FUMemMatchMatrix
+from soc.scoreboard.fu_fu_matrix import FUFUDepMatrix
+from soc.scoreboard.mdm import FUMemMatchMatrix
class MemFunctionUnits(Elaboratable):
from nmigen import Module, Signal, Cat, Array, Const, Elaboratable, Repl
from nmigen.lib.coding import Decoder
-from scoreboard.shadow_fn import ShadowFn
+from soc.scoreboard.shadow_fn import ShadowFn
class ShadowMatrix(Elaboratable):
from nmigen.compat.sim import run_simulation
from nmigen.cli import verilog, rtlil
-from scoreboard.instruction_q import InstructionQ
+from soc.scoreboard.instruction_q import InstructionQ
from nmutil.nmoperator import eq
from nmigen import Module, Const, Signal, Array, Cat, Elaboratable
from regfile.regfile import RegFileArray, treereduce
-from scoreboard.global_pending import GlobalPending
-from scoreboard.group_picker import GroupPicker
-from scoreboard.issue_unit import IssueUnitGroup, IssueUnitArray, RegDecode
-from scoreboard.shadow import ShadowMatrix, BranchSpeculationRecord
-from scoreboard.memfu import MemFunctionUnits
+from soc.scoreboard.global_pending import GlobalPending
+from soc.scoreboard.group_picker import GroupPicker
+from soc.scoreboard.issue_unit import IssueUnitGroup, IssueUnitArray, RegDecode
+from soc.scoreboard.shadow import ShadowMatrix, BranchSpeculationRecord
+from soc.scoreboard.memfu import MemFunctionUnits
from nmutil.latch import SRLatch
from nmutil.nmoperator import eq
from nmigen import Module, Const, Signal, Array, Cat, Elaboratable
from regfile.regfile import RegFileArray, treereduce
-from scoreboard.ldst_matrix import LDSTDepMatrix
-from scoreboard.fu_mem_matrix import FUMemDepMatrix
-from scoreboard.global_pending import GlobalPending
-from scoreboard.group_picker import GroupPicker
-from scoreboard.issue_unit import IssueUnitGroup, IssueUnitArray, RegDecode
-from scoreboard.shadow import ShadowMatrix, BranchSpeculationRecord
+from soc.scoreboard.ldst_matrix import LDSTDepMatrix
+from soc.scoreboard.fu_mem_matrix import FUMemDepMatrix
+from soc.scoreboard.global_pending import GlobalPending
+from soc.scoreboard.group_picker import GroupPicker
+from soc.scoreboard.issue_unit import IssueUnitGroup, IssueUnitArray, RegDecode
+from soc.scoreboard.shadow import ShadowMatrix, BranchSpeculationRecord
from nmutil.latch import SRLatch
from nmutil.nmoperator import eq