coreblocks.backend package

Submodules

coreblocks.backend.announcement module

class coreblocks.backend.announcement.ResultAnnouncement

Bases: Elaboratable

Simple result announce unit. It takes an executed instruction and sends its results to ROB, RF and RS. ROB marks the instruction as completed. The RF stores the result value of the instruction. The value is also sent to RS in case if there is an instruction which waits for this value.

Attributes:
push_resultMethod, provided

Should be called to perform result announcement.

rob_mark_doneMethod, required

Method which is invoked to mark that instruction ended.

rs_updateMethod, required

Method which is invoked to pass value which is an output of finished instruction to RS, so that RS can save it if there are instructions which wait for it.

rf_writeMethod, required

Method which is invoked to save value which is an output of finished instruction to RF.

__init__(*, gen_params: GenParams)
Parameters:
gen_paramsGenParams

Instance of GenParams with parameters which should be used to generate fetch unit.

push_result: PROVIDED: 1>]
rf_write_val: REQUIRED: 2>]
rob_mark_done: REQUIRED: 2>]
rs_update: REQUIRED: 2>]

coreblocks.backend.retirement module

class coreblocks.backend.retirement.Retirement

Bases: Elaboratable

__init__(gen_params: GenParams)

Module contents