OpenCores
URL https://opencores.org/ocsvn/mips_enhanced/mips_enhanced/trunk

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [designs/] [leon3-gr-xc3s-1500/] [testbench.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
-----------------------------------------------------------------------------
2
--  LEON3 Demonstration design test bench
3
--  Copyright (C) 2004 Jiri Gaisler, Gaisler Research
4
--
5
--  This program is free software; you can redistribute it and/or modify
6
--  it under the terms of the GNU General Public License as published by
7
--  the Free Software Foundation; either version 2 of the License, or
8
--  (at your option) any later version.
9
--
10
--  This program is distributed in the hope that it will be useful,
11
--  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
--  GNU General Public License for more details.
14
------------------------------------------------------------------------------
15
 
16
library ieee;
17
use ieee.std_logic_1164.all;
18
library gaisler;
19
use gaisler.libdcom.all;
20
use gaisler.sim.all;
21
library techmap;
22
use techmap.gencomp.all;
23
library micron;
24
use micron.components.all;
25
use work.debug.all;
26
 
27
use work.config.all;    -- configuration
28
 
29
entity testbench is
30
  generic (
31
    fabtech   : integer := CFG_FABTECH;
32
    memtech   : integer := CFG_MEMTECH;
33
    padtech   : integer := CFG_PADTECH;
34
    clktech   : integer := CFG_CLKTECH;
35
    disas     : integer := CFG_DISAS;   -- Enable disassembly to console
36
    dbguart   : integer := CFG_DUART;   -- Print UART on console
37
    pclow     : integer := CFG_PCLOW;
38
 
39
    clkperiod : integer := 20;          -- system clock period
40
    romwidth  : integer := 32;          -- rom data width (8/32)
41
    romdepth  : integer := 16;          -- rom address depth
42
    sramwidth  : integer := 32;         -- ram data width (8/16/32)
43
    sramdepth  : integer := 18;         -- ram address depth
44
    srambanks  : integer := 2           -- number of ram banks
45
  );
46
end;
47
 
48
architecture behav of testbench is
49
 
50
constant promfile  : string := "prom.srec";  -- rom contents
51
constant sramfile  : string := "sram.srec";  -- ram contents
52
constant sdramfile : string := "sdram.srec"; -- sdram contents
53
 
54
component leon3mp
55
  generic (
56
    fabtech   : integer := CFG_FABTECH;
57
    memtech   : integer := CFG_MEMTECH;
58
    padtech   : integer := CFG_PADTECH;
59
    clktech   : integer := CFG_CLKTECH;
60
    disas     : integer := CFG_DISAS;   -- Enable disassembly to console
61
    dbguart   : integer := CFG_DUART;   -- Print UART on console
62
    pclow     : integer := CFG_PCLOW
63
  );
64
  port (
65
    resetn      : in  std_ulogic;
66
    clk         : in  std_ulogic;
67
    clk3        : in  std_ulogic;
68
    pllref      : in  std_ulogic;
69
    errorn      : out std_ulogic;
70
    wdogn       : out std_ulogic;
71
 
72
    address     : out std_logic_vector(27 downto 0);
73
    data        : inout std_logic_vector(31 downto 0);
74
    ramsn       : out std_logic_vector (4 downto 0);
75
    ramoen      : out std_logic_vector (4 downto 0);
76
    rwen        : out std_logic_vector (3 downto 0);
77
    oen         : out std_ulogic;
78
    writen      : out std_ulogic;
79
    read        : out std_ulogic;
80
    iosn        : out std_ulogic;
81
    bexcn       : in  std_ulogic;                       -- DSU rx data
82
    brdyn       : in  std_ulogic;                       -- DSU rx data
83
    romsn       : out std_logic_vector (1 downto 0);
84
    sdclk       : out std_ulogic;
85
    sdcsn       : out std_logic_vector (1 downto 0);    -- sdram chip select
86
    sdwen       : out std_ulogic;                       -- sdram write enable
87
    sdrasn      : out std_ulogic;                       -- sdram ras
88
    sdcasn      : out std_ulogic;                       -- sdram cas
89
    sddqm       : out std_logic_vector (3 downto 0);    -- sdram dqm
90
 
91
    dsuen       : in std_ulogic;
92
    dsubre      : in std_ulogic;
93
    dsuact      : out std_ulogic;
94
 
95
    txd1        : out std_ulogic;                       -- UART1 tx data
96
    rxd1        : in  std_ulogic;                       -- UART1 rx data
97
    ctsn1       : in  std_ulogic;                       -- UART1 rx data
98
    rtsn1       : out std_ulogic;                       -- UART1 rx data
99
    txd2        : out std_ulogic;                       -- UART2 tx data
100
    rxd2        : in  std_ulogic;                       -- UART2 rx data
101
    ctsn2       : in  std_ulogic;                       -- UART1 rx data
102
    rtsn2       : out std_ulogic;                       -- UART1 rx data
103
 
104
    pio         : inout std_logic_vector(17 downto 0);   -- I/O port
105
 
106
    emdio       : inout std_logic;              -- ethernet PHY interface
107
    etx_clk     : in std_ulogic;
108
    erx_clk     : in std_ulogic;
109
    erxd        : in std_logic_vector(3 downto 0);
110
    erx_dv      : in std_ulogic;
111
    erx_er      : in std_ulogic;
112
    erx_col     : in std_ulogic;
113
    erx_crs     : in std_ulogic;
114
    etxd        : out std_logic_vector(3 downto 0);
115
    etx_en      : out std_ulogic;
116
    etx_er      : out std_ulogic;
117
    emdc        : out std_ulogic;
118
 
119
    ps2clk      : inout std_logic_vector(1 downto 0);
120
    ps2data     : inout std_logic_vector(1 downto 0);
121
 
122
    vid_clock   : out std_ulogic;
123
    vid_blankn  : out std_ulogic;
124
    vid_syncn   : out std_ulogic;
125
    vid_hsync   : out std_ulogic;
126
    vid_vsync   : out std_ulogic;
127
    vid_r       : out std_logic_vector(7 downto 0);
128
    vid_g       : out std_logic_vector(7 downto 0);
129
    vid_b       : out std_logic_vector(7 downto 0);
130
 
131
    spw_clk     : in  std_ulogic;
132
    spw_rxdp    : in  std_logic_vector(0 to 2);
133
    spw_rxdn    : in  std_logic_vector(0 to 2);
134
    spw_rxsp    : in  std_logic_vector(0 to 2);
135
    spw_rxsn    : in  std_logic_vector(0 to 2);
136
    spw_txdp    : out std_logic_vector(0 to 2);
137
    spw_txdn    : out std_logic_vector(0 to 2);
138
    spw_txsp    : out std_logic_vector(0 to 2);
139
    spw_txsn    : out std_logic_vector(0 to 2);
140
 
141
    usb_clkout    : in std_ulogic;
142
    usb_d         : inout std_logic_vector(15 downto 0);
143
    usb_linestate : in std_logic_vector(1 downto 0);
144
    usb_opmode    : out std_logic_vector(1 downto 0);
145
    usb_reset     : out std_ulogic;
146
    usb_rxactive  : in std_ulogic;
147
    usb_rxerror   : in std_ulogic;
148
    usb_rxvalid   : in std_ulogic;
149
    usb_suspend   : out std_ulogic;
150
    usb_termsel   : out std_ulogic;
151
    usb_txready   : in std_ulogic;
152
    usb_txvalid   : out std_ulogic;
153
    usb_validh    : inout std_ulogic;
154
    usb_xcvrsel   : out std_ulogic;
155
    usb_vbus      : in std_ulogic;
156
 
157
    ata_rstn  : out std_logic;
158
    ata_data  : inout std_logic_vector(15 downto 0);
159
    ata_da    : out std_logic_vector(2 downto 0);
160
    ata_cs0   : out std_logic;
161
    ata_cs1   : out std_logic;
162
    ata_dior  : out std_logic;
163
    ata_diow  : out std_logic;
164
    ata_iordy : in std_logic;
165
    ata_intrq : in std_logic;
166
    ata_dmarq : in std_logic;
167
    ata_dmack : out std_logic;
168
    --ata_dasp  : in std_logic;
169
    ata_csel  : out std_logic
170
 
171
  );
172
 
173
end component;
174
 
175
signal clk : std_logic := '0';
176
signal Rst : std_logic := '0';                   -- Reset
177
constant ct : integer := clkperiod/2;
178
 
179
signal address  : std_logic_vector(27 downto 0);
180
signal data     : std_logic_vector(31 downto 0);
181
signal pio      : std_logic_vector(17 downto 0);
182
signal romsn    : std_logic_vector(1 downto 0);
183
signal ramsn    : std_logic_vector(4 downto 0);
184
signal ramoen   : std_logic_vector(4 downto 0);
185
signal rwen     : std_logic_vector(3 downto 0);
186
signal oen      : std_ulogic;
187
signal writen   : std_ulogic;
188
signal read     : std_ulogic;
189
signal iosn     : std_ulogic;
190
signal bexcn    : std_ulogic;
191
signal brdyn    : std_ulogic;
192
signal dsuen, dsutx, dsurx, dsubre, dsuact : std_ulogic;
193
signal dsurst   : std_ulogic;
194
signal GND      : std_ulogic := '0';
195
signal VCC      : std_ulogic := '1';
196
signal NC       : std_ulogic := 'Z';
197
signal clk2     : std_ulogic := '1';
198
signal wdogn    : std_logic;
199
 
200
signal sdcke    : std_ulogic;                       -- clk en
201
signal sdcsn    : std_logic_vector ( 1 downto 0);
202
signal sdwen    : std_ulogic;                       -- write en
203
signal sdrasn   : std_ulogic;                       -- row addr stb
204
signal sdcasn   : std_ulogic;                       -- col addr stb
205
signal sddqm    : std_logic_vector ( 3 downto 0);   -- data i/o mask
206
signal sdclk    : std_ulogic;
207
signal pllref   : std_ulogic;
208
signal txd1, rxd1 : std_logic;
209
signal txd2, rxd2 : std_logic;
210
signal ctsn1, rtsn1 : std_ulogic;
211
signal ctsn2, rtsn2 : std_ulogic;
212
signal errorn   : std_logic;
213
 
214
signal etx_clk, erx_clk, erx_dv, erx_er, erx_col, erx_crs, etx_en, etx_er : std_logic:='0';
215
signal erxd, etxd: std_logic_vector(3 downto 0):=(others=>'0');
216
signal erxdt, etxdt : std_logic_vector(7 downto 0);
217
signal emdc, emdio: std_logic; --dummy signal for the mdc,mdio in the phy which is not used
218
signal eth_macclk : std_ulogic := '0';
219
 
220
signal ps2clk      : std_logic_vector(1 downto 0);
221
signal ps2data     : std_logic_vector(1 downto 0);
222
 
223
signal vid_clock   : std_ulogic;
224
signal vid_blankn  : std_ulogic;
225
signal vid_syncn   : std_ulogic;
226
signal vid_hsync   : std_ulogic;
227
signal vid_vsync   : std_ulogic;
228
signal vid_r       : std_logic_vector(7 downto 0);
229
signal vid_g       : std_logic_vector(7 downto 0);
230
signal vid_b       : std_logic_vector(7 downto 0);
231
signal clk3        : std_ulogic := '0';
232
 
233
signal spw_clk  : std_ulogic := '0';
234
signal spw_rxdp : std_logic_vector(0 to 2) := "000";
235
signal spw_rxdn : std_logic_vector(0 to 2) := "000";
236
signal spw_rxsp : std_logic_vector(0 to 2) := "000";
237
signal spw_rxsn : std_logic_vector(0 to 2) := "000";
238
signal spw_txdp : std_logic_vector(0 to 2);
239
signal spw_txdn : std_logic_vector(0 to 2);
240
signal spw_txsp : std_logic_vector(0 to 2);
241
signal spw_txsn : std_logic_vector(0 to 2);
242
 
243
signal usb_clkout    : std_ulogic := '0';
244
signal usb_d         : std_logic_vector(15 downto 0);
245
signal usb_linestate : std_logic_vector(1 downto 0);
246
signal usb_opmode    : std_logic_vector(1 downto 0);
247
signal usb_reset     : std_ulogic;
248
signal usb_rxactive  : std_ulogic;
249
signal usb_rxerror   : std_ulogic;
250
signal usb_rxvalid   : std_ulogic;
251
signal usb_suspend   : std_ulogic;
252
signal usb_termsel   : std_ulogic;
253
signal usb_txready   : std_ulogic;
254
signal usb_txvalid   : std_ulogic;
255
signal usb_validh    : std_logic;
256
signal usb_xcvrsel   : std_ulogic;
257
signal usb_vbus      : std_ulogic;
258
signal rhvalid       : std_ulogic;
259
 
260
signal ata_data  : std_logic_vector(15 downto 0);
261
signal ata_da    : std_logic_vector(2 downto 0);
262
signal ata_cs0   : std_logic;
263
signal ata_cs1   : std_logic;
264
signal ata_dior  : std_logic;
265
signal ata_diow  : std_logic;
266
signal ata_iordy : std_logic;
267
signal ata_intrq : std_logic;
268
signal ata_dmarq : std_logic;
269
signal ata_dmack : std_logic;
270
signal ata_rstn  : std_logic;
271
signal ata_csel  : std_logic;
272
 
273
signal from_ata : ata_out_type := ATAO_RESET_VECTOR;
274
signal to_ata : ata_in_type := ATAI_RESET_VECTOR;
275
 
276
constant lresp : boolean := false;
277
 
278
begin
279
 
280
-- clock and reset
281
 
282
  clk  <= not clk after ct * 1 ns;
283
  clk3 <= not clk3 after 20 ns;
284
  rst <= dsurst and wdogn;
285
  dsuen <= '1'; dsubre <= '0';
286
  rxd1 <= 'H'; ctsn1 <= '0';
287
  rxd2 <= 'H'; ctsn2 <= '0'; pllref <= sdclk;
288
  ps2clk <= "HH"; ps2data <= "HH";
289
  pio(4) <= pio(5); pio(1) <= pio(2); pio <= (others => 'H');
290
  wdogn <= 'H';
291
  usb_clkout  <= not usb_clkout after 8.33 ns;     -- ~60MHz
292
 
293
  spw_rxdp <= spw_txdp; spw_rxdn <= spw_txdn;
294
  spw_rxsp <= spw_txsp; spw_rxsn <= spw_txsn;
295
 
296
  ata_iordy <= 'H'; ata_intrq <= 'H'; ata_dmarq <= 'H';
297
  ata_data <= (others => 'H');
298
 
299
  cpu : leon3mp
300
      generic map ( fabtech, memtech, padtech, clktech,
301
        disas, dbguart, pclow )
302
      port map (rst, clk, clk3, pllref, errorn, wdogn, address(27 downto 0), data,
303
        ramsn, ramoen, rwen, oen, writen, read, iosn, bexcn, brdyn, romsn,
304
        sdclk, sdcsn, sdwen, sdrasn, sdcasn, sddqm,
305
        dsuen, dsubre, dsuact,
306
        txd1, rxd1, ctsn1, rtsn1, txd2, rxd2, ctsn2, rtsn2, pio,
307
        emdio, etx_clk, erx_clk, erxd, erx_dv, erx_er, erx_col, erx_crs,
308
        etxd, etx_en, etx_er, emdc, ps2clk, ps2data, vid_clock, vid_blankn, vid_syncn,
309
        vid_hsync, vid_vsync, vid_r, vid_g, vid_b, spw_clk, spw_rxdp, spw_rxdn,
310
        spw_rxsp,  spw_rxsn, spw_txdp, spw_txdn, spw_txsp, spw_txsn, usb_clkout,
311
        usb_d, usb_linestate, usb_opmode, usb_reset, usb_rxactive, usb_rxerror,
312
        usb_rxvalid, usb_suspend, usb_termsel, usb_txready, usb_txvalid, usb_validh,
313
        usb_xcvrsel, usb_vbus, ata_rstn, ata_data, ata_da, ata_cs0, ata_cs1,
314
        ata_dior, ata_diow, ata_iordy, ata_intrq, ata_dmarq, ata_dmack, ata_csel
315
      );
316
 
317
  u0: mt48lc16m16a2 generic map (index => 0, fname => sdramfile)
318
        PORT MAP(
319
            Dq => data(31 downto 16), Addr => address(14 downto 2),
320
            Ba => address(16 downto 15), Clk => sdclk, Cke => vcc,
321
            Cs_n => sdcsn(0), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
322
            Dqm => sddqm(3 downto 2));
323
  u1: mt48lc16m16a2 generic map (index => 16, fname => sdramfile)
324
        PORT MAP(
325
            Dq => data(15 downto 0), Addr => address(14 downto 2),
326
            Ba => address(16 downto 15), Clk => sdclk, Cke => vcc,
327
            Cs_n => sdcsn(0), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
328
            Dqm => sddqm(1 downto 0));
329
 
330
  prom0 : sram generic map (index => 6, abits => romdepth, fname => promfile)
331
        port map (address(romdepth-1 downto 0), data(31 downto 24), romsn(0),
332
                  writen, oen);
333
 
334
  disk: ata_device
335
    generic map( sector_length => 512, log2_size => 14)
336
    port map( clk => clk, rst => rst, d => ata_data, atai => to_ata,
337
      atao => from_ata
338
    );
339
  to_ata.cs(0)<=ata_cs0; to_ata.cs(1)<=ata_cs1;
340
  to_ata.da<=ata_da; to_ata.dmack<=ata_dmack;
341
  to_ata.dior<=ata_dior; to_ata.diow<=ata_diow; to_ata.reset<=ata_rstn;
342
  ata_dmarq<=from_ata.dmarq; ata_intrq<=from_ata.intrq; ata_iordy<=from_ata.iordy;
343
 
344
 
345
  phy0 : if (CFG_GRETH = 1) generate
346
    emdio <= 'H';
347
    erxd <= erxdt(3 downto 0);
348
    etxdt <= "0000" & etxd;
349
    p0: phy
350
      generic map(base1000_t_fd => 0, base1000_t_hd => 0)
351
      port map(rst, emdio, etx_clk, erx_clk, erxdt, erx_dv,
352
        erx_er, erx_col, erx_crs, etxdt, etx_en, etx_er, emdc, eth_macclk);
353
  end generate;
354
 
355
  errorn <= 'H';                          -- ERROR pull-up
356
 
357
   iuerr : process
358
   begin
359
     wait for 5000000 ns;
360
     if to_x01(errorn) = '1' then wait on errorn; end if;
361
     assert (to_x01(errorn) = '1')
362
       report "*** IU in error mode, simulation halted ***"
363
         severity failure ;
364
   end process;
365
 
366
  test0 :  grtestmod
367
    port map ( rst, clk, errorn, address(21 downto 2), data,
368
               iosn, oen, writen, brdyn);
369
 
370
 
371
  data <= buskeep(data) after 5 ns;
372
 
373
dsucom : process
374
    procedure dsucfg(signal dsurx : in std_ulogic; signal dsutx : out std_ulogic) is
375
    variable w32 : std_logic_vector(31 downto 0);
376
    variable c8  : std_logic_vector(7 downto 0);
377
   constant txp : time := 320 * 1 ns;
378
   begin
379
   dsutx <= '1';
380
   dsurst <= '0';
381
   wait for 2500 ns;
382
   dsurst <= '1';
383
   wait;
384
   wait for 5000 ns;
385
   txc(dsutx, 16#55#, txp);             -- sync uart
386
 
387
   txc(dsutx, 16#c0#, txp);
388
   txa(dsutx, 16#90#, 16#00#, 16#00#, 16#00#, txp);
389
   txa(dsutx, 16#00#, 16#00#, 16#20#, 16#2e#, txp);
390
 
391
    wait for 25000 ns;
392
   txc(dsutx, 16#c0#, txp);
393
 txa(dsutx, 16#90#, 16#00#, 16#00#, 16#20#, txp);
394
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#01#, txp);
395
 
396
    txc(dsutx, 16#c0#, txp);
397
    txa(dsutx, 16#90#, 16#40#, 16#00#, 16#24#, txp);
398
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#0D#, txp);
399
 
400
    txc(dsutx, 16#c0#, txp);
401
    txa(dsutx, 16#90#, 16#70#, 16#11#, 16#78#, txp);
402
    txa(dsutx, 16#91#, 16#00#, 16#00#, 16#0D#, txp);
403
 
404
    txa(dsutx, 16#90#, 16#40#, 16#00#, 16#44#, txp);
405
    txa(dsutx, 16#00#, 16#00#, 16#20#, 16#00#, txp);
406
 
407
    txc(dsutx, 16#80#, txp);
408
    txa(dsutx, 16#90#, 16#40#, 16#00#, 16#44#, txp);
409
 
410
    wait;
411
    txc(dsutx, 16#c0#, txp);
412
    txa(dsutx, 16#00#, 16#00#, 16#0a#, 16#aa#, txp);
413
    txa(dsutx, 16#00#, 16#55#, 16#00#, 16#55#, txp);
414
    txc(dsutx, 16#c0#, txp);
415
    txa(dsutx, 16#00#, 16#00#, 16#0a#, 16#a0#, txp);
416
    txa(dsutx, 16#01#, 16#02#, 16#09#, 16#33#, txp);
417
 
418
    txc(dsutx, 16#c0#, txp);
419
    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#00#, txp);
420
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#2e#, txp);
421
    txc(dsutx, 16#c0#, txp);
422
    txa(dsutx, 16#91#, 16#00#, 16#00#, 16#00#, txp);
423
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#2e#, txp);
424
    txc(dsutx, 16#c0#, txp);
425
    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#20#, txp);
426
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#0f#, txp);
427
    txc(dsutx, 16#c0#, txp);
428
    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#20#, txp);
429
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#00#, txp);
430
    txc(dsutx, 16#c0#, txp);
431
    txa(dsutx, 16#80#, 16#00#, 16#02#, 16#10#, txp);
432
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#0f#, txp);
433
 
434
    txc(dsutx, 16#c0#, txp);
435
    txa(dsutx, 16#91#, 16#40#, 16#00#, 16#24#, txp);
436
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#24#, txp);
437
   txc(dsutx, 16#c0#, txp);
438
    txa(dsutx, 16#91#, 16#70#, 16#00#, 16#00#, txp);
439
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#03#, txp);
440
 
441
 
442
 
443
 
444
 
445
    txc(dsutx, 16#c0#, txp);
446
    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#20#, txp);
447
    txa(dsutx, 16#00#, 16#00#, 16#ff#, 16#ff#, txp);
448
 
449
    txc(dsutx, 16#c0#, txp);
450
    txa(dsutx, 16#90#, 16#40#, 16#00#, 16#48#, txp);
451
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#12#, txp);
452
 
453
    txc(dsutx, 16#c0#, txp);
454
    txa(dsutx, 16#90#, 16#40#, 16#00#, 16#60#, txp);
455
    txa(dsutx, 16#00#, 16#00#, 16#12#, 16#10#, txp);
456
 
457
    txc(dsutx, 16#80#, txp);
458
    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#00#, txp);
459
    rxi(dsurx, w32, txp, lresp);
460
 
461
    txc(dsutx, 16#a0#, txp);
462
    txa(dsutx, 16#40#, 16#00#, 16#00#, 16#00#, txp);
463
    rxi(dsurx, w32, txp, lresp);
464
 
465
    end;
466
 
467
  begin
468
 
469
    dsucfg(txd2, rxd2);
470
 
471
  wait;
472
 end process;
473
end ;
474
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.