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-cpci-xc2v6000/] [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
use work.debug.all;
22
library techmap;
23
use techmap.gencomp.all;
24
library micron;
25
use micron.components.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 := 20;         -- ram address depth
44
    srambanks  : integer := 2           -- number of ram banks
45
  );
46
  port (
47
    pci_rst     : inout std_logic;      -- PCI bus
48
    pci_clk     : in std_logic;
49
    pci_gnt     : in std_logic;
50
    pci_idsel   : in std_logic;
51
    pci_lock    : inout std_logic;
52
    pci_ad      : inout std_logic_vector(31 downto 0);
53
    pci_cbe     : inout std_logic_vector(3 downto 0);
54
    pci_frame   : inout std_logic;
55
    pci_irdy    : inout std_logic;
56
    pci_trdy    : inout std_logic;
57
    pci_devsel  : inout std_logic;
58
    pci_stop    : inout std_logic;
59
    pci_perr    : inout std_logic;
60
    pci_par     : inout std_logic;
61
    pci_req     : inout std_logic;
62
    pci_serr    : inout std_logic;
63
    pci_host    : in std_logic := 'L';
64
    pci_66      : in std_logic
65
  );
66
end;
67
 
68
architecture behav of testbench is
69
 
70
constant promfile  : string := "prom.srec";  -- rom contents
71
constant sramfile  : string := "sram.srec";  -- ram contents
72
constant sdramfile : string := "sdram.srec"; -- sdram contents
73
 
74
component leon3mp
75
  generic (
76
    fabtech  : integer := CFG_FABTECH;
77
    memtech  : integer := CFG_MEMTECH;
78
    padtech  : integer := CFG_PADTECH;
79
    clktech  : integer := CFG_CLKTECH;
80
    disas     : integer := CFG_DISAS;   -- Enable disassembly to console
81
    dbguart   : integer := CFG_DUART;   -- Print UART on console
82
    pclow     : integer := CFG_PCLOW
83
  );
