22b456946e289c89da296dcaceeb18de71761713
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

1) LIBRARY IEEE;
2) USE IEEE.STD_LOGIC_1164.ALL;
3) USE IEEE.NUMERIC_STD.ALL;
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

4) USE work.io_lcd_pins.all;
Stefan Schuermans implemented switches

Stefan Schuermans authored 12 years ago

5) USE work.io_switches_pins.all;
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

6) 
7) ENTITY e_system IS
8)     PORT (
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

9)         clk:              IN  std_logic;
10)         pin_o_leds:       OUT std_logic_vector(7 DOWNTO 0);
11)         pin_o_lcd:        OUT t_io_lcd_pins;
12)         pin_i_switches:   IN  t_io_switches_pins;
13)         pin_i_uart_rx:    IN  std_logic;
14)         pin_o_uart_tx:    OUT std_logic;
15)         pin_o_eth_nrst:   OUT std_logic;
16)         pin_i_eth_rx_clk: IN  std_logic;
17)         pin_i_eth_rxd:    IN  std_logic_vector(4 DOWNTO 0);
18)         pin_i_eth_rx_dv:  IN  std_logic;
19)         pin_i_eth_crs:    IN  std_logic;
20)         pin_i_eth_col:    IN  std_logic;
21)         pin_i_eth_tx_clk: IN  std_logic;
22)         pin_o_eth_txd:    OUT std_logic_vector(3 DOWNTO 0);
23)         pin_o_eth_tx_en:  OUT std_logic
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

24)     );
25) END ENTITY e_system;
26) 
27) ARCHITECTURE a_system OF e_system IS
28) 
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

29)     CONSTANT c_instr_addr_width: natural := 13;
30)     CONSTANT c_data_addr_width:  natural := 13;
31) 
Stefan Schuermans implemented switches

Stefan Schuermans authored 12 years ago

32)     SIGNAL rst: std_logic := '0';
33) 
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

34)     SIGNAL s_instr_addr:   std_logic_vector(31 DOWNTO 0);
35)     SIGNAL s_instr_data:   std_logic_vector(31 DOWNTO 0);
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

36)     SIGNAL s_dbus_addr:    std_logic_vector(31 DOWNTO 0);
37)     SIGNAL s_dbus_rd_data: std_logic_vector(31 DOWNTO 0);
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

38)     SIGNAL s_dbus_rd_en:   std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

39)     SIGNAL s_dbus_wr_data: std_logic_vector(31 DOWNTO 0);
40)     SIGNAL s_dbus_wr_en:   std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans removed bottleneck from dat...

Stefan Schuermans authored 12 years ago

41) 
42)     SIGNAL r_dbus_addr_delay: std_logic_vector(31 DOWNTO 0) := (OTHERS => '0');
43) 
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

44)     SIGNAL s_data_addr:    std_logic_vector(31 DOWNTO 0);
45)     SIGNAL s_data_rd_data: std_logic_vector(31 DOWNTO 0);
46)     SIGNAL s_data_wr_data: std_logic_vector(31 DOWNTO 0);
47)     SIGNAL s_data_wr_en:   std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

48)     SIGNAL s_leds_rd_data: std_logic_vector( 7 DOWNTO 0);
49)     SIGNAL s_leds_wr_data: std_logic_vector( 7 DOWNTO 0);
50)     SIGNAL s_leds_wr_en:   std_logic;
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

51)     SIGNAL s_lcd_rd_data: std_logic_vector(31 DOWNTO 0);
52)     SIGNAL s_lcd_wr_data: std_logic_vector(31 DOWNTO 0);
53)     SIGNAL s_lcd_wr_en:   std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans implemented switches

Stefan Schuermans authored 12 years ago

54)     SIGNAL s_switches_addr:    std_logic_vector( 2 DOWNTO 0);
55)     SIGNAL s_switches_rd_data: std_logic_vector(31 DOWNTO 0);
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

56)     SIGNAL s_uart_addr:    std_logic_vector( 3 DOWNTO 0);
57)     SIGNAL s_uart_rd_data: std_logic_vector(31 DOWNTO 0);
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

58)     SIGNAL s_uart_rd_en:   std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

