soc.fu.mul package

Submodules

soc.fu.mul.main_stage module

class soc.fu.mul.main_stage.MulMainStage2(pspec)

Bases: nmutil.pipemodbase.PipeModBase

elaborate(platform)
ispec()
ospec()

soc.fu.mul.mul_input_record module

class soc.fu.mul.mul_input_record.CompMULOpSubset(name=None)

Bases: soc.fu.base_input_record.CompOpSubsetBase

a copy of the relevant subset information from Decode2Execute1Type needed for MUL operations. use with eq_from_execute1 (below) to grab subsets.

soc.fu.mul.output_stage module

class soc.fu.mul.output_stage.DivMulOutputStage(pspec)

Bases: soc.fu.alu.output_stage.ALUOutputStage

ispec()
ospec()

soc.fu.mul.pipe_data module

class soc.fu.mul.pipe_data.MulIntermediateData(pspec)

Bases: soc.fu.div.pipe_data.DivInputData

class soc.fu.mul.pipe_data.MulOutputData(pspec)

Bases: soc.fu.pipe_data.IntegerData

regspec = [('INT', 'o', '0:128'), ('XER', 'xer_so', '32')]
class soc.fu.mul.pipe_data.MulPipeSpec(id_wid)

Bases: soc.fu.pipe_data.CommonPipeSpec

opsubsetkls

alias of soc.fu.mul.mul_input_record.CompMULOpSubset

regspec = ([('INT', 'ra', '0:63'), ('INT', 'rb', '0:63'), ('XER', 'xer_so', '32')], [('INT', 'o', '0:63'), ('CR', 'cr_a', '0:3'), ('XER', 'xer_ov', '33,44'), ('XER', 'xer_so', '32')])

soc.fu.mul.pipeline module

class soc.fu.mul.pipeline.MulBasePipe(pspec)

Bases: nmutil.singlepipe.ControlBase

elaborate(platform)

handles case where stage has dynamic ready/valid functions

class soc.fu.mul.pipeline.MulStages1(pspec)

Bases: nmutil.pipemodbase.PipeModBaseChain

get_chain()
class soc.fu.mul.pipeline.MulStages2(pspec)

Bases: nmutil.pipemodbase.PipeModBaseChain

get_chain()
class soc.fu.mul.pipeline.MulStages3(pspec)

Bases: nmutil.pipemodbase.PipeModBaseChain

get_chain()

soc.fu.mul.post_stage module

bugreports/links: * https://libre-soc.org/openpower/isa/fixedarith/ * https://bugs.libre-soc.org/show_bug.cgi?id=432 * https://bugs.libre-soc.org/show_bug.cgi?id=323

class soc.fu.mul.post_stage.MulMainStage3(pspec)

Bases: nmutil.pipemodbase.PipeModBase

elaborate(platform)
ispec()
ospec()

soc.fu.mul.pre_stage module

class soc.fu.mul.pre_stage.MulMainStage1(pspec)

Bases: nmutil.pipemodbase.PipeModBase

elaborate(platform)
ispec()
ospec()

Module contents