84
  port (
85
    resetn      : in  std_logic;
86
    clk         : in  std_logic;
87
    pllref      : in  std_logic;
88
    errorn      : out std_logic;
89
    address     : out std_logic_vector(27 downto 0);
90
    data        : inout std_logic_vector(31 downto 0);
91
    sa          : out std_logic_vector(14 downto 0);
92
    sd          : inout std_logic_vector(63 downto 0);
93
    sdclk       : out std_logic;
94
    sdcke       : out std_logic_vector (1 downto 0);    -- sdram clock enable
95
    sdcsn       : out std_logic_vector (1 downto 0);    -- sdram chip select
96
    sdwen       : out std_logic;                       -- sdram write enable
97
    sdrasn      : out std_logic;                       -- sdram ras
98
    sdcasn      : out std_logic;                       -- sdram cas
99
    sddqm       : out std_logic_vector (7 downto 0);    -- sdram dqm
100
    dsutx       : out std_logic;                        -- DSU tx data
101
    dsurx       : in  std_logic;                        -- DSU rx data
102
    dsuen       : in std_logic;
103
    dsubre      : in std_logic;
104
    dsuact      : out std_logic;
105
    txd1        : out std_logic;                        -- UART1 tx data
106
    rxd1        : in  std_logic;                        -- UART1 rx data
107
    txd2        : out std_logic;                        -- UART1 tx data
108
    rxd2        : in  std_logic;                        -- UART1 rx data
109
    ramsn       : out std_logic_vector (4 downto 0);
110
    ramoen      : out std_logic_vector (4 downto 0);
111
    rwen        : out std_logic_vector (3 downto 0);
112
    oen         : out std_logic;
113
    writen      : out std_logic;
114
    read        : out std_logic;
115
    iosn        : out std_logic;
116
    romsn       : out std_logic_vector (1 downto 0);
117
    gpio        : inout std_logic_vector(7 downto 0);    -- I/O port
118
 
119
    emdio       : inout std_logic;              -- ethernet PHY interface
120
    etx_clk     : in std_logic;
121
    erx_clk     : in std_logic;
122
    erxd        : in std_logic_vector(3 downto 0);
123
    erx_dv      : in std_logic;
124
    erx_er      : in std_logic;
125
    erx_col     : in std_logic;
126
    erx_crs     : in std_logic;
127
    etxd        : out std_logic_vector(3 downto 0);
128
    etx_en      : out std_logic;
129
    etx_er      : out std_logic;
130
    emdc        : out std_logic;
131
 
132
    pci_rst     : inout std_logic;              -- PCI bus
133
    pci_clk     : in std_logic;
134
    pci_gnt     : in std_logic;
135
    pci_idsel   : in std_logic;
136
    pci_lock    : inout std_logic;
137
    pci_ad      : inout std_logic_vector(31 downto 0);
138
    pci_cbe     : inout std_logic_vector(3 downto 0);
139
    pci_frame   : inout std_logic;
140
    pci_irdy    : inout std_logic;
141
    pci_trdy    : inout std_logic;
142
    pci_devsel  : inout std_logic;
143
    pci_stop    : inout std_logic;
144
    pci_perr    : inout std_logic;
145
    pci_par     : inout std_logic;
146
    pci_req     : inout std_logic;
147
    pci_serr    : inout std_logic;
148
    pci_host    : in std_logic;
149
    pci_66      : in std_logic;
150
    pci_arb_req : in  std_logic_vector(0 to 3);
151
    pci_arb_gnt : out std_logic_vector(0 to 3);
152
 
153
    can_txd     : out std_logic_vector(0 to 1);
154
    can_rxd     : in  std_logic_vector(0 to 1);
155
    can_stb     : out std_logic_vector(0 to 1);
156
 
157
    spw_rxd      : in  std_logic_vector(0 to 2);
158
    spw_rxdn     : in  std_logic_vector(0 to 2);
159
    spw_rxs      : in  std_logic_vector(0 to 2);
160
    spw_rxsn     : in  std_logic_vector(0 to 2);
161
    spw_txd      : out std_logic_vector(0 to 2);
162
    spw_txdn     : out std_logic_vector(0 to 2);
163
    spw_txs      : out std_logic_vector(0 to 2);
164
    spw_txsn     : out std_logic_vector(0 to 2)
165
 
166
        );
167
end component;
168
 
169
signal clk : std_logic := '0';
170
signal Rst    : std_logic := '0';                        -- Reset
171
constant ct : integer := clkperiod/2;
172
 
173
signal address  : std_logic_vector(27 downto 0);
174
signal data     : std_logic_vector(31 downto 0);
175
 
176
signal ramsn    : std_logic_vector(4 downto 0);
177
signal ramoen   : std_logic_vector(4 downto 0);
178
signal rwen     : std_logic_vector(3 downto 0);
179
signal rwenx    : std_logic_vector(3 downto 0);
180
signal romsn    : std_logic_vector(1 downto 0);
181
signal iosn     : std_logic;
182
signal oen      : std_logic;
183
signal read     : std_logic;
184
signal writen   : std_logic;
185
signal brdyn    : std_logic;
186
signal bexcn    : std_logic;
187
signal wdog     : std_logic;
188
signal dsuen, dsutx, dsurx, dsubre, dsuact : std_logic;
189
signal dsurst   : std_logic;
190
signal test     : std_logic;
191
signal error    : std_logic;
192
signal gpio     : std_logic_vector(7 downto 0);
193
signal GND      : std_logic := '0';
194
signal VCC      : std_logic := '1';
195
signal NC       : std_logic := 'Z';
196
signal clk2     : std_logic := '1';
197
 
