//+FHDR-------------------------------------------------------------------------------------------------------- // Company: //----------------------------------------------------------------------------------------------------------------- // File Name : qbmcu.v // Department : // Author : PWY // Author's Tel : //----------------------------------------------------------------------------------------------------------------- // Relese History // Version Date Author Description // 0.1 2024-03-13 PWY The files to include all the macro undefs //----------------------------------------------------------------------------------------------------------------- // Keywords : // //----------------------------------------------------------------------------------------------------------------- // Parameter // //----------------------------------------------------------------------------------------------------------------- // Purpose : // //----------------------------------------------------------------------------------------------------------------- // Target Device: // Tool versions: //----------------------------------------------------------------------------------------------------------------- // Reuse Issues // Reset Strategy: // Clock Domains: // Critical Timing: // Asynchronous I/F: // Synthesizable (y/n): // Other: //-FHDR-------------------------------------------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////// ISA relevant macro // //system address width `undef QBMCU_ADDR_SIZE //PC width `undef QBMCU_PC_SIZE //system data width `undef QBMCU_XLEN //system instruction width `undef QBMCU_INSTR_SIZE //register array index bit width `undef QBMCU_RFIDX_WIDTH //number of register arrays `undef QBMCU_RFREG_NUM //base address of instruction memory //initial value of the program counter (PC) -> 0x0000_0000 `undef QBMCU_DTCM_ADDR_BASE //base address of data memory `undef QBMCU_ITCM_ADDR_BASE //data memory address width `undef QBMCU_DTCM_ADDR_SIZE //instruction memory address width `undef QBMCU_ITCM_ADDR_SIZE //BUS memory address width `undef QBMCU_BUS_ADDR_SIZE ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////// ALU relevant macro // `undef QBMCU_ALU_ADDER_WIDTH ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// /////// Decode relevant macro // `undef QBMCU_DECINFO_GRP_WIDTH `undef QBMCU_DECINFO_GRP_ALU `undef QBMCU_DECINFO_GRP_AGU `undef QBMCU_DECINFO_GRP_BJP `undef QBMCU_DECINFO_GRP_EXT `undef QBMCU_DECINFO_GRP_LSB `undef QBMCU_DECINFO_GRP_MSB `undef QBMCU_DECINFO_GRP `undef QBMCU_DECINFO_RV32_LSB `undef QBMCU_DECINFO_RV32_MSB `undef QBMCU_DECINFO_RV32 `undef QBMCU_DECINFO_SUBDECINFO_LSB // ALU group `undef QBMCU_DECINFO_ALU_ADD_LSB `undef QBMCU_DECINFO_ALU_ADD_MSB `undef QBMCU_DECINFO_ALU_ADD `undef QBMCU_DECINFO_ALU_SUB_LSB `undef QBMCU_DECINFO_ALU_SUB_MSB `undef QBMCU_DECINFO_ALU_SUB `undef QBMCU_DECINFO_ALU_XOR_LSB `undef QBMCU_DECINFO_ALU_XOR_MSB `undef QBMCU_DECINFO_ALU_XOR `undef QBMCU_DECINFO_ALU_SLL_LSB `undef QBMCU_DECINFO_ALU_SLL_MSB `undef QBMCU_DECINFO_ALU_SLL `undef QBMCU_DECINFO_ALU_SRL_LSB `undef QBMCU_DECINFO_ALU_SRL_MSB `undef QBMCU_DECINFO_ALU_SRL `undef QBMCU_DECINFO_ALU_SRA_LSB `undef QBMCU_DECINFO_ALU_SRA_MSB `undef QBMCU_DECINFO_ALU_SRA `undef QBMCU_DECINFO_ALU_OR_LSB `undef QBMCU_DECINFO_ALU_OR_MSB `undef QBMCU_DECINFO_ALU_OR `undef QBMCU_DECINFO_ALU_AND_LSB `undef QBMCU_DECINFO_ALU_AND_MSB `undef QBMCU_DECINFO_ALU_AND `undef QBMCU_DECINFO_ALU_SLT_LSB `undef QBMCU_DECINFO_ALU_SLT_MSB `undef QBMCU_DECINFO_ALU_SLT `undef QBMCU_DECINFO_ALU_SLTU_LSB `undef QBMCU_DECINFO_ALU_SLTU_MSB `undef QBMCU_DECINFO_ALU_SLTU `undef QBMCU_DECINFO_ALU_LUI_LSB `undef QBMCU_DECINFO_ALU_LUI_MSB `undef QBMCU_DECINFO_ALU_LUI `undef QBMCU_DECINFO_ALU_OP2IMM_LSB `undef QBMCU_DECINFO_ALU_OP2IMM_MSB `undef QBMCU_DECINFO_ALU_OP2IMM `undef QBMCU_DECINFO_ALU_OP1PC_LSB `undef QBMCU_DECINFO_ALU_OP1PC_MSB `undef QBMCU_DECINFO_ALU_OP1PC `undef QBMCU_DECINFO_ALU_NOP_LSB `undef QBMCU_DECINFO_ALU_NOP_MSB `undef QBMCU_DECINFO_ALU_NOP `undef QBMCU_DECINFO_ALU_WIDTH //AGU group `undef QBMCU_DECINFO_AGU_LOAD_LSB `undef QBMCU_DECINFO_AGU_LOAD_MSB `undef QBMCU_DECINFO_AGU_LOAD `undef QBMCU_DECINFO_AGU_STORE_LSB `undef QBMCU_DECINFO_AGU_STORE_MSB `undef QBMCU_DECINFO_AGU_STORE `undef QBMCU_DECINFO_AGU_SIZE_LSB `undef QBMCU_DECINFO_AGU_SIZE_MSB `undef QBMCU_DECINFO_AGU_SIZE `undef QBMCU_DECINFO_AGU_USIGN_LSB `undef QBMCU_DECINFO_AGU_USIGN_MSB `undef QBMCU_DECINFO_AGU_USIGN `undef QBMCU_DECINFO_AGU_OP2IMM_LSB `undef QBMCU_DECINFO_AGU_OP2IMM_MSB `undef QBMCU_DECINFO_AGU_OP2IMM `undef QBMCU_DECINFO_AGU_WIDTH // Bxx group `undef QBMCU_DECINFO_BJP_JUMP_LSB `undef QBMCU_DECINFO_BJP_JUMP_MSB `undef QBMCU_DECINFO_BJP_JUMP `undef QBMCU_DECINFO_BJP_BPRDT_LSB `undef QBMCU_DECINFO_BJP_BPRDT_MSB `undef QBMCU_DECINFO_BJP_JALR `undef QBMCU_DECINFO_BJP_BEQ_LSB `undef QBMCU_DECINFO_BJP_BEQ_MSB `undef QBMCU_DECINFO_BJP_BEQ `undef QBMCU_DECINFO_BJP_BNE_LSB `undef QBMCU_DECINFO_BJP_BNE_MSB `undef QBMCU_DECINFO_BJP_BNE `undef QBMCU_DECINFO_BJP_BLT_LSB `undef QBMCU_DECINFO_BJP_BLT_MSB `undef QBMCU_DECINFO_BJP_BLT `undef QBMCU_DECINFO_BJP_BGT_LSB `undef QBMCU_DECINFO_BJP_BGT_MSB `undef QBMCU_DECINFO_BJP_BGT `undef QBMCU_DECINFO_BJP_BLTU_LSB `undef QBMCU_DECINFO_BJP_BLTU_MSB `undef QBMCU_DECINFO_BJP_BLTU `undef QBMCU_DECINFO_BJP_BGTU_LSB `undef QBMCU_DECINFO_BJP_BGTU_MSB `undef QBMCU_DECINFO_BJP_BGTU `undef QBMCU_DECINFO_BJP_BXX_LSB `undef QBMCU_DECINFO_BJP_BXX_MSB `undef QBMCU_DECINFO_BJP_BXX `undef QBMCU_DECINFO_BJP_WIDTH // EXT group `undef QBMCU_DECINFO_EXT_WAIT_LSB `undef QBMCU_DECINFO_EXT_WAIT_MSB `undef QBMCU_DECINFO_EXT_WAIT `undef QBMCU_DECINFO_EXT_SEND_LSB `undef QBMCU_DECINFO_EXT_SEND_MSB `undef QBMCU_DECINFO_EXT_SEND `undef QBMCU_DECINFO_EXT_SENDC_LSB `undef QBMCU_DECINFO_EXT_SENDC_MSB `undef QBMCU_DECINFO_EXT_SENDC `undef QBMCU_DECINFO_EXT_EXIT_LSB `undef QBMCU_DECINFO_EXT_EXIT_MSB `undef QBMCU_DECINFO_EXT_EXIT `undef QBMCU_DECINFO_EXT_EXITI_LSB `undef QBMCU_DECINFO_EXT_EXITI_MSB `undef QBMCU_DECINFO_EXT_EXITI `undef QBMCU_DECINFO_EXT_OP2IMM_LSB `undef QBMCU_DECINFO_EXT_OP2IMM_MSB `undef QBMCU_DECINFO_EXT_OP2IMM `undef QBMCU_DECINFO_EXT_WIDTH // Choose the longest group as the final DEC info width `undef QBMCU_DECINFO_WIDTH