Line 175... |
Line 175... |
-- NeoPixel-compatible smart LED interface (available if IO_NEOLED_EN = true) --
|
-- NeoPixel-compatible smart LED interface (available if IO_NEOLED_EN = true) --
|
neoled_o : out std_logic; -- async serial data line
|
neoled_o : out std_logic; -- async serial data line
|
-- External platform interrupts (available if XIRQ_NUM_CH > 0) --
|
-- External platform interrupts (available if XIRQ_NUM_CH > 0) --
|
xirq_i : in std_logic_vector(XIRQ_NUM_CH-1 downto 0) := (others => '0'); -- IRQ channels
|
xirq_i : in std_logic_vector(XIRQ_NUM_CH-1 downto 0) := (others => '0'); -- IRQ channels
|
-- CPU Interrupts --
|
-- CPU Interrupts --
|
nm_irq_i : in std_logic := '0'; -- non-maskable interrupt
|
|
msw_irq_i : in std_logic := '0'; -- machine software interrupt
|
msw_irq_i : in std_logic := '0'; -- machine software interrupt
|
mext_irq_i : in std_logic := '0' -- machine external interrupt
|
mext_irq_i : in std_logic := '0' -- machine external interrupt
|
);
|
);
|
end entity;
|
end entity;
|
|
|
Line 224... |
Line 223... |
--
|
--
|
signal neoled_o_int : std_ulogic;
|
signal neoled_o_int : std_ulogic;
|
--
|
--
|
signal xirq_i_int : std_ulogic_vector(XIRQ_NUM_CH-1 downto 0);
|
signal xirq_i_int : std_ulogic_vector(XIRQ_NUM_CH-1 downto 0);
|
--
|
--
|
signal nm_irq_i_int : std_ulogic;
|
|
signal msw_irq_i_int : std_ulogic;
|
signal msw_irq_i_int : std_ulogic;
|
signal mext_irq_i_int : std_ulogic;
|
signal mext_irq_i_int : std_ulogic;
|
|
|
-- internal wishbone bus --
|
-- internal wishbone bus --
|
type wb_bus_t is record
|
type wb_bus_t is record
|
Line 388... |
Line 386... |
mtime_i => (others => '0'), -- current system time from ext. MTIME (if IO_MTIME_EN = false)
|
mtime_i => (others => '0'), -- current system time from ext. MTIME (if IO_MTIME_EN = false)
|
mtime_o => open, -- current system time from int. MTIME (if IO_MTIME_EN = true)
|
mtime_o => open, -- current system time from int. MTIME (if IO_MTIME_EN = true)
|
-- External platform interrupts (available if XIRQ_NUM_CH > 0) --
|
-- External platform interrupts (available if XIRQ_NUM_CH > 0) --
|
xirq_i => xirq_i_int, -- IRQ channels
|
xirq_i => xirq_i_int, -- IRQ channels
|
-- CPU Interrupts --
|
-- CPU Interrupts --
|
nm_irq_i => nm_irq_i_int, -- non-maskable interrupt
|
|
mtime_irq_i => '0', -- machine timer interrupt, available if IO_MTIME_EN = false
|
mtime_irq_i => '0', -- machine timer interrupt, available if IO_MTIME_EN = false
|
msw_irq_i => msw_irq_i_int, -- machine software interrupt
|
msw_irq_i => msw_irq_i_int, -- machine software interrupt
|
mext_irq_i => mext_irq_i_int -- machine external interrupt
|
mext_irq_i => mext_irq_i_int -- machine external interrupt
|
);
|
);
|
|
|
Line 421... |
Line 418... |
cfs_in_i_int <= std_ulogic_vector(cfs_in_i);
|
cfs_in_i_int <= std_ulogic_vector(cfs_in_i);
|
cfs_out_o <= std_logic_vector(cfs_out_o_int);
|
cfs_out_o <= std_logic_vector(cfs_out_o_int);
|
|
|
neoled_o <= std_logic(neoled_o_int);
|
neoled_o <= std_logic(neoled_o_int);
|
|
|
|
xirq_i_int <= std_ulogic_vector(xirq_i);
|
|
|
|
msw_irq_i_int <= std_ulogic(msw_irq_i);
|
mext_irq_i_int <= std_ulogic(mext_irq_i);
|
mext_irq_i_int <= std_ulogic(mext_irq_i);
|
|
|
|
|
-- Wishbone to AXI4-Lite Bridge -----------------------------------------------------------
|
-- Wishbone to AXI4-Lite Bridge -----------------------------------------------------------
|
-- -------------------------------------------------------------------------------------------
|
-- -------------------------------------------------------------------------------------------
|