198
signal sdcke    : std_logic_vector ( 1 downto 0);  -- clk en
199
signal sdcsn    : std_logic_vector ( 1 downto 0);  -- chip sel
200
signal sdwen    : std_logic;                       -- write en
201
signal sdrasn   : std_logic;                       -- row addr stb
202
signal sdcasn   : std_logic;                       -- col addr stb
203
signal sddqm    : std_logic_vector ( 7 downto 0);  -- data i/o mask
204
signal sdclk    : std_logic;
205
signal plllock    : std_logic;
206
signal txd1, rxd1 : std_logic;
207
signal txd2, rxd2 : std_logic;
208
 
209
signal etx_clk, erx_clk, erx_dv, erx_er, erx_col, erx_crs, etx_en, etx_er : std_logic:='0';
210
signal erxd, etxd: std_logic_vector(3 downto 0):=(others=>'0');
211
signal erxdt, etxdt: std_logic_vector(7 downto 0):=(others=>'0');
212
signal emdc, emdio: std_logic; --dummy signal for the mdc,mdio in the phy which is not used
213
signal gtx_clk : std_logic;
214
 
215
signal emddis   : std_logic;
216
signal epwrdwn  : std_logic;
217
signal ereset   : std_logic;
218
signal esleep   : std_logic;
219
signal epause   : std_logic;
220
 
221
signal led_cfg: std_logic_vector(2 downto 0);
222
 
223
constant lresp : boolean := false;
224
 
225
signal sa       : std_logic_vector(14 downto 0);
226
signal sd       : std_logic_vector(63 downto 0);
227
 
228
signal pci_arb_req, pci_arb_gnt : std_logic_vector(0 to 3);
229
 
230
signal can_txd  : std_logic_vector(0 to 1);
231
signal can_rxd  : std_logic_vector(0 to 1);
232
signal can_stb  : std_logic_vector(0 to 1);
233
 
234
signal spw_rxd  : std_logic_vector(0 to 2) := "000";
235
signal spw_rxdn : std_logic_vector(0 to 2) := "000";
236
signal spw_rxs  : std_logic_vector(0 to 2) := "000";
237
signal spw_rxsn : std_logic_vector(0 to 2) := "000";
238
signal spw_txd  : std_logic_vector(0 to 2);
239
signal spw_txdn : std_logic_vector(0 to 2);
240
signal spw_txs  : std_logic_vector(0 to 2);
241
signal spw_txsn : std_logic_vector(0 to 2);
242
 
243
begin
244
 
245
-- clock and reset
246
 
247
  clk <= not clk after ct * 1 ns;
248
  rst <= dsurst;
249
  dsuen <= '1'; dsubre <= '0'; rxd1 <= '1';
250
  can_rxd <= (others => '1');
251
 
252
  spw_rxd(0) <= spw_txd(0); spw_rxdn(0) <= spw_txdn(0);
253
  spw_rxs(0) <= spw_txs(0); spw_rxsn(0) <= spw_txsn(0);
254
  spw_rxd(1) <= spw_txd(1); spw_rxdn(1) <= spw_txdn(1);
255
  spw_rxs(1) <= spw_txs(1); spw_rxsn(1) <= spw_txsn(1);
256
  spw_rxd(2) <= spw_txd(0); spw_rxdn(2) <= spw_txdn(2);
257
  spw_rxs(2) <= spw_txs(0); spw_rxsn(2) <= spw_txsn(2);
258
 
259
  d3 : leon3mp
260
        generic map ( fabtech, memtech, padtech, clktech,
261
        disas, dbguart, pclow )
262
        port map (rst, clk, sdclk,  error, address(27 downto 0), data,
263
        sa, sd, sdclk, sdcke, sdcsn, sdwen, sdrasn, sdcasn, sddqm,
264
        dsutx, dsurx, dsuen, dsubre, dsuact, txd1, rxd1, txd2, rxd2,
265
        ramsn, ramoen, rwen, oen, writen, read, iosn, romsn, gpio,
266
        emdio, etx_clk, erx_clk, erxd, erx_dv, erx_er, erx_col, erx_crs,
267
        etxd, etx_en, etx_er, emdc,
268
        pci_rst, pci_clk, pci_gnt, pci_idsel, pci_lock, pci_ad, pci_cbe,
269
        pci_frame, pci_irdy, pci_trdy, pci_devsel, pci_stop, pci_perr, pci_par,
270
        pci_req, pci_serr, pci_host, pci_66, pci_arb_req, pci_arb_gnt,
271
        can_txd, can_rxd, can_stb, spw_rxd, spw_rxdn, spw_rxs, spw_rxsn,
272
        spw_txd, spw_txdn, spw_txs, spw_txsn);
