URL
https://opencores.org/ocsvn/yifive/yifive/trunk
Subversion Repositories yifive
[/] [yifive/] [trunk/] [caravel_yifive/] [verilog/] [rtl/] [syntacore/] [scr1/] [src/] [includes/] [scr1_ipic.svh] - Rev 11
Compare with Previous | Blame | View Log
/// @file <scr1_ipic.svh>/// @brief IPIC header file///`ifndef SCR1_IPIC_SVH`define SCR1_IPIC_SVH`include "scr1_arch_description.svh"`ifdef SCR1_IPIC_EN//-------------------------------------------------------------------------------// Parameters declaration//-------------------------------------------------------------------------------parameter SCR1_IRQ_VECT_NUM = 16; // must be power of 2 in the current implementationparameter SCR1_IRQ_VECT_WIDTH = $clog2(SCR1_IRQ_VECT_NUM+1);parameter SCR1_IRQ_LINES_NUM = SCR1_IRQ_VECT_NUM;parameter SCR1_IRQ_LINES_WIDTH = $clog2(SCR1_IRQ_LINES_NUM);parameter logic [SCR1_IRQ_VECT_WIDTH-1:0] SCR1_IRQ_VOID_VECT_NUM = SCR1_IRQ_VECT_WIDTH'(SCR1_IRQ_VECT_NUM);parameter SCR1_IRQ_IDX_WIDTH = $clog2(SCR1_IRQ_VECT_NUM);// Address decoding parametersparameter logic [2:0] SCR1_IPIC_CISV = 3'h0; // ROparameter logic [2:0] SCR1_IPIC_CICSR = 3'h1; // {IP, IE}parameter logic [2:0] SCR1_IPIC_IPR = 3'h2; // RW1Cparameter logic [2:0] SCR1_IPIC_ISVR = 3'h3; // ROparameter logic [2:0] SCR1_IPIC_EOI = 3'h4; // RZWparameter logic [2:0] SCR1_IPIC_SOI = 3'h5; // RZWparameter logic [2:0] SCR1_IPIC_IDX = 3'h6; // RWparameter logic [2:0] SCR1_IPIC_ICSR = 3'h7; // RWparameter SCR1_IPIC_ICSR_IP = 0;parameter SCR1_IPIC_ICSR_IE = 1;parameter SCR1_IPIC_ICSR_IM = 2;parameter SCR1_IPIC_ICSR_INV = 3;parameter SCR1_IPIC_ICSR_IS = 4;parameter SCR1_IPIC_ICSR_PRV_LSB = 8;parameter SCR1_IPIC_ICSR_PRV_MSB = 9;parameter SCR1_IPIC_ICSR_LN_LSB = 12;parameter SCR1_IPIC_ICSR_LN_MSB = SCR1_IPIC_ICSR_LN_LSB+ SCR1_IRQ_LINES_WIDTH;parameter logic [1:0] SCR1_IPIC_PRV_M = 2'b11;//-------------------------------------------------------------------------------// Types declaration//-------------------------------------------------------------------------------typedef enum logic {SCR1_CSR2IPIC_RD,SCR1_CSR2IPIC_WR`ifdef SCR1_XPROP_EN,SCR1_CSR2IPIC_ERROR = 'x`endif // SCR1_XPROP_EN} type_scr1_csr2ipic_wr_e;`endif // SCR1_IPIC_EN`endif // SCR1_IPIC_SVH