59)     SIGNAL s_uart_wr_data: std_logic_vector(31 DOWNTO 0);
60)     SIGNAL s_uart_wr_en:   std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

61)     SIGNAL s_eth_addr:    std_logic_vector( 3 DOWNTO 0);
62)     SIGNAL s_eth_rd_data: std_logic_vector(31 DOWNTO 0);
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

63)     SIGNAL s_eth_rd_en:   std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

64)     SIGNAL s_eth_wr_data: std_logic_vector(31 DOWNTO 0);
65)     SIGNAL s_eth_wr_en:   std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

66)     SIGNAL s_cyc_cnt_rd_data: std_logic_vector(31 DOWNTO 0);
67)     SIGNAL s_cyc_cnt_wr_data: std_logic_vector(31 DOWNTO 0);
68)     SIGNAL s_cyc_cnt_wr_en:   std_logic;
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

69) 
70)     COMPONENT e_mips_core IS
71)         PORT (
72)             rst:            IN  std_logic;
73)             clk:            IN  std_logic;
74)             i_stall:        IN  std_logic;
75)             o_instr_addr:   OUT std_logic_vector(31 DOWNTO 0);
76)             i_instr_data:   IN  std_logic_vector(31 DOWNTO 0);
77)             o_data_addr:    OUT std_logic_vector(31 DOWNTO 0);
78)             i_data_rd_data: IN  std_logic_vector(31 DOWNTO 0);
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

79)             o_data_rd_en:   OUT std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

80)             o_data_wr_data: OUT std_logic_vector(31 DOWNTO 0);
81)             o_data_wr_en:   OUT std_logic_vector( 3 DOWNTO 0)
82)         );
83)     END COMPONENT e_mips_core;
84) 
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

85)     COMPONENT e_rom IS
86)         GENERIC (
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

87)             addr_width: natural
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

88)         );
89)         PORT (
90)             clk:    IN  std_logic;
91)             i_addr: IN  std_logic_vector(addr_width - 1 DOWNTO 0);
92)             o_data: OUT std_logic_vector(            31 DOWNTO 0)
93)         );
94)     END COMPONENT e_rom;
95) 
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

96)     COMPONENT e_ram_0 IS
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

97)         GENERIC (
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

98)             addr_width: natural
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

99)         );
100)         PORT (
101)             clk:       IN  std_logic;
102)             i_addr:    IN  std_logic_vector(addr_width - 1 DOWNTO 0);
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

103)             o_rd_data: OUT std_logic_vector(             7 DOWNTO 0);
104)             i_wr_data: IN  std_logic_vector(             7 DOWNTO 0);
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

105)             i_wr_en:   IN  std_logic
106)         );
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

107)     END COMPONENT e_ram_0;
108) 
109)     COMPONENT e_ram_1 IS
110)         GENERIC (
111)             addr_width: natural
112)         );
113)         PORT (
114)             clk:       IN  std_logic;
115)             i_addr:    IN  std_logic_vector(addr_width - 1 DOWNTO 0);
116)             o_rd_data: OUT std_logic_vector(             7 DOWNTO 0);
117)             i_wr_data: IN  std_logic_vector(             7 DOWNTO 0);
118)             i_wr_en:   IN  std_logic
119)         );
120)     END COMPONENT e_ram_1;
121) 
122)     COMPONENT e_ram_2 IS
123)         GENERIC (
124)             addr_width: natural
125)         );
126)         PORT (
127)             clk:       IN  std_logic;
128)             i_addr:    IN  std_logic_vector(addr_width - 1 DOWNTO 0);
129)             o_rd_data: OUT std_logic_vector(             7 DOWNTO 0);
130)             i_wr_data: IN  std_logic_vector(             7 DOWNTO 0);
131)             i_wr_en:   IN  std_logic
132)         );
133)     END COMPONENT e_ram_2;
134) 
135)     COMPONENT e_ram_3 IS
136)         GENERIC (
137)             addr_width: natural
138)         );
139)         PORT (
140)             clk:       IN  std_logic;
141)             i_addr:    IN  std_logic_vector(addr_width - 1 DOWNTO 0);
142)             o_rd_data: OUT std_logic_vector(             7 DOWNTO 0);
143)             i_wr_data: IN  std_logic_vector(             7 DOWNTO 0);
144)             i_wr_en:   IN  std_logic
145)         );
146)     END COMPONENT e_ram_3;
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

