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: Method
rf_write_val: Method
rob_mark_done: Method
rs_update: Method

coreblocks.backend.retirement module

class coreblocks.backend.retirement.Retirement

Bases: Elaboratable

__init__(gen_params: GenParams)

Module contents