Line 165... |
Line 165... |
CPU_EXTENSION_RISCV_U => true, -- implement user mode extension?
|
CPU_EXTENSION_RISCV_U => true, -- implement user mode extension?
|
CPU_EXTENSION_RISCV_Zicsr => true, -- implement CSR system?
|
CPU_EXTENSION_RISCV_Zicsr => true, -- implement CSR system?
|
CPU_EXTENSION_RISCV_Zifencei => true, -- implement instruction stream sync.?
|
CPU_EXTENSION_RISCV_Zifencei => true, -- implement instruction stream sync.?
|
-- Extension Options --
|
-- Extension Options --
|
FAST_MUL_EN => false, -- use DSPs for M extension's multiplier
|
FAST_MUL_EN => false, -- use DSPs for M extension's multiplier
|
|
FAST_SHIFT_EN => false, -- use barrel shifter for shift operations
|
-- Physical Memory Protection (PMP) --
|
-- Physical Memory Protection (PMP) --
|
PMP_USE => true, -- implement PMP?
|
PMP_USE => true, -- implement PMP?
|
PMP_NUM_REGIONS => 4, -- number of regions (max 16)
|
PMP_NUM_REGIONS => 4, -- number of regions (max 16)
|
PMP_GRANULARITY => 14, -- minimal region granularity (1=8B, 2=16B, 3=32B, ...) default is 64k
|
PMP_GRANULARITY => 14, -- minimal region granularity (1=8B, 2=16B, 3=32B, ...) default is 64k
|
-- Internal Instruction memory --
|
-- Internal Instruction memory --
|
Line 188... |
Line 189... |
IO_SPI_USE => true, -- implement serial peripheral interface (SPI)?
|
IO_SPI_USE => true, -- implement serial peripheral interface (SPI)?
|
IO_TWI_USE => true, -- implement two-wire interface (TWI)?
|
IO_TWI_USE => true, -- implement two-wire interface (TWI)?
|
IO_PWM_USE => true, -- implement pulse-width modulation unit (PWM)?
|
IO_PWM_USE => true, -- implement pulse-width modulation unit (PWM)?
|
IO_WDT_USE => true, -- implement watch dog timer (WDT)?
|
IO_WDT_USE => true, -- implement watch dog timer (WDT)?
|
IO_TRNG_USE => false, -- DEFAULT TRNG CONFIG CANNOT BE SIMULATED!
|
IO_TRNG_USE => false, -- DEFAULT TRNG CONFIG CANNOT BE SIMULATED!
|
IO_CFU_USE => true -- implement custom functions unit (CFU)?
|
IO_CFU0_USE => true, -- implement custom functions unit 0 (CFU0)?
|
|
IO_CFU1_USE => true -- implement custom functions unit 1 (CFU1)?
|
)
|
)
|
port map (
|
port map (
|
-- Global control --
|
-- Global control --
|
clk_i => clk_gen, -- global clock, rising edge
|
clk_i => clk_gen, -- global clock, rising edge
|
rstn_i => rst_gen, -- global reset, low-active, async
|
rstn_i => rst_gen, -- global reset, low-active, async
|
Line 224... |
Line 226... |
twi_sda_io => twi_sda, -- twi serial data line
|
twi_sda_io => twi_sda, -- twi serial data line
|
twi_scl_io => twi_scl, -- twi serial clock line
|
twi_scl_io => twi_scl, -- twi serial clock line
|
-- PWM --
|
-- PWM --
|
pwm_o => open, -- pwm channels
|
pwm_o => open, -- pwm channels
|
-- Interrupts --
|
-- Interrupts --
|
|
mtime_irq_i => '0', -- machine software interrupt, available if IO_MTIME_USE = false
|
|
msw_irq_i => '0', -- machine software interrupt
|
mext_irq_i => '0' -- machine external interrupt
|
mext_irq_i => '0' -- machine external interrupt
|
);
|
);
|
|
|
-- TWI termination --
|
-- TWI termination --
|
twi_scl <= 'H';
|
twi_scl <= 'H';
|