65b262222298e6553b9748bee885da8c15da7365
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);
38)     SIGNAL s_dbus_wr_data: std_logic_vector(31 DOWNTO 0);
39)     SIGNAL s_dbus_wr_en:   std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans removed bottleneck from dat...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

55)     SIGNAL s_uart_addr:    std_logic_vector( 3 DOWNTO 0);
56)     SIGNAL s_uart_rd_data: std_logic_vector(31 DOWNTO 0);
57)     SIGNAL s_uart_wr_data: std_logic_vector(31 DOWNTO 0);
58)     SIGNAL s_uart_wr_en:   std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

59)     SIGNAL s_eth_addr:    std_logic_vector( 3 DOWNTO 0);
60)     SIGNAL s_eth_rd_data: std_logic_vector(31 DOWNTO 0);
61)     SIGNAL s_eth_wr_data: std_logic_vector(31 DOWNTO 0);
62)     SIGNAL s_eth_wr_en:   std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

63)     SIGNAL s_cyc_cnt_rd_data: std_logic_vector(31 DOWNTO 0);
64)     SIGNAL s_cyc_cnt_wr_data: std_logic_vector(31 DOWNTO 0);
65)     SIGNAL s_cyc_cnt_wr_en:   std_logic;
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

66) 
67)     COMPONENT e_mips_core IS
68)         PORT (
69)             rst:            IN  std_logic;
70)             clk:            IN  std_logic;
71)             i_stall:        IN  std_logic;
72)             o_instr_addr:   OUT std_logic_vector(31 DOWNTO 0);
73)             i_instr_data:   IN  std_logic_vector(31 DOWNTO 0);
74)             o_data_addr:    OUT std_logic_vector(31 DOWNTO 0);
75)             i_data_rd_data: IN  std_logic_vector(31 DOWNTO 0);
76)             o_data_wr_data: OUT std_logic_vector(31 DOWNTO 0);
77)             o_data_wr_en:   OUT std_logic_vector( 3 DOWNTO 0)
78)         );
79)     END COMPONENT e_mips_core;
80) 
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

81)     COMPONENT e_rom IS
82)         GENERIC (
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

95)         );
96)         PORT (
97)             clk:       IN  std_logic;
98)             i_addr:    IN  std_logic_vector(addr_width - 1 DOWNTO 0);
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

101)             i_wr_en:   IN  std_logic
102)         );
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

146)             rst:        IN  std_logic;
147)             clk:        IN  std_logic;
148)             o_rd_data:  OUT std_logic_vector(7 DOWNTO 0);
149)             i_wr_data:  IN  std_logic_vector(7 DOWNTO 0);
150)             i_wr_en:    IN  std_logic;
151)             pin_o_leds: OUT std_logic_vector(7 DOWNTO 0)
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

154) 
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

176)     COMPONENT e_io_uart IS
177)         PORT (
178)             rst:       IN  std_logic;
179)             clk:       IN  std_logic;
180)             i_addr:    IN  std_logic_vector( 1 DOWNTO 0);
181)             o_rd_data: OUT std_logic_vector(31 DOWNTO 0);
182)             i_wr_data: IN  std_logic_vector(31 DOWNTO 0);
183)             i_wr_en:   IN  std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans implemented RX part of UART...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

185)             pin_o_tx:  OUT std_logic
186)         );
187)     END COMPONENT e_io_uart;
188) 
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

189)     COMPONENT e_io_eth IS
190)         PORT (
191)             rst:          IN  std_logic;
192)             clk:          IN  std_logic;
193)             i_addr:       IN  std_logic_vector( 1 DOWNTO 0);
194)             o_rd_data:    OUT std_logic_vector(31 DOWNTO 0);
195)             i_wr_data:    IN  std_logic_vector(31 DOWNTO 0);
196)             i_wr_en:      IN  std_logic_vector( 3 DOWNTO 0);
197)             pin_o_nrst:   OUT std_logic;
198)             pin_i_rx_clk: IN  std_logic;
199)             pin_i_rxd:    IN  std_logic_vector(4 DOWNTO 0);
200)             pin_i_rx_dv:  IN  std_logic;
201)             pin_i_crs:    IN  std_logic;
202)             pin_i_col:    IN  std_logic;
203)             pin_i_tx_clk: IN  std_logic;
204)             pin_o_txd:    OUT std_logic_vector(3 DOWNTO 0);
205)             pin_o_tx_en:  OUT std_logic
206)         );
207)     END COMPONENT e_io_eth;
208) 
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

209)     COMPONENT e_io_cyc_cnt IS
210)         PORT (
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

211)             rst:       IN  std_logic;
212)             clk:       IN  std_logic;
213)             o_rd_data: OUT std_logic_vector(31 DOWNTO 0);
214)             i_wr_data: IN  std_logic_vector(31 DOWNTO 0);
215)             i_wr_en:   IN  std_logic
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

