updated wiki url
[debian/gnuradio] / usrp2 / fpga / models / SRL16E.v
1 // $Header: /devl/xcs/repo/env/Databases/CAEInterfaces/verunilibs/data/unisims/SRL16E.v,v 1.7 2005/03/14 22:32:58 yanx Exp $
2 ///////////////////////////////////////////////////////////////////////////////
3 // Copyright (c) 1995/2004 Xilinx, Inc.
4 // All Right Reserved.
5 ///////////////////////////////////////////////////////////////////////////////
6 //   ____  ____
7 //  /   /\/   /
8 // /___/  \  /    Vendor : Xilinx
9 // \   \   \/     Version : 8.1i (I.13)
10 //  \   \         Description : Xilinx Functional Simulation Library Component
11 //  /   /                  16-Bit Shift Register Look-Up-Table with Clock Enable
12 // /___/   /\     Filename : SRL16E.v
13 // \   \  /  \    Timestamp : Thu Mar 25 16:43:40 PST 2004
14 //  \___\/\___\
15 //
16 // Revision:
17 //    03/23/04 - Initial version.
18 // End Revision
19
20 `timescale  1 ps / 1 ps
21
22
23 module SRL16E (Q, A0, A1, A2, A3, CE, CLK, D);
24
25     parameter INIT = 16'h0000;
26
27     output Q;
28
29     input  A0, A1, A2, A3, CE, CLK, D;
30
31     reg  [15:0] data;
32
33
34     assign Q = data[{A3, A2, A1, A0}];
35
36     initial
37     begin
38           assign  data = INIT;
39           while (CLK === 1'b1 || CLK===1'bX) 
40             #10; 
41           deassign data;
42     end
43
44     always @(posedge CLK)
45     begin
46         if (CE == 1'b1) begin
47             {data[15:0]} <= #100 {data[14:0], D};
48         end
49     end
50
51
52 endmodule
53