X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=cpudefs.py;h=b5217f94a203cd4024a169e1902d0aa561282635;hb=779656285c81f15617e621c7c4e7651e6013c7ef;hp=9a58cffa6feead8f7657502f94b6ccd9e78c1d2c;hpb=9ace1577e33842f2622d865f14c815d1b87f1a26;p=rv32.git diff --git a/cpudefs.py b/cpudefs.py index 9a58cff..b5217f9 100644 --- a/cpudefs.py +++ b/cpudefs.py @@ -26,32 +26,40 @@ from migen import Constant fetch_action = 3 -fetch_action_default = Constant(0x0, fetch_action) -fetch_action_fence = Constant(0x1, fetch_action) -fetch_action_jump = Constant(0x2, fetch_action) -fetch_action_wait = Constant(0x3, fetch_action) -fetch_action_error_trap = Constant(0x4, fetch_action) -fetch_action_noerror_trap = Constant(0x5, fetch_action) -fetch_action_ack_trap = Constant(0x6, fetch_action) +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 = Constant(0x0, fetch_output_state) -fetch_output_state_valid = Constant(0x1, fetch_output_state) -fetch_output_state_trap = Constant(0x2, fetch_output_state) +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 = Constant(0x1, decode_action) -decode_action_load = Constant(0x2, decode_action) -decode_action_fence = Constant(0x4, decode_action) -decode_action_fence_i = Constant(0x8, decode_action) -decode_action_op_op_imm = Constant(0x10, decode_action) -decode_action_lui_auipc = Constant(0x20, decode_action) -decode_action_store = Constant(0x40, decode_action) -decode_action_branch = Constant(0x80, decode_action) -decode_action_jalr = Constant(0x100, decode_action) -decode_action_jal = Constant(0x200, decode_action) -decode_action_trap_ecall_ebreak = Constant(0x400, decode_action) -decode_action_csr = Constant(0x800, decode_action) - +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)