forked from Github_Repos/cvw
change ifndef to generate/if
This commit is contained in:
parent
a2b0af460e
commit
bc1a0c6ee7
@ -86,6 +86,8 @@
|
|||||||
// Tie GPIO outputs back to inputs
|
// Tie GPIO outputs back to inputs
|
||||||
`define GPIO_LOOPBACK_TEST 0
|
`define GPIO_LOOPBACK_TEST 0
|
||||||
|
|
||||||
|
// Busybear special CSR config to match OVPSim
|
||||||
|
`define OVPSIM_CSR_CONFIG 1
|
||||||
|
|
||||||
// Hardware configuration
|
// Hardware configuration
|
||||||
`define UART_PRESCALE 1
|
`define UART_PRESCALE 1
|
||||||
|
@ -82,6 +82,8 @@
|
|||||||
// Tie GPIO outputs back to inputs
|
// Tie GPIO outputs back to inputs
|
||||||
`define GPIO_LOOPBACK_TEST 0
|
`define GPIO_LOOPBACK_TEST 0
|
||||||
|
|
||||||
|
// Busybear special CSR config to match OVPSim
|
||||||
|
`define OVPSIM_CSR_CONFIG 0
|
||||||
|
|
||||||
// Hardware configuration
|
// Hardware configuration
|
||||||
`define UART_PRESCALE 1
|
`define UART_PRESCALE 1
|
||||||
|
@ -82,6 +82,8 @@
|
|||||||
// Tie GPIO outputs back to inputs
|
// Tie GPIO outputs back to inputs
|
||||||
`define GPIO_LOOPBACK_TEST 0
|
`define GPIO_LOOPBACK_TEST 0
|
||||||
|
|
||||||
|
// Busybear special CSR config to match OVPSim
|
||||||
|
`define OVPSIM_CSR_CONFIG 0
|
||||||
|
|
||||||
// Hardware configuration
|
// Hardware configuration
|
||||||
`define UART_PRESCALE 1
|
`define UART_PRESCALE 1
|
||||||
|
@ -81,6 +81,8 @@
|
|||||||
// Tie GPIO outputs back to inputs
|
// Tie GPIO outputs back to inputs
|
||||||
`define GPIO_LOOPBACK_TEST 0
|
`define GPIO_LOOPBACK_TEST 0
|
||||||
|
|
||||||
|
// Busybear special CSR config to match OVPSim
|
||||||
|
`define OVPSIM_CSR_CONFIG 0
|
||||||
|
|
||||||
// Hardware configuration
|
// Hardware configuration
|
||||||
`define UART_PRESCALE 1
|
`define UART_PRESCALE 1
|
||||||
|
@ -82,6 +82,8 @@
|
|||||||
// Tie GPIO outputs back to inputs
|
// Tie GPIO outputs back to inputs
|
||||||
`define GPIO_LOOPBACK_TEST 0
|
`define GPIO_LOOPBACK_TEST 0
|
||||||
|
|
||||||
|
// Busybear special CSR config to match OVPSim
|
||||||
|
`define OVPSIM_CSR_CONFIG 0
|
||||||
|
|
||||||
// Hardware configuration
|
// Hardware configuration
|
||||||
`define UART_PRESCALE 1
|
`define UART_PRESCALE 1
|
||||||
|
@ -82,6 +82,8 @@
|
|||||||
// Tie GPIO outputs back to inputs
|
// Tie GPIO outputs back to inputs
|
||||||
`define GPIO_LOOPBACK_TEST 0
|
`define GPIO_LOOPBACK_TEST 0
|
||||||
|
|
||||||
|
// Busybear special CSR config to match OVPSim
|
||||||
|
`define OVPSIM_CSR_CONFIG 0
|
||||||
|
|
||||||
// Hardware configuration
|
// Hardware configuration
|
||||||
`define UART_PRESCALE 1
|
`define UART_PRESCALE 1
|
||||||
|
@ -125,11 +125,12 @@ module csrm #(parameter
|
|||||||
flopenr #(`XLEN) MEPCreg(clk, reset, WriteMEPCM, NextEPCM, MEPC_REGW);
|
flopenr #(`XLEN) MEPCreg(clk, reset, WriteMEPCM, NextEPCM, MEPC_REGW);
|
||||||
flopenr #(`XLEN) MCAUSEreg(clk, reset, WriteMCAUSEM, NextCauseM, MCAUSE_REGW);
|
flopenr #(`XLEN) MCAUSEreg(clk, reset, WriteMCAUSEM, NextCauseM, MCAUSE_REGW);
|
||||||
flopenr #(`XLEN) MTVALreg(clk, reset, WriteMTVALM, NextMtvalM, MTVAL_REGW);
|
flopenr #(`XLEN) MTVALreg(clk, reset, WriteMTVALM, NextMtvalM, MTVAL_REGW);
|
||||||
`ifndef BUSYBEAR
|
generate
|
||||||
flopenl #(32) MCOUNTERENreg(clk, reset, WriteMCOUNTERENM, CSRWriteValM[31:0], allones, MCOUNTEREN_REGW);
|
if (`OVPSIM_CSR_CONFIG)
|
||||||
`else
|
flopenl #(32) MCOUNTERENreg(clk, reset, WriteMCOUNTERENM, {CSRWriteValM[31:2],1'b0,CSRWriteValM[0]}, 32'b0, MCOUNTEREN_REGW);
|
||||||
flopenl #(32) MCOUNTERENreg(clk, reset, WriteMCOUNTERENM, {CSRWriteValM[31:2],1'b0,CSRWriteValM[0]}, 32'b0, MCOUNTEREN_REGW);
|
else
|
||||||
`endif
|
flopenl #(32) MCOUNTERENreg(clk, reset, WriteMCOUNTERENM, CSRWriteValM[31:0], allones, MCOUNTEREN_REGW);
|
||||||
|
endgenerate
|
||||||
flopenl #(32) MCOUNTINHIBITreg(clk, reset, WriteMCOUNTINHIBITM, CSRWriteValM[31:0], allones, MCOUNTINHIBIT_REGW);
|
flopenl #(32) MCOUNTINHIBITreg(clk, reset, WriteMCOUNTINHIBITM, CSRWriteValM[31:0], allones, MCOUNTINHIBIT_REGW);
|
||||||
flopenr #(`XLEN) PMPADDR0reg(clk, reset, WritePMPADDR0M, CSRWriteValM, PMPADDR0_REGW);
|
flopenr #(`XLEN) PMPADDR0reg(clk, reset, WritePMPADDR0M, CSRWriteValM, PMPADDR0_REGW);
|
||||||
// PMPCFG registers are a pair of 64-bit in RV64 and four 32-bit in RV32
|
// PMPCFG registers are a pair of 64-bit in RV64 and four 32-bit in RV32
|
||||||
|
@ -82,11 +82,10 @@ module csrs #(parameter
|
|||||||
flopenl #(`XLEN) SCAUSEreg(clk, reset, WriteSCAUSEM, NextCauseM, zero, SCAUSE_REGW);
|
flopenl #(`XLEN) SCAUSEreg(clk, reset, WriteSCAUSEM, NextCauseM, zero, SCAUSE_REGW);
|
||||||
flopenr #(`XLEN) STVALreg(clk, reset, WriteSTVALM, NextMtvalM, STVAL_REGW);
|
flopenr #(`XLEN) STVALreg(clk, reset, WriteSTVALM, NextMtvalM, STVAL_REGW);
|
||||||
flopenr #(`XLEN) SATPreg(clk, reset, WriteSATPM, CSRWriteValM, SATP_REGW);
|
flopenr #(`XLEN) SATPreg(clk, reset, WriteSATPM, CSRWriteValM, SATP_REGW);
|
||||||
`ifndef BUSYBEAR
|
if (`OVPSIM_CSR_CONFIG)
|
||||||
flopenl #(32) SCOUNTERENreg(clk, reset, WriteSCOUNTERENM, CSRWriteValM[31:0], allones, SCOUNTEREN_REGW);
|
flopenl #(32) SCOUNTERENreg(clk, reset, WriteSCOUNTERENM, {CSRWriteValM[31:2],1'b0,CSRWriteValM[0]}, 32'b0, SCOUNTEREN_REGW);
|
||||||
`else
|
else
|
||||||
flopenl #(32) SCOUNTERENreg(clk, reset, WriteSCOUNTERENM, {CSRWriteValM[31:2],1'b0,CSRWriteValM[0]}, 32'b0, SCOUNTEREN_REGW);
|
flopenl #(32) SCOUNTERENreg(clk, reset, WriteSCOUNTERENM, CSRWriteValM[31:0], allones, SCOUNTEREN_REGW);
|
||||||
`endif
|
|
||||||
if (`N_SUPPORTED) begin
|
if (`N_SUPPORTED) begin
|
||||||
logic WriteSEDELEGM, WriteSIDELEGM;
|
logic WriteSEDELEGM, WriteSIDELEGM;
|
||||||
assign WriteSEDELEGM = CSRSWriteM && (CSRAdrM == SEDELEG);
|
assign WriteSEDELEGM = CSRSWriteM && (CSRAdrM == SEDELEG);
|
||||||
|
Loading…
Reference in New Issue
Block a user