-from nmigen import Signal, Const, Cat
from soc.fu.alu.alu_input_record import CompALUOpSubset
from soc.fu.pipe_data import IntegerData, CommonPipeSpec
-from ieee754.fpcommon.getop import FPPipeContext
-from soc.decoder.power_decoder2 import Data
class ALUInputData(IntegerData):
op_bctarl CR, TAR, CTR
"""
-from nmigen import Signal, Const, Cat
-from ieee754.fpcommon.getop import FPPipeContext
-from soc.decoder.power_decoder2 import Data
from soc.fu.pipe_data import IntegerData, CommonPipeSpec
from soc.fu.branch.br_input_record import CompBROpSubset # TODO: replace
Links:
* https://libre-soc.org/3d_gpu/architecture/regfile/ section on regspecs
"""
-from nmigen import Signal, Const, Cat
-from ieee754.fpcommon.getop import FPPipeContext
from soc.fu.pipe_data import IntegerData, CommonPipeSpec
from soc.fu.cr.cr_input_record import CompCROpSubset
-from soc.decoder.power_decoder2 import Data
class CRInputData(IntegerData):
-from nmigen import Signal, Const
from soc.fu.alu.alu_input_record import CompLDSTOpSubset
-from soc.fu.pipe_data import IntegerData, CommonPipeSpec
-from ieee754.fpcommon.getop import FPPipeContext
-from soc.decoder.power_decoder2 import Data
+from soc.fu.pipe_data import IntegerData
class LDSTInputData(IntegerData):
-from nmigen import Signal, Const, Cat
-from ieee754.fpcommon.getop import FPPipeContext
from soc.fu.pipe_data import IntegerData
-from soc.decoder.power_decoder2 import Data
from soc.fu.alu.pipe_data import ALUOutputData, CommonPipeSpec
from soc.fu.logical.logical_input_record import CompLogicalOpSubset
-from nmigen import Signal, Const, Cat
-from nmutil.dynamicpipe import SimpleHandshakeRedir
from soc.fu.shift_rot.sr_input_record import CompSROpSubset
-from ieee754.fpcommon.getop import FPPipeContext
from soc.fu.pipe_data import IntegerData, CommonPipeSpec
from soc.fu.logical.pipe_data import LogicalOutputData
-from nmutil.dynamicpipe import SimpleHandshakeRedir
class ShiftRotInputData(IntegerData):
* https://libre-soc.org/openpower/isa/sprset/
"""
-from nmigen import Signal, Const
-from ieee754.fpcommon.getop import FPPipeContext
from soc.fu.pipe_data import IntegerData
-from soc.decoder.power_decoder2 import Data
from soc.fu.spr.spr_input_record import CompSPROpSubset
class SPRPipeSpec:
regspec = (SPRInputData.regspec, SPROutputData.regspec)
opsubsetkls = CompSPROpSubset
- def __init__(self, id_wid, op_wid):
- self.id_wid = id_wid
- self.op_wid = op_wid
- self.opkls = lambda _: self.opsubsetkls(name="op")
- self.stage = None
- self.pipekls = SimpleHandshakeRedir
-from nmigen import Signal, Const
-from ieee754.fpcommon.getop import FPPipeContext
from soc.fu.pipe_data import IntegerData
-from soc.decoder.power_decoder2 import Data
-from nmutil.dynamicpipe import SimpleHandshakeRedir
from soc.fu.alu.alu_input_record import CompALUOpSubset # TODO: replace
class TrapPipeSpec:
regspec = (TrapInputData.regspec, TrapOutputData.regspec)
opsubsetkls = CompALUOpSubset
- def __init__(self, id_wid, op_wid):
- self.id_wid = id_wid
- self.op_wid = op_wid
- self.opkls = lambda _: self.opsubsetkls(name="op")
- self.stage = None
- self.pipekls = SimpleHandshakeRedir