coreblocks.frontend package

Submodules

coreblocks.frontend.frontend module

class coreblocks.frontend.frontend.CoreFrontend

Bases: Elaboratable

Frontend of the core.

Attributes
consume_instr: Method

Consume a single decoded instruction.

resume_from_exception: Method

Resume the frontend from the given PC after an exception.

resume_from_unsafe: Method

Resume the frontend from the given PC after an unsafe instruction.

stall: Method

Stall and flush the frontend.

__init__(*, gen_params: GenParams, instr_bus: BusMasterInterface)

coreblocks.frontend.frontend_params module

class coreblocks.frontend.frontend_params.FrontendParams

Bases: object

__init__(gen_params: GenParams)
fb_addr(pc: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value

Returns the fetch block address of a given PC.

fb_instr_idx(pc: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value

Returns the index of an instruction in a fetch block for a given instruction PC.

pc_from_fb(fb_addr: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, fb_instr_idx: int | amaranth.hdl._ast.Value) Value

For a given fetch block address and an instruction index, returns the instruction’s PC.

Module contents