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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.61/] [rtl/] [vlib/] [xlib/] [xlib.vhd] - Blame information for rev 15

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

Line No. Rev Author Line
1 15 wfjm
-- $Id: xlib.vhd 432 2011-11-25 20:16:28Z mueller $
2 2 wfjm
--
3 13 wfjm
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4 2 wfjm
--
5
-- This program is free software; you may redistribute and/or modify it under
6
-- the terms of the GNU General Public License as published by the Free
7
-- Software Foundation, either version 2, or at your option any later version.
8
--
9
-- This program is distributed in the hope that it will be useful, but
10
-- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
11
-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12
-- for complete details.
13
--
14
------------------------------------------------------------------------------
15
-- Package Name:   xlib
16
-- Description:    Xilinx specific components
17
--
18
-- Dependencies:   -
19 13 wfjm
-- Tool versions:  xst 8.2, 9.1, 9.2, 13.1; ghdl 0.18-0.29
20 2 wfjm
-- Revision History: 
21
-- Date         Rev Version  Comment
22 15 wfjm
-- 2011-11-24   432   1.0.8  add iob_oddr2_simple
23 13 wfjm
-- 2011-11-17   426   1.0.7  rename dcm_sp_sfs -> dcm_sfs; remove family generic
24
-- 2011-11-10   423   1.0.6  add family generic for dcm_sp_sfs
25 8 wfjm
-- 2010-11-07   337   1.0.5  add dcm_sp_sfs
26 2 wfjm
-- 2008-05-23   149   1.0.4  add iob_io(_gen)
27
-- 2008-05-22   148   1.0.3  add iob_keeper(_gen);
28
-- 2008-05-18   147   1.0.2  add PULL generic to iob_reg_io(_gen)
29
-- 2007-12-16   101   1.0.1  add INIT generic ports
30
-- 2007-12-08   100   1.0    Initial version 
31
------------------------------------------------------------------------------
32
 
33
library ieee;
34
use ieee.std_logic_1164.all;
35
 
36
use work.slvtypes.all;
37
 
38
package xlib is
39
 
40
component iob_reg_i is                  -- registered IOB, input
41
  generic (
42
    INIT : slbit := '0');               -- initial state
43
  port (
44
    CLK  : in slbit;                    -- clock
45
    CE   : in slbit := '1';             -- clock enable
46
    DI   : out slbit;                   -- input data
47
    PAD  : in slbit                     -- i/o pad
48
  );
49
end component;
50
 
51
component iob_reg_i_gen is              -- registered IOB, input, vector
52
  generic (
53
    DWIDTH : positive := 16;            -- data port width
54
    INIT : slbit := '0');               -- initial state
55
  port (
56
    CLK  : in slbit;                    -- clock
57
    CE   : in slbit := '1';             -- clock enable
58
    DI   : out slv(DWIDTH-1 downto 0);  -- input data
59
    PAD  : in slv(DWIDTH-1 downto 0)    -- i/o pad
60
  );
61
end component;
62
 
63
component iob_reg_o is                  -- registered IOB, output
64
  generic (
65
    INIT : slbit := '0');               -- initial state
66
  port (
67
    CLK  : in slbit;                    -- clock
68
    CE   : in slbit := '1';             -- clock enable
69
    DO   : in slbit;                    -- output data
70
    PAD  : out slbit                    -- i/o pad
71
  );
72
end component;
73
 
74
component iob_reg_o_gen is              -- registered IOB, output, vector
75
  generic (
76
    DWIDTH : positive := 16;            -- data port width
77
    INIT : slbit := '0');               -- initial state
78
  port (
79
    CLK  : in slbit;                    -- clock
80
    CE   : in slbit := '1';             -- clock enable
81
    DO   : in slv(DWIDTH-1 downto 0);   -- output data
82
    PAD  : out slv(DWIDTH-1 downto 0)   -- i/o pad
83
  );
84
end component;
85
 
86
component iob_reg_io is                 -- registered IOB, in/output
87
  generic (
88
    INITI : slbit := '0';               -- initial state ( in flop)
89
    INITO : slbit := '0';               -- initial state (out flop)
90
    INITE : slbit := '0';               -- initial state ( oe flop)
91
    PULL : string := "NONE");           -- pull-up,-down or keeper