147) 
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

148)     COMPONENT e_io_leds IS
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

149)         PORT (
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

150)             rst:        IN  std_logic;
151)             clk:        IN  std_logic;
152)             o_rd_data:  OUT std_logic_vector(7 DOWNTO 0);
153)             i_wr_data:  IN  std_logic_vector(7 DOWNTO 0);
154)             i_wr_en:    IN  std_logic;
155)             pin_o_leds: OUT std_logic_vector(7 DOWNTO 0)
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

156)         );
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

157)     END COMPONENT e_io_leds;
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

158) 
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

159)     COMPONENT e_io_lcd IS
160)         PORT (
161)             rst:       IN  std_logic;
162)             clk:       IN  std_logic;
163)             o_rd_data: OUT std_logic_vector(31 DOWNTO 0);
164)             i_wr_data: IN  std_logic_vector(31 DOWNTO 0);
165)             i_wr_en:   IN  std_logic_vector( 3 DOWNTO 0);
166)             pin_o_lcd: OUT t_io_lcd_pins
167)         );
168)     END COMPONENT e_io_lcd;
169) 
Stefan Schuermans implemented switches

Stefan Schuermans authored 12 years ago

170)     COMPONENT e_io_switches IS
171)         PORT (
172)             rst:            IN  std_logic;
173)             clk:            IN  std_logic;
174)             i_addr:         IN  std_logic_vector( 0 DOWNTO 0);
175)             o_rd_data:      OUT std_logic_vector(31 DOWNTO 0);
176)             pin_i_switches: IN  t_io_switches_pins
177)         );
178)     END COMPONENT e_io_switches;
179) 
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

180)     COMPONENT e_io_uart IS
181)         PORT (
182)             rst:       IN  std_logic;
183)             clk:       IN  std_logic;
184)             i_addr:    IN  std_logic_vector( 1 DOWNTO 0);
185)             o_rd_data: OUT std_logic_vector(31 DOWNTO 0);
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

186)             i_rd_en:   IN  std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

187)             i_wr_data: IN  std_logic_vector(31 DOWNTO 0);
188)             i_wr_en:   IN  std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans implemented RX part of UART...

Stefan Schuermans authored 12 years ago

189)             pin_i_rx:  IN  std_logic;
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

190)             pin_o_tx:  OUT std_logic
191)         );
192)     END COMPONENT e_io_uart;
193) 
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

194)     COMPONENT e_io_eth IS
195)         PORT (
196)             rst:          IN  std_logic;
197)             clk:          IN  std_logic;
198)             i_addr:       IN  std_logic_vector( 1 DOWNTO 0);
199)             o_rd_data:    OUT std_logic_vector(31 DOWNTO 0);
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

200)             i_rd_en:      IN  std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

201)             i_wr_data:    IN  std_logic_vector(31 DOWNTO 0);
202)             i_wr_en:      IN  std_logic_vector( 3 DOWNTO 0);
203)             pin_o_nrst:   OUT std_logic;
204)             pin_i_rx_clk: IN  std_logic;
205)             pin_i_rxd:    IN  std_logic_vector(4 DOWNTO 0);
206)             pin_i_rx_dv:  IN  std_logic;
207)             pin_i_crs:    IN  std_logic;
208)             pin_i_col:    IN  std_logic;
209)             pin_i_tx_clk: IN  std_logic;
210)             pin_o_txd:    OUT std_logic_vector(3 DOWNTO 0);
211)             pin_o_tx_en:  OUT std_logic
212)         );
213)     END COMPONENT e_io_eth;
214) 
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

215)     COMPONENT e_io_cyc_cnt IS
216)         PORT (
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

217)             rst:       IN  std_logic;
218)             clk:       IN  std_logic;
219)             o_rd_data: OUT std_logic_vector(31 DOWNTO 0);
220)             i_wr_data: IN  std_logic_vector(31 DOWNTO 0);
221)             i_wr_en:   IN  std_logic
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

222)         );
223)     END COMPONENT e_io_cyc_cnt;
224) 
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

