Integrate CAN controller and implement switches interrupt
This commit is contained in:
@@ -14,7 +14,7 @@ use work.lt16soc_peripherals.all;
|
||||
|
||||
entity lt16soc_top is
|
||||
generic(
|
||||
programfilename : string := "../../programs/scrolling.ram" -- see "Synthesize XST" process properties for actual value ("-generics" in .xst file)!
|
||||
programfilename : string := "../../programs/interrupt_test.ram" -- see "Synthesize XST" process properties for actual value ("-generics" in .xst file)!
|
||||
);
|
||||
port(
|
||||
-- clock signal
|
||||
@@ -28,7 +28,10 @@ port(
|
||||
sw : in std_logic_vector(15 downto 0);
|
||||
|
||||
anodes : out std_logic_vector(7 downto 0);
|
||||
cathodes : out std_logic_vector(7 downto 0)
|
||||
cathodes : out std_logic_vector(7 downto 0);
|
||||
|
||||
can_rx_i : in std_logic;
|
||||
can_tx_o : out std_logic
|
||||
);
|
||||
end entity lt16soc_top;
|
||||
|
||||
@@ -40,7 +43,7 @@ architecture RTL of lt16soc_top is
|
||||
|
||||
signal rst_gen : std_logic;
|
||||
|
||||
constant slv_mask_vector : std_logic_vector(0 to NWBSLV-1) := b"1111_1100_0000_0001";
|
||||
constant slv_mask_vector : std_logic_vector(0 to NWBSLV-1) := b"1111_1110_0000_0001";
|
||||
constant mst_mask_vector : std_logic_vector(0 to NWBMST-1) := b"1000";
|
||||
|
||||
signal slvo : wb_slv_out_vector := (others=> wbs_out_none);
|
||||
@@ -180,12 +183,32 @@ begin
|
||||
addrmask=>CFG_MADR_DMEM)
|
||||
port map(clk,rst_gen,slvi(CFG_DMEM),slvo(CFG_DMEM));
|
||||
|
||||
can_inst : component can_vhdl_top
|
||||
generic map(
|
||||
memaddr=>CFG_BADR_CAN,
|
||||
addrmask=>CFG_MADR_CAN
|
||||
)
|
||||
port map(
|
||||
clk => clk,
|
||||
rstn => rst,
|
||||
wbs_i => slvi(CFG_CAN),
|
||||
wbs_o => slvo(CFG_CAN),
|
||||
rx_i => can_rx_i,
|
||||
tx_o => can_tx_o,
|
||||
irq_on => irq_lines(4)
|
||||
);
|
||||
|
||||
leddev : wb_led
|
||||
generic map(
|
||||
CFG_BADR_LED,CFG_MADR_LED
|
||||
CFG_BADR_LED,
|
||||
CFG_MADR_LED
|
||||
)
|
||||
port map(
|
||||
clk,rst_gen,led,slvi(CFG_LED),slvo(CFG_LED)
|
||||
clk,
|
||||
rst_gen,
|
||||
led,
|
||||
slvi(CFG_LED),
|
||||
slvo(CFG_LED)
|
||||
);
|
||||
|
||||
swdev : wb_switches
|
||||
@@ -198,10 +221,15 @@ begin
|
||||
|
||||
timerdev : wb_timer
|
||||
generic map(
|
||||
CFG_BADR_TIMER,CFG_MADR_TIMER
|
||||
CFG_BADR_TIMER,
|
||||
CFG_MADR_TIMER
|
||||
)
|
||||
port map(
|
||||
clk,rst_gen,slvi(CFG_TIMER),slvo(CFG_TIMER), irq_lines(3)
|
||||
clk,
|
||||
rst_gen,
|
||||
slvi(CFG_TIMER),
|
||||
slvo(CFG_TIMER),
|
||||
irq_lines(3)
|
||||
);
|
||||
|
||||
scrollingdev : wb_scrolling
|
||||
|
||||
Reference in New Issue
Block a user