92
  port (
93
    CLK  : in slbit;                    -- clock
94
    CEI  : in slbit := '1';             -- clock enable ( in flops)
95
    CEO  : in slbit := '1';             -- clock enable (out flops)
96
    OE   : in slbit;                    -- output enable
97
    DI   : out slbit;                   -- input data   (read from pad)
98
    DO   : in slbit;                    -- output data  (write  to pad)
99
    PAD  : inout slbit                  -- i/o pad
100
  );
101
end component;
102
 
103
component iob_reg_io_gen is             -- registered IOB, in/output, vector
104
  generic (
105
    DWIDTH : positive := 16;            -- data port width
106
    INITI : slbit := '0';               -- initial state ( in flop)
107
    INITO : slbit := '0';               -- initial state (out flop)
108
    INITE : slbit := '0';               -- initial state ( oe flop)
109
    PULL : string := "NONE");           -- pull-up,-down or keeper
110
  port (
111
    CLK  : in slbit;                    -- clock
112
    CEI  : in slbit := '1';             -- clock enable ( in flops)
113
    CEO  : in slbit := '1';             -- clock enable (out flops)
114
    OE   : in slbit;                    -- output enable
115
    DI   : out slv(DWIDTH-1 downto 0);  -- input data   (read from pad)
116
    DO   : in slv(DWIDTH-1 downto 0);   -- output data  (write  to pad)
117
    PAD  : inout slv(DWIDTH-1 downto 0)  -- i/o pad
118
  );
119
end component;
120
 
121
component iob_io is                     -- un-registered IOB, in/output
122
  generic (
123
    PULL : string := "NONE");           -- pull-up,-down or keeper
124
  port (
125
    OE   : in slbit;                    -- output enable
126
    DI   : out slbit;                   -- input data   (read from pad)
127
    DO   : in slbit;                    -- output data  (write  to pad)
128
    PAD  : inout slbit                  -- i/o pad
129
  );
130
end component;
131
 
132 15 wfjm
component iob_oddr2_simple is           -- DDR2 output I/O pad
133
  generic (
134
    ALIGN : string := "NONE";           -- ddr_alignment
135
    INIT : slbit := '0');               -- initial state
136
  port (
137
    CLK  : in slbit;                    -- clock
138
    CE   : in slbit := '1';             -- clock enable
139
    DO0  : in slbit;                    -- output data
140
    DO1  : in slbit;                    -- output data
141
    PAD  : out slbit                    -- i/o pad
142
  );
143
end component;
144
 
145 2 wfjm
component iob_io_gen is                 -- un-registered IOB, in/output, vector
146
  generic (
147
    DWIDTH : positive := 16;            -- data port width
148
    PULL : string := "NONE");           -- pull-up,-down or keeper
149
  port (
150
    OE   : in slbit;                    -- output enable
151
    DI   : out slv(DWIDTH-1 downto 0);  -- input data   (read from pad)
152
    DO   : in slv(DWIDTH-1 downto 0);   -- output data  (write  to pad)
153
    PAD  : inout slv(DWIDTH-1 downto 0)  -- i/o pad
154
  );
155
end component;
156
 
157
component iob_keeper is                 -- keeper for IOB
158
  port (
159
    PAD  : inout slbit                  -- i/o pad
160
  );
161
end component;
162
 
163
component iob_keeper_gen is             -- keeper for IOB, vector
164
  generic (
165
    DWIDTH : positive := 16);           -- data port width
166
  port (
167
    PAD  : inout slv(DWIDTH-1 downto 0)  -- i/o pad
168
  );
169
end component;
170
 
171 13 wfjm
component dcm_sfs is                    -- DCM for simple frequency synthesis
172 8 wfjm
  generic (
173
    CLKFX_DIVIDE : positive := 2;       -- FX clock divide (1-32)
174
    CLKFX_MULTIPLY : positive := 2;     -- FX clock divide (2-32)
175
    CLKIN_PERIOD : real := 20.0);       -- CLKIN period (def is 20.0 ns)
176
  port (
177
    CLKIN : in slbit;                   -- clock input
178
    CLKFX : out slbit;                  -- clock output (synthesized freq.) 
179
    LOCKED : out slbit                  -- dcm locked
180
  );
181
end component;
182
 
183 12 wfjm
end package xlib;

powered by: WebSVN 2.1.0

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