225) BEGIN
226) 
227)     core: e_mips_core
228)         PORT MAP (
229)             rst            => rst,
230)             clk            => clk,
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

231)             i_stall        => '0',
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

232)             o_instr_addr   => s_instr_addr,
233)             i_instr_data   => s_instr_data,
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

234)             o_data_addr    => s_dbus_addr,
235)             i_data_rd_data => s_dbus_rd_data,
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

236)             o_data_rd_en   => s_dbus_rd_en,
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

237)             o_data_wr_data => s_dbus_wr_data,
238)             o_data_wr_en   => s_dbus_wr_en
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

239)         );
240) 
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

241)     instr: e_rom
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

242)         GENERIC MAP (
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

243)             addr_width => c_instr_addr_width - 2
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

244)         )
245)         PORT MAP (
246)             clk    => clk,
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

247)             i_addr => s_instr_addr(c_instr_addr_width - 1 DOWNTO 2),
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

248)             o_data => s_instr_data
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

249)         );
250) 
Stefan Schuermans removed bottleneck from dat...

Stefan Schuermans authored 12 years ago

251)     p_dbus_rd_sync: PROCESS(rst, clk)
252)     BEGIN
253)         IF rst = '1' THEN
254)             r_dbus_addr_delay <= (OTHERS => '0');
255)         ELSIF rising_edge(clk) THEN
256)             r_dbus_addr_delay <= s_dbus_addr;
257)         END IF;
258)     END PROCESS p_dbus_rd_sync;
259) 
260)     p_dbus_rd: PROCESS(r_dbus_addr_delay,
261)                        s_data_rd_data,
262)                        s_leds_rd_data,
263)                        s_lcd_rd_data,
264)                        s_switches_rd_data,
265)                        s_uart_rd_data,
266)                        s_eth_rd_data,
267)                        s_cyc_cnt_rd_data)
268)     BEGIN
269)         s_dbus_rd_data <= (OTHERS => '0');
270)         IF r_dbus_addr_delay(31) = '0' THEN
271)             s_dbus_rd_data <= s_data_rd_data;
272)         ELSIF r_dbus_addr_delay(31 DOWNTO 16) = X"8000" THEN
273)             CASE r_dbus_addr_delay(15 DOWNTO 8) IS
274)                 WHEN X"00" =>
275)                     s_dbus_rd_data <= X"000000" & s_leds_rd_data;
276)                 WHEN X"01" =>
277)                     s_dbus_rd_data <= s_lcd_rd_data;
278)                 WHEN X"02" =>
279)                     s_dbus_rd_data <= s_switches_rd_data;
280)                 WHEN X"03" =>
281)                     s_dbus_rd_data <= s_uart_rd_data;
282)                 WHEN X"04" =>
283)                     s_dbus_rd_data <= s_eth_rd_data;
284)                 WHEN X"10" =>
285)                     s_dbus_rd_data <= s_cyc_cnt_rd_data;
286)                 WHEN OTHERS => NULL;
287)             END CASE;
288)         END IF;
289)     END PROCESS p_dbus_rd;
290) 
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

291)     p_dbus_wr: PROCESS(s_dbus_addr, s_dbus_rd_en,
292)                        s_dbus_wr_data, s_dbus_wr_en)
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

293)         VARIABLE v_wr_en_word: std_logic;
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

294)     BEGIN
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

295)         v_wr_en_word := s_dbus_wr_en(0) AND s_dbus_wr_en(1) AND
296)                         s_dbus_wr_en(2) AND s_dbus_wr_en(3);
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

297)         s_data_addr    <= (OTHERS => '0');
298)         s_data_wr_data <= (OTHERS => '0');
299)         s_data_wr_en   <= (OTHERS => '0');
300)         s_leds_wr_data <= (OTHERS => '0');
301)         s_leds_wr_en   <= '0';
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

302)         s_lcd_wr_data <= (OTHERS => '0');
303)         s_lcd_wr_en   <= (OTHERS => '0');
Stefan Schuermans remove unwanted latch

Stefan Schuermans authored 12 years ago

304)         s_switches_addr <= (OTHERS => '0');
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

305)         s_uart_addr    <= (OTHERS => '0');
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

306)         s_uart_rd_en   <= (OTHERS => '0');
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

