source: PlatformSupport/Deprecated/pcores/linkport_v1_00_a/hdl/vhdl/tx_ll.vhd

Last change on this file was 408, checked in by haijiang, 18 years ago
File size: 9.0 KB
Line 
1--
2--      Project:  Aurora Module Generator version 2.4
3--
4--         Date:  $Date: 2005/11/07 21:30:56 $
5--          Tag:  $Name: i+IP+98818 $
6--         File:  $RCSfile: tx_ll_vhd.ejava,v $
7--          Rev:  $Revision: 1.1.2.4 $
8--
9--      Company:  Xilinx
10-- Contributors:  R. K. Awalt, B. L. Woodard, N. Gulstone
11--
12--   Disclaimer:  XILINX IS PROVIDING THIS DESIGN, CODE, OR
13--                INFORMATION "AS IS" SOLELY FOR USE IN DEVELOPING
14--                PROGRAMS AND SOLUTIONS FOR XILINX DEVICES.  BY
15--                PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
16--                ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE,
17--                APPLICATION OR STANDARD, XILINX IS MAKING NO
18--                REPRESENTATION THAT THIS IMPLEMENTATION IS FREE
19--                FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE
20--                RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY
21--                REQUIRE FOR YOUR IMPLEMENTATION.  XILINX
22--                EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH
23--                RESPECT TO THE ADEQUACY OF THE IMPLEMENTATION,
24--                INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR
25--                REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
26--                FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES
27--                OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28--                PURPOSE.
29--
30--                (c) Copyright 2004 Xilinx, Inc.
31--                All rights reserved.
32--
33
34--
35--  TX_LL
36--
37--  Author: Nigel Gulstone
38--          Xilinx - Embedded Networking System Engineering Group
39--
40--  Description: The TX_LL module converts user data from the LocalLink interface
41--               to Aurora Data, then sends it to the Aurora Channel for transmission.
42--               It also handles NFC and UFC messages.
43--
44--               This module supports 1 2-byte lane designs
45--
46--               This module supports Immediate Mode Native Flow Control
47--
48
49library IEEE;
50use IEEE.STD_LOGIC_1164.all;
51
52entity TX_LL is
53
54    port (
55
56    -- LocalLink PDU Interface
57
58            TX_D           : in std_logic_vector(0 to 15);
59            TX_REM         : in std_logic;
60            TX_SRC_RDY_N   : in std_logic;
61            TX_SOF_N       : in std_logic;
62            TX_EOF_N       : in std_logic;
63            TX_DST_RDY_N   : out std_logic;
64
65    -- NFC Interface
66
67            NFC_REQ_N      : in std_logic;
68            NFC_NB         : in std_logic_vector(0 to 3);
69            NFC_ACK_N      : out std_logic;
70
71    -- Clock Compensation Interface
72
73            WARN_CC        : in std_logic;
74            DO_CC          : in std_logic;
75
76    -- Global Logic Interface
77
78            CHANNEL_UP     : in std_logic;
79
80    -- Aurora Lane Interface
81
82            GEN_SCP        : out std_logic;
83            GEN_ECP        : out std_logic;
84            GEN_SNF        : out std_logic;
85            FC_NB          : out std_logic_vector(0 to 3);
86            TX_PE_DATA_V   : out std_logic;
87            GEN_PAD        : out std_logic;
88            TX_PE_DATA     : out std_logic_vector(0 to 15);
89            GEN_CC         : out std_logic;
90
91    -- RX_LL Interface
92
93            TX_WAIT        : in std_logic;
94            DECREMENT_NFC  : out std_logic;
95
96    -- System Interface
97
98            USER_CLK       : in std_logic
99
100         );
101
102end TX_LL;
103
104architecture MAPPED of TX_LL is
105
106-- External Register Declarations --
107
108    signal TX_DST_RDY_N_Buffer  : std_logic;
109    signal NFC_ACK_N_Buffer     : std_logic;
110    signal GEN_SCP_Buffer       : std_logic;
111    signal GEN_ECP_Buffer       : std_logic;
112    signal GEN_SNF_Buffer       : std_logic;
113    signal FC_NB_Buffer         : std_logic_vector(0 to 3);
114    signal TX_PE_DATA_V_Buffer  : std_logic;
115    signal GEN_PAD_Buffer       : std_logic;
116    signal TX_PE_DATA_Buffer    : std_logic_vector(0 to 15);
117    signal GEN_CC_Buffer        : std_logic;
118    signal DECREMENT_NFC_Buffer : std_logic;
119
120-- Wire Declarations --
121
122    signal halt_c_i       : std_logic;
123    signal tx_dst_rdy_n_i : std_logic;
124
125-- Component Declarations --
126
127    component TX_LL_DATAPATH
128
129        port (
130
131        -- LocalLink PDU Interface
132
133                TX_D         : in std_logic_vector(0 to 15);
134                TX_REM       : in std_logic;
135                TX_SRC_RDY_N : in std_logic;
136                TX_SOF_N     : in std_logic;
137                TX_EOF_N     : in std_logic;
138
139        -- Aurora Lane Interface
140
141                TX_PE_DATA_V : out std_logic;
142                GEN_PAD      : out std_logic;
143                TX_PE_DATA   : out std_logic_vector(0 to 15);
144
145        -- TX_LL Control Module Interface
146
147                HALT_C       : in std_logic;
148                TX_DST_RDY_N : in std_logic;
149
150        -- System Interface
151
152                CHANNEL_UP   : in std_logic;
153                USER_CLK     : in std_logic
154
155             );
156
157    end component;
158
159
160    component TX_LL_CONTROL
161
162        port (
163
164        -- LocalLink PDU Interface
165
166                TX_SRC_RDY_N  : in std_logic;
167                TX_SOF_N      : in std_logic;
168                TX_EOF_N      : in std_logic;
169                TX_REM        : in std_logic;
170                TX_DST_RDY_N  : out std_logic;
171
172        -- NFC Interface
173
174                NFC_REQ_N     : in std_logic;
175                NFC_NB        : in std_logic_vector(0 to 3);
176                NFC_ACK_N     : out std_logic;
177
178        -- Clock Compensation Interface
179
180                WARN_CC       : in std_logic;
181                DO_CC         : in std_logic;
182
183        -- Global Logic Interface
184
185                CHANNEL_UP    : in std_logic;
186
187        -- TX_LL Control Module Interface
188
189                HALT_C        : out std_logic;
190
191        -- Aurora Lane Interface
192
193                GEN_SCP       : out std_logic;
194                GEN_ECP       : out std_logic;
195                GEN_SNF       : out std_logic;
196                FC_NB         : out std_logic_vector(0 to 3);
197                GEN_CC        : out std_logic;
198
199        -- RX_LL Interface
200
201                TX_WAIT       : in std_logic;
202                DECREMENT_NFC : out std_logic;
203
204        -- System Interface
205
206                USER_CLK      : in std_logic
207
208             );
209
210    end component;
211
212begin
213
214    TX_DST_RDY_N  <= TX_DST_RDY_N_Buffer;
215    NFC_ACK_N     <= NFC_ACK_N_Buffer;
216    GEN_SCP       <= GEN_SCP_Buffer;
217    GEN_ECP       <= GEN_ECP_Buffer;
218    GEN_SNF       <= GEN_SNF_Buffer;
219    FC_NB         <= FC_NB_Buffer;
220    TX_PE_DATA_V  <= TX_PE_DATA_V_Buffer;
221    GEN_PAD       <= GEN_PAD_Buffer;
222    TX_PE_DATA    <= TX_PE_DATA_Buffer;
223    GEN_CC        <= GEN_CC_Buffer;
224    DECREMENT_NFC <= DECREMENT_NFC_Buffer;
225
226-- Main Body of Code --
227
228    -- TX_DST_RDY_N is generated by TX_LL_CONTROL and used by TX_LL_DATAPATH and
229    -- external modules to regulate incoming pdu data signals.
230
231    TX_DST_RDY_N_Buffer <= tx_dst_rdy_n_i;
232
233
234    -- TX_LL_Datapath module
235
236    tx_ll_datapath_i : TX_LL_DATAPATH
237
238        port map (
239
240        -- LocalLink PDU Interface
241
242                    TX_D => TX_D,
243                    TX_REM => TX_REM,
244                    TX_SRC_RDY_N => TX_SRC_RDY_N,
245                    TX_SOF_N => TX_SOF_N,
246                    TX_EOF_N => TX_EOF_N,
247
248        -- Aurora Lane Interface
249
250                    TX_PE_DATA_V => TX_PE_DATA_V_Buffer,
251                    GEN_PAD => GEN_PAD_Buffer,
252                    TX_PE_DATA => TX_PE_DATA_Buffer,
253
254        -- TX_LL Control Module Interface
255
256                    HALT_C => halt_c_i,
257                    TX_DST_RDY_N => tx_dst_rdy_n_i,
258
259        -- System Interface
260
261                    CHANNEL_UP => CHANNEL_UP,
262                    USER_CLK => USER_CLK
263
264                 );
265
266
267    -- TX_LL_Control module
268
269    tx_ll_control_i : TX_LL_CONTROL
270
271        port map (
272
273        -- LocalLink PDU Interface
274
275                    TX_SRC_RDY_N => TX_SRC_RDY_N,
276                    TX_SOF_N => TX_SOF_N,
277                    TX_EOF_N => TX_EOF_N,
278                    TX_REM => TX_REM,
279                    TX_DST_RDY_N => tx_dst_rdy_n_i,
280
281        -- NFC Interface
282
283                    NFC_REQ_N => NFC_REQ_N,
284                    NFC_NB => NFC_NB,
285                    NFC_ACK_N => NFC_ACK_N_Buffer,
286
287        -- Clock Compensation Interface
288
289                    WARN_CC => WARN_CC,
290                    DO_CC => DO_CC,
291
292        -- Global Logic Interface
293
294                    CHANNEL_UP => CHANNEL_UP,
295
296        -- TX_LL Control Module Interface
297
298                    HALT_C => halt_c_i,
299
300        -- Aurora Lane Interface
301
302                    GEN_SCP => GEN_SCP_Buffer,
303                    GEN_ECP => GEN_ECP_Buffer,
304                    GEN_SNF => GEN_SNF_Buffer,
305                    FC_NB => FC_NB_Buffer,
306                    GEN_CC => GEN_CC_Buffer,
307
308        -- RX_LL Interface
309
310                    TX_WAIT => TX_WAIT,
311                    DECREMENT_NFC => DECREMENT_NFC_Buffer,
312
313        -- System Interface
314
315                    USER_CLK => USER_CLK
316
317                 );
318
319end MAPPED;
Note: See TracBrowser for help on using the repository browser.