273
 
274
-- optional sdram
275
 
276
  sd0 : if (CFG_SDEN = 1) and (CFG_SEPBUS = 0) generate
277
    u0: mt48lc16m16a2 generic map (index => 0, fname => sdramfile)
278
        PORT MAP(
279
            Dq => data(31 downto 16), Addr => address(14 downto 2),
280
            Ba => address(16 downto 15), Clk => sdclk, Cke => sdcke(0),
281
            Cs_n => sdcsn(0), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
282
            Dqm => sddqm(3 downto 2));
283
    u1: mt48lc16m16a2 generic map (index => 16, fname => sdramfile)
284
        PORT MAP(
285
            Dq => data(15 downto 0), Addr => address(14 downto 2),
286
            Ba => address(16 downto 15), Clk => sdclk, Cke => sdcke(0),
287
            Cs_n => sdcsn(0), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
288
            Dqm => sddqm(1 downto 0));
289
    u2: mt48lc16m16a2 generic map (index => 0, fname => sdramfile)
290
        PORT MAP(
291
            Dq => data(31 downto 16), Addr => address(14 downto 2),
292
            Ba => address(16 downto 15), Clk => sdclk, Cke => sdcke(0),
293
            Cs_n => sdcsn(1), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
294
            Dqm => sddqm(3 downto 2));
295
    u3: mt48lc16m16a2 generic map (index => 16, fname => sdramfile)
296
        PORT MAP(
297
            Dq => data(15 downto 0), Addr => address(14 downto 2),
298
            Ba => address(16 downto 15), Clk => sdclk, Cke => sdcke(0),
299
            Cs_n => sdcsn(1), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
300
            Dqm => sddqm(1 downto 0));
301
  end generate;
302
 
303
  sd1 : if (CFG_SDEN = 1) and (CFG_SEPBUS = 1) generate
304
    u0: mt48lc16m16a2 generic map (index => 0, fname => sdramfile)
305
        PORT MAP(
306
            Dq => sd(31 downto 16), Addr => sa(12 downto 0),
307
            Ba => sa(14 downto 13), Clk => sdclk, Cke => sdcke(0),
308
            Cs_n => sdcsn(0), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
309
            Dqm => sddqm(3 downto 2));
310
    u1: mt48lc16m16a2 generic map (index => 16, fname => sdramfile)
311
        PORT MAP(
312
            Dq => sd(15 downto 0), Addr => sa(12 downto 0),
313
            Ba => sa(14 downto 13), Clk => sdclk, Cke => sdcke(0),
314
            Cs_n => sdcsn(0), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
315
            Dqm => sddqm(1 downto 0));
316
    u2: mt48lc16m16a2 generic map (index => 0, fname => sdramfile)
317
        PORT MAP(
318
            Dq => sd(31 downto 16), Addr => sa(12 downto 0),
319
            Ba => sa(14 downto 13), Clk => sdclk, Cke => sdcke(0),
320
            Cs_n => sdcsn(1), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
321
            Dqm => sddqm(3 downto 2));
322
    u3: mt48lc16m16a2 generic map (index => 16, fname => sdramfile)
323
        PORT MAP(
324
            Dq => sd(15 downto 0), Addr => sa(12 downto 0),
325
            Ba => sa(14 downto 13), Clk => sdclk, Cke => sdcke(0),
326
            Cs_n => sdcsn(1), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
327
            Dqm => sddqm(1 downto 0));
328
    sd64 : if (CFG_SD64 = 1) generate
329
      u4: mt48lc16m16a2 generic map (index => 0, fname => sdramfile)