307)         s_uart_wr_data <= (OTHERS => '0');
308)         s_uart_wr_en   <= (OTHERS => '0');
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

309)         s_eth_addr    <= (OTHERS => '0');
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

310)         s_eth_rd_en   <= (OTHERS => '0');
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

311)         s_eth_wr_data <= (OTHERS => '0');
312)         s_eth_wr_en   <= (OTHERS => '0');
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

313)         s_cyc_cnt_wr_data <= (OTHERS => '0');
314)         s_cyc_cnt_wr_en   <= '0';
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

315)         IF s_dbus_addr(31) = '0' THEN
316)             s_data_addr    <= s_dbus_addr;
317)             s_data_wr_data <= s_dbus_wr_data;
318)             s_data_wr_en   <= s_dbus_wr_en;
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

319)         ELSIF s_dbus_addr(31 DOWNTO 16) = X"8000" THEN
320)             CASE s_dbus_addr(15 DOWNTO 8) IS
321)                 WHEN X"00" =>
322)                     s_leds_wr_data <= s_dbus_wr_data(7 DOWNTO 0);
323)                     s_leds_wr_en   <= s_dbus_wr_en(0);
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

324)                 WHEN X"01" =>
Stefan Schuermans removed bottleneck from dat...

Stefan Schuermans authored 12 years ago

325)                     s_lcd_wr_data <= s_dbus_wr_data;
326)                     s_lcd_wr_en   <= s_dbus_wr_en;
Stefan Schuermans implemented switches

Stefan Schuermans authored 12 years ago

327)                 WHEN X"02" =>
328)                     s_switches_addr <= s_dbus_addr(2 DOWNTO 0);
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

329)                 WHEN X"03" =>
330)                     s_uart_addr    <= s_dbus_addr(3 DOWNTO 0);
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

331)                     s_uart_rd_en   <= s_dbus_rd_en;
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

332)                     s_uart_wr_data <= s_dbus_wr_data;
333)                     s_uart_wr_en   <= s_dbus_wr_en;
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

334)                 WHEN X"04" =>
Stefan Schuermans removed bottleneck from dat...

Stefan Schuermans authored 12 years ago

335)                     s_eth_addr    <= s_dbus_addr(3 DOWNTO 0);
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

336)                     s_eth_rd_en   <= s_dbus_rd_en;
Stefan Schuermans removed bottleneck from dat...

Stefan Schuermans authored 12 years ago

337)                     s_eth_wr_data <= s_dbus_wr_data;
338)                     s_eth_wr_en   <= s_dbus_wr_en;
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

339)                 WHEN X"10" =>
340)                     s_cyc_cnt_wr_data <= s_dbus_wr_data;
341)                     s_cyc_cnt_wr_en   <= v_wr_en_word;
342)                 WHEN OTHERS => NULL;
343)             END CASE;
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

344)         END IF;
Stefan Schuermans removed bottleneck from dat...

Stefan Schuermans authored 12 years ago

345)     END PROCESS p_dbus_wr;
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

346) 
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

347)     data_0: e_ram_0
348)         GENERIC MAP (
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

349)             addr_width => c_data_addr_width - 2
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

350)         )
351)         PORT MAP (
352)             clk       => clk,
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

353)             i_addr    => s_data_addr(c_data_addr_width - 1 DOWNTO 2),
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

354)             o_rd_data => s_data_rd_data(7 DOWNTO 0),
355)             i_wr_data => s_data_wr_data(7 DOWNTO 0),
356)             i_wr_en   => s_data_wr_en(0)
357)         );
358) 
359)     data_1: e_ram_1
360)         GENERIC MAP (
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

361)             addr_width => c_data_addr_width - 2
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

362)         )
363)         PORT MAP (
364)             clk       => clk,
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

365)             i_addr    => s_data_addr(c_data_addr_width - 1 DOWNTO 2),
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

366)             o_rd_data => s_data_rd_data(15 DOWNTO 8),
367)             i_wr_data => s_data_wr_data(15 DOWNTO 8),
368)             i_wr_en   => s_data_wr_en(1)
369)         );
370) 
371)     data_2: e_ram_2
372)         GENERIC MAP (
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

373)             addr_width => c_data_addr_width - 2
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