216)         );
217)     END COMPONENT e_io_cyc_cnt;
218) 
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

219) BEGIN
220) 
221)     core: e_mips_core
222)         PORT MAP (
223)             rst            => rst,
224)             clk            => clk,
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

228)             o_data_addr    => s_dbus_addr,
229)             i_data_rd_data => s_dbus_rd_data,
230)             o_data_wr_data => s_dbus_wr_data,
231)             o_data_wr_en   => s_dbus_wr_en
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

237)         )
238)         PORT MAP (
239)             clk    => clk,
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

240)             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

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

Stefan Schuermans authored 12 years ago

242)         );
243) 
Stefan Schuermans removed bottleneck from dat...

Stefan Schuermans authored 12 years ago

244)     p_dbus_rd_sync: PROCESS(rst, clk)
245)     BEGIN
246)         IF rst = '1' THEN
247)             r_dbus_addr_delay <= (OTHERS => '0');
248)         ELSIF rising_edge(clk) THEN
249)             r_dbus_addr_delay <= s_dbus_addr;
250)         END IF;
251)     END PROCESS p_dbus_rd_sync;
252) 
253)     p_dbus_rd: PROCESS(r_dbus_addr_delay,
254)                        s_data_rd_data,
255)                        s_leds_rd_data,
256)                        s_lcd_rd_data,
257)                        s_switches_rd_data,
258)                        s_uart_rd_data,
259)                        s_eth_rd_data,
260)                        s_cyc_cnt_rd_data)
261)     BEGIN
262)         s_dbus_rd_data <= (OTHERS => '0');
263)         IF r_dbus_addr_delay(31) = '0' THEN
264)             s_dbus_rd_data <= s_data_rd_data;
265)         ELSIF r_dbus_addr_delay(31 DOWNTO 16) = X"8000" THEN
266)             CASE r_dbus_addr_delay(15 DOWNTO 8) IS
267)                 WHEN X"00" =>
268)                     s_dbus_rd_data <= X"000000" & s_leds_rd_data;
269)                 WHEN X"01" =>
270)                     s_dbus_rd_data <= s_lcd_rd_data;
271)                 WHEN X"02" =>
272)                     s_dbus_rd_data <= s_switches_rd_data;
273)                 WHEN X"03" =>
274)                     s_dbus_rd_data <= s_uart_rd_data;
275)                 WHEN X"04" =>
276)                     s_dbus_rd_data <= s_eth_rd_data;
277)                 WHEN X"10" =>
278)                     s_dbus_rd_data <= s_cyc_cnt_rd_data;
279)                 WHEN OTHERS => NULL;
280)             END CASE;
281)         END IF;
282)     END PROCESS p_dbus_rd;
283) 
284)     p_dbus_wr: PROCESS(s_dbus_addr, s_dbus_wr_data, s_dbus_wr_en)
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

286)     BEGIN
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

289)         s_data_addr    <= (OTHERS => '0');
290)         s_data_wr_data <= (OTHERS => '0');
291)         s_data_wr_en   <= (OTHERS => '0');
292)         s_leds_wr_data <= (OTHERS => '0');
293)         s_leds_wr_en   <= '0';
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

297)         s_uart_addr    <= (OTHERS => '0');
298)         s_uart_wr_data <= (OTHERS => '0');
299)         s_uart_wr_en   <= (OTHERS => '0');
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

300)         s_eth_addr    <= (OTHERS => '0');
301)         s_eth_wr_data <= (OTHERS => '0');
302)         s_eth_wr_en   <= (OTHERS => '0');
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

305)         IF s_dbus_addr(31) = '0' THEN
306)             s_data_addr    <= s_dbus_addr;
307)             s_data_wr_data <= s_dbus_wr_data;
308)             s_data_wr_en   <= s_dbus_wr_en;
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

309)         ELSIF s_dbus_addr(31 DOWNTO 16) = X"8000" THEN
310)             CASE s_dbus_addr(15 DOWNTO 8) IS
311)                 WHEN X"00" =>
312)                     s_leds_wr_data <= s_dbus_wr_data(7 DOWNTO 0);
313)                     s_leds_wr_en   <= s_dbus_wr_en(0);
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

315)                     s_lcd_wr_data <= s_dbus_wr_data;
316)                     s_lcd_wr_en   <= s_dbus_wr_en;
Stefan Schuermans implemented switches

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

319)                 WHEN X"03" =>
320)                     s_uart_addr    <= s_dbus_addr(3 DOWNTO 0);
321)                     s_uart_wr_data <= s_dbus_wr_data;
322)                     s_uart_wr_en   <= s_dbus_wr_en;
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

