Line 105... |
Line 105... |
|
|
-- Processor peripherals --
|
-- Processor peripherals --
|
IO_GPIO_EN : boolean := false; -- implement general purpose input/output port unit (GPIO)?
|
IO_GPIO_EN : boolean := false; -- implement general purpose input/output port unit (GPIO)?
|
IO_MTIME_EN : boolean := false; -- implement machine system timer (MTIME)?
|
IO_MTIME_EN : boolean := false; -- implement machine system timer (MTIME)?
|
IO_UART0_EN : boolean := false; -- implement primary universal asynchronous receiver/transmitter (UART0)?
|
IO_UART0_EN : boolean := false; -- implement primary universal asynchronous receiver/transmitter (UART0)?
|
|
IO_UART0_RX_FIFO : natural := 1; -- RX fifo depth, has to be a power of two, min 1
|
|
IO_UART0_TX_FIFO : natural := 1; -- TX fifo depth, has to be a power of two, min 1
|
IO_UART1_EN : boolean := false; -- implement secondary universal asynchronous receiver/transmitter (UART1)?
|
IO_UART1_EN : boolean := false; -- implement secondary universal asynchronous receiver/transmitter (UART1)?
|
|
IO_UART1_RX_FIFO : natural := 1; -- RX fifo depth, has to be a power of two, min 1
|
|
IO_UART1_TX_FIFO : natural := 1; -- TX fifo depth, has to be a power of two, min 1
|
IO_SPI_EN : boolean := false; -- implement serial peripheral interface (SPI)?
|
IO_SPI_EN : boolean := false; -- implement serial peripheral interface (SPI)?
|
IO_TWI_EN : boolean := false; -- implement two-wire interface (TWI)?
|
IO_TWI_EN : boolean := false; -- implement two-wire interface (TWI)?
|
IO_PWM_NUM_CH : natural := 0; -- number of PWM channels to implement (0..60); 0 = disabled
|
IO_PWM_NUM_CH : natural := 0; -- number of PWM channels to implement (0..60); 0 = disabled
|
IO_WDT_EN : boolean := false; -- implement watch dog timer (WDT)?
|
IO_WDT_EN : boolean := false; -- implement watch dog timer (WDT)?
|
IO_TRNG_EN : boolean := false; -- implement true random number generator (TRNG)?
|
IO_TRNG_EN : boolean := false; -- implement true random number generator (TRNG)?
|
Line 292... |
Line 296... |
|
|
-- Processor peripherals --
|
-- Processor peripherals --
|
IO_GPIO_EN => IO_GPIO_EN,
|
IO_GPIO_EN => IO_GPIO_EN,
|
IO_MTIME_EN => IO_MTIME_EN,
|
IO_MTIME_EN => IO_MTIME_EN,
|
IO_UART0_EN => IO_UART0_EN,
|
IO_UART0_EN => IO_UART0_EN,
|
|
IO_UART0_RX_FIFO => IO_UART0_RX_FIFO,
|
|
IO_UART0_TX_FIFO => IO_UART0_TX_FIFO,
|
IO_UART1_EN => IO_UART1_EN,
|
IO_UART1_EN => IO_UART1_EN,
|
|
IO_UART1_RX_FIFO => IO_UART1_RX_FIFO,
|
|
IO_UART1_TX_FIFO => IO_UART1_TX_FIFO,
|
IO_SPI_EN => IO_SPI_EN,
|
IO_SPI_EN => IO_SPI_EN,
|
IO_TWI_EN => IO_TWI_EN,
|
IO_TWI_EN => IO_TWI_EN,
|
IO_PWM_NUM_CH => IO_PWM_NUM_CH,
|
IO_PWM_NUM_CH => IO_PWM_NUM_CH,
|
IO_WDT_EN => IO_WDT_EN,
|
IO_WDT_EN => IO_WDT_EN,
|
IO_TRNG_EN => IO_TRNG_EN,
|
IO_TRNG_EN => IO_TRNG_EN,
|
Line 389... |
Line 397... |
xirq_i => xirq_i,
|
xirq_i => xirq_i,
|
|
|
-- CPU interrupts --
|
-- CPU interrupts --
|
mtime_irq_i => mtime_irq_i,
|
mtime_irq_i => mtime_irq_i,
|
msw_irq_i => msw_irq_i,
|
msw_irq_i => msw_irq_i,
|
mext_irq_i => mext_irq_i);
|
mext_irq_i => mext_irq_i
|
|
);
|
|
|
-- Wishbone to AvalonMM brdige
|
-- Wishbone to AvalonMM bridge
|
read_o <= '1' when (wb_stb_o = '1' and wb_we_o = '0') else '0';
|
read_o <= '1' when (wb_stb_o = '1' and wb_we_o = '0') else '0';
|
write_o <= '1' when (wb_stb_o = '1' and wb_we_o = '1') else '0';
|
write_o <= '1' when (wb_stb_o = '1' and wb_we_o = '1') else '0';
|
address_o <= std_logic_vector(wb_adr_o);
|
address_o <= std_logic_vector(wb_adr_o);
|
writedata_o <= std_logic_vector(wb_dat_o);
|
writedata_o <= std_logic_vector(wb_dat_o);
|
byteenable_o <= std_logic_vector(wb_sel_o);
|
byteenable_o <= std_logic_vector(wb_sel_o);
|