330
        PORT MAP(
331
            Dq => sd(63 downto 48), Addr => sa(12 downto 0),
332
            Ba => sa(14 downto 13), Clk => sdclk, Cke => sdcke(0),
333
            Cs_n => sdcsn(0), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
334
            Dqm => sddqm(7 downto 6));
335
      u5: mt48lc16m16a2 generic map (index => 16, fname => sdramfile)
336
        PORT MAP(
337
            Dq => sd(47 downto 32), Addr => sa(12 downto 0),
338
            Ba => sa(14 downto 13), Clk => sdclk, Cke => sdcke(0),
339
            Cs_n => sdcsn(0), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
340
            Dqm => sddqm(5 downto 4));
341
      u6: mt48lc16m16a2 generic map (index => 0, fname => sdramfile)
342
        PORT MAP(
343
            Dq => sd(63 downto 48), Addr => sa(12 downto 0),
344
            Ba => sa(14 downto 13), Clk => sdclk, Cke => sdcke(0),
345
            Cs_n => sdcsn(1), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
346
            Dqm => sddqm(7 downto 6));
347
      u7: mt48lc16m16a2 generic map (index => 16, fname => sdramfile)
348
        PORT MAP(
349
            Dq => sd(47 downto 32), Addr => sa(12 downto 0),
350
            Ba => sa(14 downto 13), Clk => sdclk, Cke => sdcke(0),
351
            Cs_n => sdcsn(1), Ras_n => sdrasn, Cas_n => sdcasn, We_n => sdwen,
352
            Dqm => sddqm(5 downto 4));
353
    end generate;
354
  end generate;
355
 
356
    prom0 : for i in 0 to (romwidth/8)-1 generate
357
      sr0 : sram generic map (index => i, abits => romdepth, fname => promfile)
358
        port map (address(romdepth+1 downto 2), data(31-i*8 downto 24-i*8), romsn(0),
359
                  rwen(i), oen);
360
    end generate;
361
 
362
    sram0 : for i in 0 to (sramwidth/8)-1 generate
363
      sr0 : sram generic map (index => i, abits => sramdepth, fname => sramfile)
364
        port map (address(sramdepth+1 downto 2), data(31-i*8 downto 24-i*8), ramsn(0),
365
                  rwen(0), ramoen(0));
366
    end generate;
367
 
368
  phy0 : if (CFG_GRETH = 1) generate
369
    emdio <= 'H';
370
    erxd <= erxdt(3 downto 0);
371
    etxdt <= "0000" & etxd;
372
 
373
    p0: phy
374
      generic map(base1000_t_fd => 0, base1000_t_hd => 0)
375
      port map(rst, emdio, etx_clk, erx_clk, erxdt, erx_dv,
376
      erx_er, erx_col, erx_crs, etxdt, etx_en, etx_er, emdc, gtx_clk);
377
  end generate;
378
  error <= 'H';                   -- ERROR pull-up
379
 
380
   iuerr : process
381
   begin
382
     wait for 2500 ns;
383
     if to_x01(error) = '1' then wait on error; end if;
384
     assert (to_x01(error) = '1')
385
       report "*** IU in error mode, simulation halted ***"
386
         severity failure ;
387
   end process;
388
 
389
  test0 :  grtestmod
390
    port map ( rst, clk, error, address(21 downto 2), data,
391
               iosn, oen, writen, brdyn);
392
 
393
  data <= buskeep(data), (others => 'H') after 250 ns;
394
  sd <= buskeep(sd), (others => 'H') after 250 ns;
395
 
396
  dsucom : process
397
    procedure dsucfg(signal dsurx : in std_logic; signal dsutx : out std_logic) is
398
    variable w32 : std_logic_vector(31 downto 0);
399
    variable c8  : std_logic_vector(7 downto 0);
400
    constant txp : time := 160 * 1 ns;
401
    begin
402
    dsutx <= '1';
403
    dsurst <= '0';
404
    wait for 500 ns;
