X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=cpudefs.py;h=b5217f94a203cd4024a169e1902d0aa561282635;hb=refs%2Fheads%2Fmaster;hp=9877e36254368cb663ee8c585f5fae198fa476c2;hpb=a0d8aebe52270058674d2321a4b670dcf031df78;p=rv32.git diff --git a/cpudefs.py b/cpudefs.py index 9877e36..b5217f9 100644 --- a/cpudefs.py +++ b/cpudefs.py @@ -23,34 +23,43 @@ */ """ +from migen import Constant fetch_action = 3 -fetch_action_default = 0x0 -fetch_action_fence = 0x1 -fetch_action_jump = 0x2 -fetch_action_wait = 0x3 -fetch_action_error_trap = 0x4 -fetch_action_noerror_trap = 0x5 -fetch_action_ack_trap = 0x6 +class FA: + """ Fetch action constants + """ + default = Constant(0x0, fetch_action) + fence = Constant(0x1, fetch_action) + jump = Constant(0x2, fetch_action) + wait = Constant(0x3, fetch_action) + error_trap = Constant(0x4, fetch_action) + noerror_trap = Constant(0x5, fetch_action) + ack_trap = Constant(0x6, fetch_action) fetch_output_state = 2 -fetch_output_state_empty = 0x0 -fetch_output_state_valid = 0x1 -fetch_output_state_trap = 0x2 +class FOS: + """ Fetch output state constants + """ + empty = Constant(0x0, fetch_output_state) + valid = Constant(0x1, fetch_output_state) + trap = Constant(0x2, fetch_output_state) decode_action = 12 -decode_action_trap_illegal_instruction = 0x1 -decode_action_load = 0x2 -decode_action_fence = 0x4 -decode_action_fence_i = 0x8 -decode_action_op_op_imm = 0x10 -decode_action_lui_auipc = 0x20 -decode_action_store = 0x40 -decode_action_branch = 0x80 -decode_action_jalr = 0x100 -decode_action_jal = 0x200 -decode_action_trap_ecall_ebreak = 0x400 -decode_action_csr = 0x800 - +class DA: + """ Decode action constants + """ + trap_illegal_instruction = Constant(0x1, decode_action) + load = Constant(0x2, decode_action) + fence = Constant(0x4, decode_action) + fence_i = Constant(0x8, decode_action) + op_op_imm = Constant(0x10, decode_action) + lui_auipc = Constant(0x20, decode_action) + store = Constant(0x40, decode_action) + branch = Constant(0x80, decode_action) + jalr = Constant(0x100, decode_action) + jal = Constant(0x200, decode_action) + trap_ecall_ebreak = Constant(0x400, decode_action) + csr = Constant(0x800, decode_action)