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

Subversion Repositories pcie_ds_dma

[/] [pcie_ds_dma/] [trunk/] [core/] [ds_dma64/] [pcie_src/] [pcie_core64_m1/] [source_artix7/] [cl_a7pcie_x4_gtp_pipe_reset.v] - Blame information for rev 48

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 46 dsmv
//-----------------------------------------------------------------------------
2
//
3
// (c) Copyright 2010-2011 Xilinx, Inc. All rights reserved.
4
//
5
// This file contains confidential and proprietary information
6
// of Xilinx, Inc. and is protected under U.S. and
7
// international copyright and other intellectual property
8
// laws.
9
//
10
// DISCLAIMER
11
// This disclaimer is not a license and does not grant any
12
// rights to the materials distributed herewith. Except as
13
// otherwise provided in a valid license issued to you by
14
// Xilinx, and to the maximum extent permitted by applicable
15
// law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
16
// WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
17
// AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
18
// BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
19
// INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
20
// (2) Xilinx shall not be liable (whether in contract or tort,
21
// including negligence, or under any other theory of
22
// liability) for any loss or damage of any kind or nature
23
// related to, arising under or in connection with these
24
// materials, including for any direct, or any indirect,
25
// special, incidental, or consequential loss or damage
26
// (including loss of data, profits, goodwill, or any type of
27
// loss or damage suffered as a result of any action brought
28
// by a third party) even if such damage or loss was
29
// reasonably foreseeable or Xilinx had been advised of the
30
// possibility of the same.
31
//
32
// CRITICAL APPLICATIONS
33
// Xilinx products are not designed or intended to be fail-
34
// safe, or for use in any application requiring fail-safe
35
// performance, such as life-support or safety devices or
36
// systems, Class III medical devices, nuclear facilities,
37
// applications related to the deployment of airbags, or any
38
// other applications that could lead to death, personal
39
// injury, or severe property or environmental damage
40
// (individually and collectively, "Critical
41
// Applications"). Customer assumes the sole risk and
42
// liability of any use of Xilinx products in Critical
43
// Applications, subject only to applicable laws and
44
// regulations governing limitations on product liability.
45
//
46
// THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
47
// PART OF THIS FILE AT ALL TIMES.
48
//
49
//-----------------------------------------------------------------------------
50
// Project    : Series-7 Integrated Block for PCI Express
51
// File       : cl_a7pcie_x4_gtp_pipe_reset.v
52 48 dsmv
// Version    : 1.10
53 46 dsmv
//------------------------------------------------------------------------------
54
//  Filename     :  gtp_pipe_reset.v
55
//  Description  :  GTP PIPE Reset Module for 7 Series Transceiver
56
//  Version      :  19.0
57
//------------------------------------------------------------------------------
58
 
59
 
60
 
