4059dff66b96d3920d70dcf569785f45ef4e8367
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)             o_instr_addr:   OUT std_logic_vector(31 DOWNTO 0);
75)             i_instr_data:   IN  std_logic_vector(31 DOWNTO 0);
76)             o_data_addr:    OUT std_logic_vector(31 DOWNTO 0);
77)             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

78)             o_data_rd_en:   OUT std_logic_vector( 3 DOWNTO 0);
Stefan Schuermans changed MIPS core to use re...

Stefan Schuermans authored 12 years ago

79)             i_data_rd_ack:  IN  std_logic;
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

80)             o_data_wr_data: OUT std_logic_vector(31 DOWNTO 0);
Stefan Schuermans changed MIPS core to use re...

Stefan Schuermans authored 12 years ago

81)             o_data_wr_en:   OUT std_logic_vector( 3 DOWNTO 0);
82)             i_data_wr_ack:  IN  std_logic
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

83)         );
84)     END COMPONENT e_mips_core;
85) 
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

159) 
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

226) BEGIN
227) 
228)     core: e_mips_core
229)         PORT MAP (
230)             rst            => rst,
231)             clk            => clk,
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 changed MIPS core to use re...

Stefan Schuermans authored 12 years ago

237)             i_data_rd_ack  => '1',
Stefan Schuermans added "LEDs" I/O peripheral...

Stefan Schuermans authored 12 years ago

238)             o_data_wr_data => s_dbus_wr_data,
Stefan Schuermans changed MIPS core to use re...

Stefan Schuermans authored 12 years ago

239)             o_data_wr_en   => s_dbus_wr_en,
240)             i_data_wr_ack  => '1'
Stefan Schuermans implented basic system with...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

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

Stefan Schuermans authored 12 years ago

251)         );
252) 
Stefan Schuermans removed bottleneck from dat...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

296)     BEGIN
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

327)                     s_lcd_wr_data <= s_dbus_wr_data;
328)                     s_lcd_wr_en   <= s_dbus_wr_en;
Stefan Schuermans implemented switches

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

339)                     s_eth_wr_data <= s_dbus_wr_data;
340)                     s_eth_wr_en   <= s_dbus_wr_en;
Stefan Schuermans added cycle counter peripheral

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

348) 
Stefan Schuermans implemented loading of data...

Stefan Schuermans authored 12 years ago

349)     data_0: e_ram_0
350)         GENERIC MAP (
Stefan Schuermans increased code and data add...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

406) 
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

436)             pin_o_tx  => pin_o_uart_tx
437)         );
438) 
Stefan Schuermans begin of ethernet RX implem...

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

459)     cyc_cnt: e_io_cyc_cnt
460)         PORT MAP (
Stefan Schuermans implemented LCD peripheral

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

466)         );
467)