324)                     s_eth_addr    <= s_dbus_addr(3 DOWNTO 0);
325)                     s_eth_wr_data <= s_dbus_wr_data;
326)                     s_eth_wr_en   <= s_dbus_wr_en;
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

327)                 WHEN X"10" =>
328)                     s_cyc_cnt_wr_data <= s_dbus_wr_data;
329)                     s_cyc_cnt_wr_en   <= v_wr_en_word;
330)                 WHEN OTHERS => NULL;
331)             END CASE;
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

334) 
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

335)     data_0: e_ram_0
336)         GENERIC MAP (
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

338)         )
339)         PORT MAP (
340)             clk       => clk,
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

342)             o_rd_data => s_data_rd_data(7 DOWNTO 0),
343)             i_wr_data => s_data_wr_data(7 DOWNTO 0),
344)             i_wr_en   => s_data_wr_en(0)
345)         );
346) 
347)     data_1: e_ram_1
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(15 DOWNTO 8),
355)             i_wr_data => s_data_wr_data(15 DOWNTO 8),
356)             i_wr_en   => s_data_wr_en(1)
357)         );
358) 
359)     data_2: e_ram_2
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(23 DOWNTO 16),
367)             i_wr_data => s_data_wr_data(23 DOWNTO 16),
368)             i_wr_en   => s_data_wr_en(2)
369)         );
370) 
371)     data_3: e_ram_3
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(31 DOWNTO 24),
379)             i_wr_data => s_data_wr_data(31 DOWNTO 24),
380)             i_wr_en   => s_data_wr_en(3)
381)         );
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

383)     leds: e_io_leds
384)         PORT MAP (
385)             rst        => rst,
386)             clk        => clk,
387)             o_rd_data  => s_leds_rd_data,
388)             i_wr_data  => s_leds_wr_data,
389)             i_wr_en    => s_leds_wr_en,
390)             pin_o_leds => pin_o_leds
391)         );
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

392) 
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

393)     lcd: e_io_lcd
394)         PORT MAP (
395)             rst       => rst,
396)             clk       => clk,
397)             o_rd_data => s_lcd_rd_data,
398)             i_wr_data => s_lcd_wr_data,
399)             i_wr_en   => s_lcd_wr_en,
400)             pin_o_lcd => pin_o_lcd
401)         );
402) 
Stefan Schuermans implemented switches

Stefan Schuermans authored 12 years ago

403)     switches: e_io_switches
404)         PORT MAP (
405)             rst            => rst,
406)             clk            => clk,
407)             i_addr         => s_switches_addr(2 DOWNTO 2),
408)             o_rd_data      => s_switches_rd_data,
409)             pin_i_switches => pin_i_switches
410)         );
411) 
Stefan Schuermans implemented TX part of UART...

Stefan Schuermans authored 12 years ago

412)     uart: e_io_uart
413)         PORT MAP (
414)             rst       => rst,
415)             clk       => clk,
416)             i_addr    => s_uart_addr(3 DOWNTO 2),
417)             o_rd_data => s_uart_rd_data,
418)             i_wr_data => s_uart_wr_data,
419)             i_wr_en   => s_uart_wr_en,
Stefan Schuermans implemented RX part of UART...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

421)             pin_o_tx  => pin_o_uart_tx
422)         );
423) 
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

424)     eth: e_io_eth
425)         PORT MAP (
426)             rst          => rst,
427)             clk          => clk,
428)             i_addr       => s_eth_addr(3 DOWNTO 2),
429)             o_rd_data    => s_eth_rd_data,
430)             i_wr_data    => s_eth_wr_data,
431)             i_wr_en      => s_eth_wr_en,
432)             pin_o_nrst   => pin_o_eth_nrst,
433)             pin_i_rx_clk => pin_i_eth_rx_clk,
434)             pin_i_rxd    => pin_i_eth_rxd,
435)             pin_i_rx_dv  => pin_i_eth_rx_dv,
436)             pin_i_crs    => pin_i_eth_crs,
437)             pin_i_col    => pin_i_eth_col,
438)             pin_i_tx_clk => pin_i_eth_tx_clk,
439)             pin_o_txd    => pin_o_eth_txd,
440)             pin_o_tx_en  => pin_o_eth_tx_en
441)         );
442) 
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

443)     cyc_cnt: e_io_cyc_cnt
444)         PORT MAP (
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

445)             rst       => rst,
446)             clk       => clk,
447)             o_rd_data => s_cyc_cnt_rd_data,
448)             i_wr_data => s_cyc_cnt_wr_data,
449)             i_wr_en   => s_cyc_cnt_wr_en
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

450)         );
451)