61
`timescale 1ns / 1ps
62
 
63
 
64
 
65
//---------- PIPE Reset Module -------------------------------------------------
66
module cl_a7pcie_x4_gtp_pipe_reset #
67
(
68
 
69
    //---------- Global ------------------------------------
70
    parameter PCIE_SIM_SPEEDUP = "FALSE",                   // PCIe sim speedup 
71
    parameter PCIE_LANE        = 1,                         // PCIe number of lanes
72
    //---------- Local -------------------------------------
73
    parameter CFG_WAIT_MAX     = 6'd63,                     // Configuration wait max
74
    parameter BYPASS_RXCDRLOCK = 1                          // Bypass RXCDRLOCK
75
 
76
)
77
 
78
(
79
 
80
    //---------- Input -------------------------------------
81
    input                           RST_CLK,
82
    input                           RST_RXUSRCLK,
83
    input                           RST_DCLK,
84
    input                           RST_RST_N,
85
    input       [PCIE_LANE-1:0]     RST_DRP_DONE,
86
    input       [PCIE_LANE-1:0]     RST_RXPMARESETDONE,
87
    input                           RST_PLLLOCK,
88
    input       [PCIE_LANE-1:0]     RST_RATE_IDLE,
89
    input       [PCIE_LANE-1:0]     RST_RXCDRLOCK,
90
    input                           RST_MMCM_LOCK,
91
    input       [PCIE_LANE-1:0]     RST_RESETDONE,
92
    input       [PCIE_LANE-1:0]     RST_PHYSTATUS,
93
    input       [PCIE_LANE-1:0]     RST_TXSYNC_DONE,
94
 
95
    //---------- Output ------------------------------------
96
    output                          RST_CPLLRESET,
97
    output                          RST_CPLLPD,
98 48 dsmv
    output reg                      RST_DRP_START,
99
    output reg                      RST_DRP_X16,
100 46 dsmv
    output                          RST_RXUSRCLK_RESET,
101
    output                          RST_DCLK_RESET,
102
    output                          RST_GTRESET,
103
    output                          RST_USERRDY,
104
    output                          RST_TXSYNC_START,
105
    output                          RST_IDLE,
106
    output      [ 4:0]              RST_FSM
107
 
108
);
109
 
110
    //---------- Input Register ----------------------------
111 48 dsmv
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     drp_done_reg1;
112
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     rxpmaresetdone_reg1;
113
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg                             plllock_reg1;
114
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     rate_idle_reg1;
115
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     rxcdrlock_reg1;
116
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg                             mmcm_lock_reg1;
117
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     resetdone_reg1;
118
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     phystatus_reg1;
119
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     txsync_done_reg1;
120 46 dsmv
 
121 48 dsmv
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     drp_done_reg2;
122
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     rxpmaresetdone_reg2;
123
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg                             plllock_reg2;
124
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     rate_idle_reg2;
125
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     rxcdrlock_reg2;
126
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg                             mmcm_lock_reg2;
127
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     resetdone_reg2;
128
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     phystatus_reg2;
129
(* ASYNC_REG = "TRUE", SHIFT_EXTRACT = "NO" *)    reg         [PCIE_LANE-1:0]     txsync_done_reg2;
130 46 dsmv
 
131
    //---------- Internal Signal ---------------------------
132
    reg         [ 5:0]              cfg_wait_cnt      =  6'd0;
133
 
134
    //---------- Output Register ---------------------------
135
    reg                             pllreset          =  1'd0;
136
    reg                             pllpd             =  1'd0;
137
    reg                             rxusrclk_rst_reg1 =  1'd0;
138
    reg                             rxusrclk_rst_reg2 =  1'd0;
139
    reg                             dclk_rst_reg1     =  1'd0;
140
    reg                             dclk_rst_reg2     =  1'd0;
141
    reg                             gtreset           =  1'd0;
142
    reg                             userrdy           =  1'd0;
143 48 dsmv
    reg         [ 4:0]              fsm               =  5'h1;
144 46 dsmv
 
145
    //---------- FSM ---------------------------------------                                         
146 48 dsmv
    localparam                      FSM_IDLE             = 5'h0;
147
    localparam                      FSM_CFG_WAIT         = 5'h1;
148
    localparam                      FSM_PLLRESET         = 5'h2;
149
    localparam                      FSM_DRP_X16_START    = 5'h3;
150
    localparam                      FSM_DRP_X16_DONE     = 5'h4;
151
    localparam                      FSM_PLLLOCK          = 5'h5;
152
    localparam                      FSM_GTRESET          = 5'h6;
153
    localparam                      FSM_RXPMARESETDONE_1 = 5'h7;
154
    localparam                      FSM_RXPMARESETDONE_2 = 5'h8;
155
    localparam                      FSM_DRP_X20_START    = 5'h9;
156
    localparam                      FSM_DRP_X20_DONE     = 5'hA;
157
    localparam                      FSM_MMCM_LOCK        = 5'hB;
158
    localparam                      FSM_RESETDONE        = 5'hC;
159
    localparam                      FSM_TXSYNC_START     = 5'hD;
160
    localparam                      FSM_TXSYNC_DONE      = 5'hE;
161 46 dsmv
 
162
 
163
 
164
//---------- Input FF ----------------------------------------------------------
165
always @ (posedge RST_CLK)
166
begin
167
 
168
    if (!RST_RST_N)
169
        begin
170
        //---------- 1st Stage FF --------------------------  
171
        drp_done_reg1       <= {PCIE_LANE{1'd0}};
172
        rxpmaresetdone_reg1 <= {PCIE_LANE{1'd0}};
173
        plllock_reg1        <= 1'd0;
174
        rate_idle_reg1      <= {PCIE_LANE{1'd0}};
175
        rxcdrlock_reg1      <= {PCIE_LANE{1'd0}};
176
        mmcm_lock_reg1      <= 1'd0;
177
        resetdone_reg1      <= {PCIE_LANE{1'd0}};
178
        phystatus_reg1      <= {PCIE_LANE{1'd0}};
179
        txsync_done_reg1    <= {PCIE_LANE{1'd0}};
180
        //---------- 2nd Stage FF --------------------------
181
        drp_done_reg2       <= {PCIE_LANE{1'd0}};
182
        rxpmaresetdone_reg2 <= {PCIE_LANE{1'd0}};
183
        plllock_reg2        <= 1'd0;
184
        rate_idle_reg2      <= {PCIE_LANE{1'd0}};
185
        rxcdrlock_reg2      <= {PCIE_LANE{1'd0}};
186
        mmcm_lock_reg2      <= 1'd0;
187
        resetdone_reg2      <= {PCIE_LANE{1'd0}};
188
        phystatus_reg2      <= {PCIE_LANE{1'd0}};
189
        txsync_done_reg2    <= {PCIE_LANE{1'd0}};
190
        end
191
    else
192
        begin
193
        //---------- 1st Stage FF --------------------------   
194
        drp_done_reg1       <= RST_DRP_DONE;
195
        rxpmaresetdone_reg1 <= RST_RXPMARESETDONE;
196
        plllock_reg1        <= RST_PLLLOCK;
197
        rate_idle_reg1      <= RST_RATE_IDLE;
198
        rxcdrlock_reg1      <= RST_RXCDRLOCK;
199
        mmcm_lock_reg1      <= RST_MMCM_LOCK;
200
        resetdone_reg1      <= RST_RESETDONE;
201
        phystatus_reg1      <= RST_PHYSTATUS;
202
        txsync_done_reg1    <= RST_TXSYNC_DONE;
203
        //---------- 2nd Stage FF --------------------------
204
        drp_done_reg2       <= drp_done_reg1;
205
        rxpmaresetdone_reg2 <= rxpmaresetdone_reg1;
206
        plllock_reg2        <= plllock_reg1;
207
        rate_idle_reg2      <= rate_idle_reg1;
208
        rxcdrlock_reg2      <= rxcdrlock_reg1;
209
        mmcm_lock_reg2      <= mmcm_lock_reg1;
210
        resetdone_reg2      <= resetdone_reg1;
211
        phystatus_reg2      <= phystatus_reg1;
212
        txsync_done_reg2    <= txsync_done_reg1;
213
        end
214
 
215
end
216
 
217
 
218
 
219
//---------- Configuration Reset Wait Counter ----------------------------------
220
always @ (posedge RST_CLK)
221
begin
222
 
223
    if (!RST_RST_N)
224
        cfg_wait_cnt <= 6'd0;
225
    else
226
 
227
        //---------- Increment Configuration Reset Wait Counter
228
        if ((fsm == FSM_CFG_WAIT) && (cfg_wait_cnt < CFG_WAIT_MAX))
229
            cfg_wait_cnt <= cfg_wait_cnt + 6'd1;
230
 
231
        //---------- Hold Configuration Reset Wait Counter -
232
        else if ((fsm == FSM_CFG_WAIT) && (cfg_wait_cnt == CFG_WAIT_MAX))
233
            cfg_wait_cnt <= cfg_wait_cnt;
234
 
235
        //---------- Reset Configuration Reset Wait Counter 
236
        else
237
            cfg_wait_cnt <= 6'd0;
238
 
239
end
240
 
241
 
242
 
243
//---------- PIPE Reset FSM ----------------------------------------------------
244
always @ (posedge RST_CLK)
245
begin
246
 
247
    if (!RST_RST_N)
248
        begin
249
        fsm      <= FSM_CFG_WAIT;
250
        pllreset <= 1'd0;
251
        pllpd    <= 1'd0;
252
        gtreset  <= 1'd0;
253
        userrdy  <= 1'd0;
254
        end
255
    else
256
        begin
257
 
258
        case (fsm)
259
 
260
        //---------- Idle State ----------------------------
261
        FSM_IDLE :
262
 
263
            begin
264
            if (!RST_RST_N)
265
                begin
266
                fsm      <= FSM_CFG_WAIT;
267
                pllreset <= 1'd0;
268
                pllpd    <= 1'd0;
269
                gtreset  <= 1'd0;
270
                userrdy  <= 1'd0;
271
                end
272
            else
273
                begin
274
                fsm      <= FSM_IDLE;
275
                pllreset <= pllreset;
276
                pllpd    <= pllpd;
277
                gtreset  <= gtreset;
278
                userrdy  <= userrdy;
279
                end
280
            end
281
 
282
        //----------  Wait for Configuration Reset Delay ---
283
        FSM_CFG_WAIT :
284
 
285
            begin
286
            fsm       <= ((cfg_wait_cnt == CFG_WAIT_MAX) ? FSM_PLLRESET : FSM_CFG_WAIT);
287
            pllreset  <= pllreset;
288
            pllpd     <= pllpd;
289
            gtreset   <= gtreset;
290
            userrdy   <= userrdy;
291
            end
292
 
293
        //---------- Hold PLL and GTP Channel in Reset ----
294
        FSM_PLLRESET :
295
 
296
            begin
297
            fsm       <= (((~plllock_reg2) && (&(~resetdone_reg2))) ? FSM_DRP_X16_START : FSM_PLLRESET);
298
            pllreset  <= 1'd1;
299
            pllpd     <= pllpd;
300
            gtreset   <= 1'd1;
301
            userrdy   <= userrdy;
302
            end
303
 
304
        //---------- Start DRP x16 -------------------------
305
        FSM_DRP_X16_START :
306
 
307
            begin
308
            fsm       <= &(~drp_done_reg2) ? FSM_DRP_X16_DONE : FSM_DRP_X16_START;
309
            pllreset  <= pllreset;
310
            pllpd     <= pllpd;
311
            gtreset   <= gtreset;
312
            userrdy   <= userrdy;
313
            end
314
 
315
        //---------- Wait for DRP x16 Done -----------------    
316
        FSM_DRP_X16_DONE :
317
 
318
            begin
319
            fsm       <= (&drp_done_reg2) ? FSM_PLLLOCK : FSM_DRP_X16_DONE;
320
            pllreset  <= pllreset;
321
            pllpd     <= pllpd;
322
            gtreset   <= gtreset;
323
            userrdy   <= userrdy;
324
            end
325
 
326
        //---------- Wait for PLL Lock --------------------
327
        FSM_PLLLOCK :
328
 
329
            begin
330
            fsm       <= (plllock_reg2 ? FSM_GTRESET : FSM_PLLLOCK);
331
            pllreset  <= 1'd0;
332
            pllpd     <= pllpd;
333
            gtreset   <= gtreset;
334
            userrdy   <= userrdy;
335
            end
336
 
337
        //---------- Release GTRESET -----------------------
338
        FSM_GTRESET :
339
 
340
            begin
341
            fsm       <= FSM_RXPMARESETDONE_1;
342
            pllreset  <= pllreset;
343
            pllpd     <= pllpd;
344
            gtreset   <= 1'b0;
345
            userrdy   <= userrdy;
346
            end
347
 
348
        //---------- Wait for RXPMARESETDONE Assertion -----  
349
        FSM_RXPMARESETDONE_1 :
350
 
351
            begin
352
            fsm       <= (&rxpmaresetdone_reg2 || (PCIE_SIM_SPEEDUP == "TRUE")) ? FSM_RXPMARESETDONE_2 : FSM_RXPMARESETDONE_1;
353
            pllreset  <= pllreset;
354
            pllpd     <= pllpd;
355
            gtreset   <= gtreset;
356
            userrdy   <= userrdy;
357
            end
358
 
359
        //---------- Wait for RXPMARESETDONE De-assertion --
360
        FSM_RXPMARESETDONE_2 :
361
 
362
            begin
363
            fsm       <= (&(~rxpmaresetdone_reg2) || (PCIE_SIM_SPEEDUP == "TRUE")) ? FSM_DRP_X20_START : FSM_RXPMARESETDONE_2;
364
            pllreset  <= pllreset;
365
            pllpd     <= pllpd;
366
            gtreset   <= gtreset;
367
            userrdy   <= userrdy;
368
            end
369
 
370
        //---------- Start DRP x20 -------------------------
371
        FSM_DRP_X20_START :
372
 
373
            begin
374
            fsm       <= &(~drp_done_reg2) ? FSM_DRP_X20_DONE : FSM_DRP_X20_START;
375
            pllreset  <= pllreset;
376
            pllpd     <= pllpd;
377
            gtreset   <= gtreset;
378
            userrdy   <= userrdy;
379
            end
380
 
381
        //---------- Wait for DRP x20 Done -----------------    
382
        FSM_DRP_X20_DONE :
383
 
384
            begin
385
            fsm       <= (&drp_done_reg2) ? FSM_MMCM_LOCK : FSM_DRP_X20_DONE;
386
            pllreset  <= pllreset;
387
            pllpd     <= pllpd;
388
            gtreset   <= gtreset;
389
            userrdy   <= userrdy;
390
            end
391
 
392
        //---------- Wait for MMCM and RX CDR Lock ---------
393
        FSM_MMCM_LOCK :
394
 
395
            begin
396
            if (mmcm_lock_reg2 && (&rxcdrlock_reg2 || (BYPASS_RXCDRLOCK == 1)))
397
                begin
398
                fsm       <= FSM_RESETDONE;
399
                pllreset  <= pllreset;
400
                pllpd     <= pllpd;
401
                gtreset   <= gtreset;
402
                userrdy   <= 1'd1;
403
                end
404
            else
405
                begin
406
                fsm       <= FSM_MMCM_LOCK;
407
                pllreset  <= pllreset;
408
                pllpd     <= pllpd;
409
                gtreset   <= gtreset;
410
                userrdy   <= 1'd0;
411
                end
412
            end
413
 
414
        //---------- Wait for [TX/RX]RESETDONE and PHYSTATUS 
415
        FSM_RESETDONE :
416
 
417
            begin
418
            fsm       <= (&resetdone_reg2 && (&(~phystatus_reg2)) ? FSM_TXSYNC_START : FSM_RESETDONE);
419
            pllreset  <= pllreset;
420
            pllpd     <= pllpd;
421
            gtreset   <= gtreset;
422
            userrdy   <= userrdy;
423
            end
424
 
425
        //---------- Start TX Sync -------------------------
426
        FSM_TXSYNC_START :
427
 
428
            begin
429
            fsm       <= (&(~txsync_done_reg2) ? FSM_TXSYNC_DONE : FSM_TXSYNC_START);
430
            pllreset  <= pllreset;
431
            pllpd     <= pllpd;
432
            gtreset   <= gtreset;
433
            userrdy   <= userrdy;
434
            end
435
 
436
        //---------- Wait for TX Sync Done -----------------
437
        FSM_TXSYNC_DONE :
438
 
439
            begin
440
            fsm       <= (&txsync_done_reg2 ? FSM_IDLE : FSM_TXSYNC_DONE);
441
            pllreset  <= pllreset;
442
            pllpd     <= pllpd;
443
            gtreset   <= gtreset;
444
            userrdy   <= userrdy;
445
            end
446
 
447
        //---------- Default State -------------------------
448
        default :
449
 
450
            begin
451
            fsm       <= FSM_CFG_WAIT;
452
            pllreset  <= 1'd0;
453
            pllpd     <= 1'd0;
454
            gtreset   <= 1'd0;
455
            userrdy   <= 1'd0;
456
            end
457
 
458
        endcase
459
 
460
        end
461
 
462
end
463
 
464
 
465
 
466
//---------- RXUSRCLK Reset Synchronizer ---------------------------------------
467
always @ (posedge RST_RXUSRCLK)
468
begin
469
 
470
    if (pllreset)
471
        begin
472
        rxusrclk_rst_reg1 <= 1'd1;
473
        rxusrclk_rst_reg2 <= 1'd1;
474
        end
475
    else
476
        begin
477
        rxusrclk_rst_reg1 <= 1'd0;
478
        rxusrclk_rst_reg2 <= rxusrclk_rst_reg1;
479
        end
480
 
481
end
482
 
483
//---------- DCLK Reset Synchronizer -------------------------------------------
484
always @ (posedge RST_DCLK)
485
begin
486
 
487
    if (fsm == FSM_CFG_WAIT)
488
        begin
489
        dclk_rst_reg1 <= 1'd1;
490 48 dsmv
        dclk_rst_reg2 <= dclk_rst_reg1;
491 46 dsmv
        end
492
    else
493
        begin
494
        dclk_rst_reg1 <= 1'd0;
495
        dclk_rst_reg2 <= dclk_rst_reg1;
496
        end
497
 
498
end
499
 
500
 
501
 
502
//---------- PIPE Reset Output -------------------------------------------------
503
assign RST_CPLLRESET      = pllreset;
504
assign RST_CPLLPD         = pllpd;
505
assign RST_RXUSRCLK_RESET = rxusrclk_rst_reg2;
506
assign RST_DCLK_RESET     = dclk_rst_reg2;
507
assign RST_GTRESET        = gtreset;
508
assign RST_USERRDY        = userrdy;
509
assign RST_TXSYNC_START   = (fsm == FSM_TXSYNC_START);
510
assign RST_IDLE           = (fsm == FSM_IDLE);
511 48 dsmv
assign RST_FSM            = fsm;
512 46 dsmv
 
513
 
514
 
515 48 dsmv
//--------------------------------------------------------------------------------------------------
516
//  Register Output
517
//--------------------------------------------------------------------------------------------------
518
always @ (posedge RST_CLK)
519
begin
520
 
521
    if (!RST_RST_N)
522
        begin
523
        RST_DRP_START <= 1'd0;
524
        RST_DRP_X16   <= 1'd0;
525
        end
526
    else
527
        begin
528
        RST_DRP_START <= (fsm == FSM_DRP_X16_START) || (fsm == FSM_DRP_X20_START);
529
        RST_DRP_X16   <= (fsm == FSM_DRP_X16_START) || (fsm == FSM_DRP_X16_DONE);
530
        end
531
 
532
end
533
 
534
 
535
 
536 46 dsmv
endmodule

powered by: WebSVN 2.1.0

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