405
    dsurst <= '1';
406
    wait;
407
    wait for 5000 ns;
408
    txc(dsutx, 16#55#, txp);            -- sync uart
409
 
410
--    txc(dsutx, 16#c0#, txp);
411
--    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#00#, txp);
412
--    txa(dsutx, 16#00#, 16#00#, 16#02#, 16#ae#, txp);
413
--    txc(dsutx, 16#c0#, txp);
414
--    txa(dsutx, 16#91#, 16#00#, 16#00#, 16#00#, txp);
415
--    txa(dsutx, 16#00#, 16#00#, 16#06#, 16#ae#, txp);
416
--    txc(dsutx, 16#c0#, txp);
417
--    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#24#, txp);
418
--    txa(dsutx, 16#00#, 16#00#, 16#06#, 16#03#, txp);
419
--    txc(dsutx, 16#c0#, txp);
420
--    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#20#, txp);
421
--    txa(dsutx, 16#00#, 16#00#, 16#06#, 16#fc#, txp);
422
 
423
    txc(dsutx, 16#c0#, txp);
424
    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#00#, txp);
425
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#2f#, txp);
426
    txc(dsutx, 16#c0#, txp);
427
    txa(dsutx, 16#91#, 16#00#, 16#00#, 16#00#, txp);
428
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#6f#, txp);
429
    txc(dsutx, 16#c0#, txp);
430
    txa(dsutx, 16#90#, 16#11#, 16#00#, 16#00#, txp);
431
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#00#, txp);
432
    txc(dsutx, 16#c0#, txp);
433
    txa(dsutx, 16#90#, 16#40#, 16#00#, 16#04#, txp);
434
    txa(dsutx, 16#00#, 16#02#, 16#20#, 16#01#, txp);
435
    txc(dsutx, 16#c0#, txp);
436
    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#20#, txp);
437
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#02#, txp);
438
 
439
    txc(dsutx, 16#c0#, txp);
440
    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#20#, txp);
441
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#0f#, txp);
442
 
443
    txc(dsutx, 16#c0#, txp);
444
    txa(dsutx, 16#40#, 16#00#, 16#43#, 16#10#, txp);
445
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#0f#, txp);
446
 
447
    txc(dsutx, 16#c0#, txp);
448
    txa(dsutx, 16#91#, 16#40#, 16#00#, 16#24#, txp);
449
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#24#, txp);
450
    txc(dsutx, 16#c0#, txp);
451
    txa(dsutx, 16#91#, 16#70#, 16#00#, 16#00#, txp);
452
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#03#, txp);
453
 
454
 
455
 
456
 
457
 
458
    txc(dsutx, 16#c0#, txp);
459
    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#20#, txp);
460
    txa(dsutx, 16#00#, 16#00#, 16#ff#, 16#ff#, txp);
461
 
462
    txc(dsutx, 16#c0#, txp);
463
    txa(dsutx, 16#90#, 16#40#, 16#00#, 16#48#, txp);
464
    txa(dsutx, 16#00#, 16#00#, 16#00#, 16#12#, txp);
465
 
466
    txc(dsutx, 16#c0#, txp);
467
    txa(dsutx, 16#90#, 16#40#, 16#00#, 16#60#, txp);
468
    txa(dsutx, 16#00#, 16#00#, 16#12#, 16#10#, txp);
469
 
470
    txc(dsutx, 16#80#, txp);
471
    txa(dsutx, 16#90#, 16#00#, 16#00#, 16#00#, txp);
472
    rxi(dsurx, w32, txp, lresp);
473
 
474
    txc(dsutx, 16#a0#, txp);
475
    txa(dsutx, 16#40#, 16#00#, 16#00#, 16#00#, txp);
476
    rxi(dsurx, w32, txp, lresp);
477
 
478
    end;
479
 
480
  begin
481
 
482
    dsucfg(dsutx, dsurx);
483
 
484
    wait;
485
  end process;
486
end ;
487
 

powered by: WebSVN 2.1.0

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