374)         )
375)         PORT MAP (
376)             clk       => clk,
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

377)             i_addr    => s_data_addr(c_data_addr_width - 1 DOWNTO 2),
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

378)             o_rd_data => s_data_rd_data(23 DOWNTO 16),
379)             i_wr_data => s_data_wr_data(23 DOWNTO 16),
380)             i_wr_en   => s_data_wr_en(2)
381)         );
382) 
383)     data_3: e_ram_3
384)         GENERIC MAP (
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

385)             addr_width => c_data_addr_width - 2
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

386)         )
387)         PORT MAP (
388)             clk       => clk,
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

389)             i_addr    => s_data_addr(c_data_addr_width - 1 DOWNTO 2),
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

390)             o_rd_data => s_data_rd_data(31 DOWNTO 24),
391)             i_wr_data => s_data_wr_data(31 DOWNTO 24),
392)             i_wr_en   => s_data_wr_en(3)
393)         );
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

394) 
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

395)     leds: e_io_leds
396)         PORT MAP (
397)             rst        => rst,
398)             clk        => clk,
399)             o_rd_data  => s_leds_rd_data,
400)             i_wr_data  => s_leds_wr_data,
401)             i_wr_en    => s_leds_wr_en,
402)             pin_o_leds => pin_o_leds
403)         );
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

404) 
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

405)     lcd: e_io_lcd
406)         PORT MAP (
407)             rst       => rst,
408)             clk       => clk,
409)             o_rd_data => s_lcd_rd_data,
410)             i_wr_data => s_lcd_wr_data,
411)             i_wr_en   => s_lcd_wr_en,
412)             pin_o_lcd => pin_o_lcd
413)         );
414) 
Stefan Schuermans implemented switches

Stefan Schuermans authored 12 years ago

415)     switches: e_io_switches
416)         PORT MAP (
417)             rst            => rst,
418)             clk            => clk,
419)             i_addr         => s_switches_addr(2 DOWNTO 2),
420)             o_rd_data      => s_switches_rd_data,
421)             pin_i_switches => pin_i_switches
422)         );
423) 
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

424)     uart: e_io_uart
425)         PORT MAP (
426)             rst       => rst,
427)             clk       => clk,
428)             i_addr    => s_uart_addr(3 DOWNTO 2),
429)             o_rd_data => s_uart_rd_data,
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

430)             i_rd_en   => s_uart_rd_en,
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

431)             i_wr_data => s_uart_wr_data,
432)             i_wr_en   => s_uart_wr_en,
Stefan Schuermans implemented RX part of UART...

Stefan Schuermans authored 12 years ago

433)             pin_i_rx  => pin_i_uart_rx,
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

434)             pin_o_tx  => pin_o_uart_tx
435)         );
436) 
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

437)     eth: e_io_eth
438)         PORT MAP (
439)             rst          => rst,
440)             clk          => clk,
441)             i_addr       => s_eth_addr(3 DOWNTO 2),
442)             o_rd_data    => s_eth_rd_data,
Stefan Schuermans add read_enable signal to d...

Stefan Schuermans authored 12 years ago

443)             i_rd_en      => s_eth_rd_en,
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

444)             i_wr_data    => s_eth_wr_data,
445)             i_wr_en      => s_eth_wr_en,
446)             pin_o_nrst   => pin_o_eth_nrst,
447)             pin_i_rx_clk => pin_i_eth_rx_clk,
448)             pin_i_rxd    => pin_i_eth_rxd,
449)             pin_i_rx_dv  => pin_i_eth_rx_dv,
450)             pin_i_crs    => pin_i_eth_crs,
451)             pin_i_col    => pin_i_eth_col,
452)             pin_i_tx_clk => pin_i_eth_tx_clk,
453)             pin_o_txd    => pin_o_eth_txd,
454)             pin_o_tx_en  => pin_o_eth_tx_en
455)         );
456) 
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

457)     cyc_cnt: e_io_cyc_cnt
458)         PORT MAP (
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

459)             rst       => rst,
460)             clk       => clk,
461)             o_rd_data => s_cyc_cnt_rd_data,
462)             i_wr_data => s_cyc_cnt_wr_data,
463)             i_wr_en   => s_cyc_cnt_wr_en
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

464)         );
465)