soc.fu.alu package¶
Subpackages¶
Submodules¶
soc.fu.alu.alu_input_record module¶
-
class
soc.fu.alu.alu_input_record.CompALUOpSubset(name=None)¶ Bases:
soc.fu.base_input_record.CompOpSubsetBasea copy of the relevant subset information from Decode2Execute1Type needed for ALU operations. use with eq_from_execute1 (below) to grab subsets.
soc.fu.alu.input_stage module¶
-
class
soc.fu.alu.input_stage.ALUInputStage(pspec)¶ Bases:
soc.fu.common_input_stage.CommonInputStage-
elaborate(platform)¶
-
ispec()¶
-
ospec()¶
-
soc.fu.alu.main_stage module¶
-
class
soc.fu.alu.main_stage.ALUMainStage(pspec)¶ Bases:
nmutil.pipemodbase.PipeModBase-
elaborate(platform)¶
-
ispec()¶
-
ospec()¶
-
-
soc.fu.alu.main_stage.calc_ov(msb_a, msb_b, ca, msb_r)¶
soc.fu.alu.output_stage module¶
-
class
soc.fu.alu.output_stage.ALUOutputStage(pspec)¶ Bases:
soc.fu.common_output_stage.CommonOutputStage-
elaborate(platform)¶
-
ispec()¶
-
ospec()¶
-
soc.fu.alu.pipe_data module¶
-
class
soc.fu.alu.pipe_data.ALUInputData(pspec)¶ Bases:
soc.fu.pipe_data.IntegerData-
regspec= [('INT', 'ra', '0:63'), ('INT', 'rb', '0:63'), ('XER', 'xer_so', '32'), ('XER', 'xer_ca', '34,45')]¶
-
-
class
soc.fu.alu.pipe_data.ALUOutputData(pspec)¶ Bases:
soc.fu.pipe_data.IntegerData-
regspec= [('INT', 'o', '0:63'), ('CR', 'cr_a', '0:3'), ('XER', 'xer_ca', '34,45'), ('XER', 'xer_ov', '33,44'), ('XER', 'xer_so', '32')]¶
-
-
class
soc.fu.alu.pipe_data.ALUPipeSpec(id_wid)¶ Bases:
soc.fu.pipe_data.CommonPipeSpec-
opsubsetkls¶
-
regspec= ([('INT', 'ra', '0:63'), ('INT', 'rb', '0:63'), ('XER', 'xer_so', '32'), ('XER', 'xer_ca', '34,45')], [('INT', 'o', '0:63'), ('CR', 'cr_a', '0:3'), ('XER', 'xer_ca', '34,45'), ('XER', 'xer_ov', '33,44'), ('XER', 'xer_so', '32')])¶
-
soc.fu.alu.pipeline module¶
-
class
soc.fu.alu.pipeline.ALUBasePipe(pspec)¶ Bases:
nmutil.singlepipe.ControlBase-
elaborate(platform)¶ handles case where stage has dynamic ready/valid functions
-