soc.fu.cr package

Submodules

soc.fu.cr.cr_input_record module

class soc.fu.cr.cr_input_record.CompCROpSubset(name=None)

Bases: soc.fu.base_input_record.CompOpSubsetBase

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

soc.fu.cr.main_stage module

class soc.fu.cr.main_stage.CRMainStage(pspec)

Bases: nmutil.pipemodbase.PipeModBase

elaborate(platform)
ispec()
ospec()

soc.fu.cr.pipe_data module

Links: * https://libre-soc.org/3d_gpu/architecture/regfile/ section on regspecs

class soc.fu.cr.pipe_data.CRInputData(pspec)

Bases: soc.fu.pipe_data.IntegerData

regspec = [('INT', 'ra', '0:63'), ('INT', 'rb', '0:63'), ('CR', 'full_cr', '0:31'), ('CR', 'cr_a', '0:3'), ('CR', 'cr_b', '0:3'), ('CR', 'cr_c', '0:3')]
class soc.fu.cr.pipe_data.CROutputData(pspec)

Bases: soc.fu.pipe_data.IntegerData

regspec = [('INT', 'o', '0:63'), ('CR', 'full_cr', '0:31'), ('CR', 'cr_a', '0:3')]
class soc.fu.cr.pipe_data.CRPipeSpec(id_wid)

Bases: soc.fu.pipe_data.CommonPipeSpec

opsubsetkls

alias of soc.fu.cr.cr_input_record.CompCROpSubset

regspec = ([('INT', 'ra', '0:63'), ('INT', 'rb', '0:63'), ('CR', 'full_cr', '0:31'), ('CR', 'cr_a', '0:3'), ('CR', 'cr_b', '0:3'), ('CR', 'cr_c', '0:3')], [('INT', 'o', '0:63'), ('CR', 'full_cr', '0:31'), ('CR', 'cr_a', '0:3')])

soc.fu.cr.pipeline module

class soc.fu.cr.pipeline.CRBasePipe(pspec)

Bases: nmutil.singlepipe.ControlBase

elaborate(platform)

handles case where stage has dynamic ready/valid functions

class soc.fu.cr.pipeline.CRStages(pspec)

Bases: nmutil.pipemodbase.PipeModBaseChain

get_chain()

Module contents