source: PlatformSupport/CustomPeripherals/pcores/radio_controller_v1_30_a/hdl/vhdl/radio_controller.vhd

Last change on this file was 1711, checked in by murphpo, 12 years ago

Iterating on radio_bridge and radio_controller custom bus spec

File size: 45.6 KB
Line 
1------------------------------------------------------------------------------
2-- radio_controller.vhd - entity/architecture pair
3------------------------------------------------------------------------------
4-- IMPORTANT:
5-- DO NOT MODIFY THIS FILE EXCEPT IN THE DESIGNATED SECTIONS.
6--
7-- SEARCH FOR --USER TO DETERMINE WHERE CHANGES ARE ALLOWED.
8--
9-- TYPICALLY, THE ONLY ACCEPTABLE CHANGES INVOLVE ADDING NEW
10-- PORTS AND GENERICS THAT GET PASSED THROUGH TO THE INSTANTIATION
11-- OF THE USER_LOGIC ENTITY.
12------------------------------------------------------------------------------
13--
14-- ***************************************************************************
15-- ** Copyright (c) 1995-2007 Xilinx, Inc.  All rights reserved.            **
16-- **                                                                       **
17-- ** Xilinx, Inc.                                                          **
18-- ** XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"         **
19-- ** AS A COURTESY TO YOU, SOLELY FOR USE IN DEVELOPING PROGRAMS AND       **
20-- ** SOLUTIONS FOR XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE,        **
21-- ** OR INFORMATION AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE,        **
22-- ** APPLICATION OR STANDARD, XILINX IS MAKING NO REPRESENTATION           **
23-- ** THAT THIS IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,     **
24-- ** AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE      **
25-- ** FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY              **
26-- ** WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE               **
27-- ** IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR        **
28-- ** REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF       **
29-- ** INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS       **
30-- ** FOR A PARTICULAR PURPOSE.                                             **
31-- **                                                                       **
32-- ***************************************************************************
33--
34------------------------------------------------------------------------------
35-- Filename:          radio_controller.vhd
36-- Version:           1.30.a
37-- Description:       Top level design, instantiates library components and user logic.
38-- Date:              April 6 2012
39-- VHDL Standard:     VHDL'93
40------------------------------------------------------------------------------
41-- Naming Conventions:
42--   active low signals:                    "*_n"
43--   clock signals:                         "clk", "clk_div#", "clk_#x"
44--   reset signals:                         "rst", "rst_n"
45--   generics:                              "C_*"
46--   user defined types:                    "*_TYPE"
47--   state machine next state:              "*_ns"
48--   state machine current state:           "*_cs"
49--   combinatorial signals:                 "*_com"
50--   pipelined or register delay signals:   "*_d#"
51--   counter signals:                       "*cnt*"
52--   clock enable signals:                  "*_ce"
53--   internal version of output port:       "*_i"
54--   device pins:                           "*_pin"
55--   ports:                                 "- Names begin with Uppercase"
56--   processes:                             "*_PROCESS"
57--   component instantiations:              "<ENTITY_>I_<#|FUNC>"
58------------------------------------------------------------------------------
59
60library ieee;
61use ieee.std_logic_1164.all;
62use ieee.std_logic_arith.all;
63use ieee.std_logic_unsigned.all;
64
65library proc_common_v3_00_a;
66use proc_common_v3_00_a.proc_common_pkg.all;
67use proc_common_v3_00_a.ipif_pkg.all;
68
69library plbv46_slave_single_v1_01_a;
70use plbv46_slave_single_v1_01_a.plbv46_slave_single;
71
72------------------------------------------------------------------------------
73-- Entity section
74------------------------------------------------------------------------------
75-- Definition of Generics:
76--   C_BASEADDR                   -- PLBv46 slave: base address
77--   C_HIGHADDR                   -- PLBv46 slave: high address
78--   C_SPLB_AWIDTH                -- PLBv46 slave: address bus width
79--   C_SPLB_DWIDTH                -- PLBv46 slave: data bus width
80--   C_SPLB_NUM_MASTERS           -- PLBv46 slave: Number of masters
81--   C_SPLB_MID_WIDTH             -- PLBv46 slave: master ID bus width
82--   C_SPLB_NATIVE_DWIDTH         -- PLBv46 slave: internal native data bus width
83--   C_SPLB_P2P                   -- PLBv46 slave: point to point interconnect scheme
84--   C_SPLB_SUPPORT_BURSTS        -- PLBv46 slave: support bursts
85--   C_SPLB_SMALLEST_MASTER       -- PLBv46 slave: width of the smallest master
86--   C_SPLB_CLK_PERIOD_PS         -- PLBv46 slave: bus clock in picoseconds
87--   C_FAMILY                     -- Xilinx FPGA family
88--
89-- Definition of Ports:
90--   SPLB_Clk                     -- PLB main bus clock
91--   SPLB_Rst                     -- PLB main bus reset
92--   PLB_ABus                     -- PLB address bus
93--   PLB_UABus                    -- PLB upper address bus
94--   PLB_PAValid                  -- PLB primary address valid indicator
95--   PLB_SAValid                  -- PLB secondary address valid indicator
96--   PLB_rdPrim                   -- PLB secondary to primary read request indicator
97--   PLB_wrPrim                   -- PLB secondary to primary write request indicator
98--   PLB_masterID                 -- PLB current master identifier
99--   PLB_abort                    -- PLB abort request indicator
100--   PLB_busLock                  -- PLB bus lock
101--   PLB_RNW                      -- PLB read/not write
102--   PLB_BE                       -- PLB byte enables
103--   PLB_MSize                    -- PLB master data bus size
104--   PLB_size                     -- PLB transfer size
105--   PLB_type                     -- PLB transfer type
106--   PLB_lockErr                  -- PLB lock error indicator
107--   PLB_wrDBus                   -- PLB write data bus
108--   PLB_wrBurst                  -- PLB burst write transfer indicator
109--   PLB_rdBurst                  -- PLB burst read transfer indicator
110--   PLB_wrPendReq                -- PLB write pending bus request indicator
111--   PLB_rdPendReq                -- PLB read pending bus request indicator
112--   PLB_wrPendPri                -- PLB write pending request priority
113--   PLB_rdPendPri                -- PLB read pending request priority
114--   PLB_reqPri                   -- PLB current request priority
115--   PLB_TAttribute               -- PLB transfer attribute
116--   Sl_addrAck                   -- Slave address acknowledge
117--   Sl_SSize                     -- Slave data bus size
118--   Sl_wait                      -- Slave wait indicator
119--   Sl_rearbitrate               -- Slave re-arbitrate bus indicator
120--   Sl_wrDAck                    -- Slave write data acknowledge
121--   Sl_wrComp                    -- Slave write transfer complete indicator
122--   Sl_wrBTerm                   -- Slave terminate write burst transfer
123--   Sl_rdDBus                    -- Slave read data bus
124--   Sl_rdWdAddr                  -- Slave read word address
125--   Sl_rdDAck                    -- Slave read data acknowledge
126--   Sl_rdComp                    -- Slave read transfer complete indicator
127--   Sl_rdBTerm                   -- Slave terminate read burst transfer
128--   Sl_MBusy                     -- Slave busy indicator
129--   Sl_MWrErr                    -- Slave write error indicator
130--   Sl_MRdErr                    -- Slave read error indicator
131--   Sl_MIRQ                      -- Slave interrupt indicator
132------------------------------------------------------------------------------
133
134entity radio_controller is
135  generic
136  (
137    -- ADD USER GENERICS BELOW THIS LINE ---------------
138    --USER generics added here
139    -- ADD USER GENERICS ABOVE THIS LINE ---------------
140
141    -- DO NOT EDIT BELOW THIS LINE ---------------------
142    -- Bus protocol parameters, do not add to or delete
143    C_BASEADDR                     : std_logic_vector     := X"FFFFFFFF";
144    C_HIGHADDR                     : std_logic_vector     := X"00000000";
145    C_SPLB_AWIDTH                  : integer              := 32;
146    C_SPLB_DWIDTH                  : integer              := 128;
147    C_SPLB_NUM_MASTERS             : integer              := 8;
148    C_SPLB_MID_WIDTH               : integer              := 3;
149    C_SPLB_NATIVE_DWIDTH           : integer              := 32;
150    C_SPLB_P2P                     : integer              := 0;
151    C_SPLB_SUPPORT_BURSTS          : integer              := 0;
152    C_SPLB_SMALLEST_MASTER         : integer              := 32;
153    C_SPLB_CLK_PERIOD_PS           : integer              := 10000;
154    C_FAMILY                       : string               := "virtex5"
155    -- DO NOT EDIT ABOVE THIS LINE ---------------------
156  );
157  port
158  (
159    -- ADD USER PORTS BELOW THIS LINE ------------------
160
161
162    controller_logic_clk1   : out std_logic;
163    controller_logic_clk2   : out std_logic;
164    controller_logic_clk3   : out std_logic;
165    controller_logic_clk4   : out std_logic;
166    spi_clk1                    : out std_logic;
167    spi_clk2                    : out std_logic;
168    spi_clk3                    : out std_logic;
169    spi_clk4                    : out std_logic;
170    data_out1               : out std_logic;
171    data_out2               : out std_logic;
172    data_out3               : out std_logic;
173    data_out4               : out std_logic;
174    radio1_cs               : out std_logic;
175    radio2_cs               : out std_logic;
176    radio3_cs               : out std_logic;
177    radio4_cs               : out std_logic;
178    dac1_cs             : out std_logic;
179    dac2_cs             : out std_logic;
180    dac3_cs             : out std_logic;
181    dac4_cs             : out std_logic;
182    radio1_SHDN                         : out std_logic;
183    radio1_TxEn                         : out std_logic;
184    radio1_RxEn                         : out std_logic;
185    radio1_RxHP                         : out std_logic;
186    radio1_LD                           : in std_logic;
187    radio1_24PA                         : out std_logic;
188    radio1_5PA                          : out std_logic;
189    radio1_ANTSW                        : out std_logic_vector(0 to 1);
190    radio1_LED                          : out std_logic_vector(0 to 2);
191    radio1_ADC_RX_DCS                   : out std_logic;
192    radio1_ADC_RX_DFS                   : out std_logic;
193    radio1_ADC_RX_OTRA                  : in std_logic;
194    radio1_ADC_RX_OTRB                  : in std_logic;
195    radio1_ADC_RX_PWDNA                 : out std_logic;
196    radio1_ADC_RX_PWDNB                 : out std_logic;
197    radio1_DIPSW                        : in std_logic_vector(0 to 3);
198    radio1_RSSI_ADC_CLAMP               : out std_logic;
199    radio1_RSSI_ADC_HIZ                 : out std_logic;
200    radio1_RSSI_ADC_OTR                 : in std_logic;
201    radio1_RSSI_ADC_SLEEP               : out std_logic;
202    radio1_RSSI_ADC_D                   : in std_logic_vector(0 to 9);
203    radio1_TX_DAC_PLL_LOCK              : in std_logic;
204    radio1_TX_DAC_RESET                 : out std_logic;
205    radio1_SHDN_external        : in std_logic;
206    radio1_TxEn_external        : in std_logic;
207    radio1_RxEn_external        : in std_logic;
208    radio1_RxHP_external        : in std_logic;
209    radio1_TxGain           : out std_logic_vector(0 to 5);
210    radio1_TxStart          : out std_logic;
211    radio2_SHDN                         : out std_logic;
212    radio2_TxEn                         : out std_logic;
213    radio2_RxEn                         : out std_logic;
214    radio2_RxHP                         : out std_logic;
215    radio2_LD                           : in std_logic;
216    radio2_24PA                         : out std_logic;
217    radio2_5PA                          : out std_logic;
218    radio2_ANTSW                        : out std_logic_vector(0 to 1);
219    radio2_LED                          : out std_logic_vector(0 to 2);
220    radio2_ADC_RX_DCS                   : out std_logic;
221    radio2_ADC_RX_DFS                   : out std_logic;
222    radio2_ADC_RX_OTRA                  : in std_logic;
223    radio2_ADC_RX_OTRB                  : in std_logic;
224    radio2_ADC_RX_PWDNA                 : out std_logic;
225    radio2_ADC_RX_PWDNB                 : out std_logic;
226    radio2_DIPSW                        : in std_logic_vector(0 to 3);
227    radio2_RSSI_ADC_CLAMP               : out std_logic;
228    radio2_RSSI_ADC_HIZ                 : out std_logic;
229    radio2_RSSI_ADC_OTR                 : in std_logic;
230    radio2_RSSI_ADC_SLEEP               : out std_logic;
231    radio2_RSSI_ADC_D                   : in std_logic_vector(0 to 9);
232    radio2_TX_DAC_PLL_LOCK              : in std_logic;
233    radio2_TX_DAC_RESET                 : out std_logic;
234    radio2_SHDN_external        : in std_logic;
235    radio2_TxEn_external        : in std_logic;
236    radio2_RxEn_external        : in std_logic;
237    radio2_RxHP_external        : in std_logic;
238    radio2_TxGain           : out std_logic_vector(0 to 5);
239    radio2_TxStart          : out std_logic;
240    radio3_SHDN                         : out std_logic;
241    radio3_TxEn                         : out std_logic;
242    radio3_RxEn                         : out std_logic;
243    radio3_RxHP                         : out std_logic;
244    radio3_LD                           : in std_logic;
245    radio3_24PA                         : out std_logic;
246    radio3_5PA                          : out std_logic;
247    radio3_ANTSW                        : out std_logic_vector(0 to 1);
248    radio3_LED                          : out std_logic_vector(0 to 2);
249    radio3_ADC_RX_DCS                   : out std_logic;
250    radio3_ADC_RX_DFS                   : out std_logic;
251    radio3_ADC_RX_OTRA                  : in std_logic;
252    radio3_ADC_RX_OTRB                  : in std_logic;
253    radio3_ADC_RX_PWDNA                 : out std_logic;
254    radio3_ADC_RX_PWDNB                 : out std_logic;
255    radio3_DIPSW                        : in std_logic_vector(0 to 3);
256    radio3_RSSI_ADC_CLAMP               : out std_logic;
257    radio3_RSSI_ADC_HIZ                 : out std_logic;
258    radio3_RSSI_ADC_OTR                 : in std_logic;
259    radio3_RSSI_ADC_SLEEP               : out std_logic;
260    radio3_RSSI_ADC_D                   : in std_logic_vector(0 to 9);
261    radio3_TX_DAC_PLL_LOCK              : in std_logic;
262    radio3_TX_DAC_RESET                 : out std_logic;
263    radio3_SHDN_external        : in std_logic;
264    radio3_TxEn_external        : in std_logic;
265    radio3_RxEn_external        : in std_logic;
266    radio3_RxHP_external        : in std_logic;
267    radio3_TxGain           : out std_logic_vector(0 to 5);
268    radio3_TxStart          : out std_logic;
269    radio4_SHDN                         : out std_logic;
270    radio4_TxEn                         : out std_logic;
271    radio4_RxEn                         : out std_logic;
272    radio4_RxHP                         : out std_logic;
273    radio4_LD                           : in std_logic;
274    radio4_24PA                         : out std_logic;
275    radio4_5PA                          : out std_logic;
276    radio4_ANTSW                        : out std_logic_vector(0 to 1);
277    radio4_LED                          : out std_logic_vector(0 to 2);
278    radio4_ADC_RX_DCS                   : out std_logic;
279    radio4_ADC_RX_DFS                   : out std_logic;
280    radio4_ADC_RX_OTRA                  : in std_logic;
281    radio4_ADC_RX_OTRB                  : in std_logic;
282    radio4_ADC_RX_PWDNA                 : out std_logic;
283    radio4_ADC_RX_PWDNB                 : out std_logic;
284    radio4_DIPSW                        : in std_logic_vector(0 to 3);
285    radio4_RSSI_ADC_CLAMP               : out std_logic;
286    radio4_RSSI_ADC_HIZ                 : out std_logic;
287    radio4_RSSI_ADC_OTR                 : in std_logic;
288    radio4_RSSI_ADC_SLEEP               : out std_logic;
289    radio4_RSSI_ADC_D                   : in std_logic_vector(0 to 9);
290    radio4_TX_DAC_PLL_LOCK              : in std_logic;
291    radio4_TX_DAC_RESET                 : out std_logic;
292    radio4_SHDN_external        : in std_logic;
293    radio4_TxEn_external        : in std_logic;
294    radio4_RxEn_external        : in std_logic;
295    radio4_RxHP_external        : in std_logic;
296    radio4_TxGain           : out std_logic_vector(0 to 5);
297    radio4_TxStart          : out std_logic;
298    -- ADD USER PORTS ABOVE THIS LINE ------------------
299
300    -- DO NOT EDIT BELOW THIS LINE ---------------------
301    -- Bus protocol ports, do not add to or delete
302    SPLB_Clk                       : in  std_logic;
303    SPLB_Rst                       : in  std_logic;
304    PLB_ABus                       : in  std_logic_vector(0 to 31);
305    PLB_UABus                      : in  std_logic_vector(0 to 31);
306    PLB_PAValid                    : in  std_logic;
307    PLB_SAValid                    : in  std_logic;
308    PLB_rdPrim                     : in  std_logic;
309    PLB_wrPrim                     : in  std_logic;
310    PLB_masterID                   : in  std_logic_vector(0 to C_SPLB_MID_WIDTH-1);
311    PLB_abort                      : in  std_logic;
312    PLB_busLock                    : in  std_logic;
313    PLB_RNW                        : in  std_logic;
314    PLB_BE                         : in  std_logic_vector(0 to C_SPLB_DWIDTH/8-1);
315    PLB_MSize                      : in  std_logic_vector(0 to 1);
316    PLB_size                       : in  std_logic_vector(0 to 3);
317    PLB_type                       : in  std_logic_vector(0 to 2);
318    PLB_lockErr                    : in  std_logic;
319    PLB_wrDBus                     : in  std_logic_vector(0 to C_SPLB_DWIDTH-1);
320    PLB_wrBurst                    : in  std_logic;
321    PLB_rdBurst                    : in  std_logic;
322    PLB_wrPendReq                  : in  std_logic;
323    PLB_rdPendReq                  : in  std_logic;
324    PLB_wrPendPri                  : in  std_logic_vector(0 to 1);
325    PLB_rdPendPri                  : in  std_logic_vector(0 to 1);
326    PLB_reqPri                     : in  std_logic_vector(0 to 1);
327    PLB_TAttribute                 : in  std_logic_vector(0 to 15);
328    Sl_addrAck                     : out std_logic;
329    Sl_SSize                       : out std_logic_vector(0 to 1);
330    Sl_wait                        : out std_logic;
331    Sl_rearbitrate                 : out std_logic;
332    Sl_wrDAck                      : out std_logic;
333    Sl_wrComp                      : out std_logic;
334    Sl_wrBTerm                     : out std_logic;
335    Sl_rdDBus                      : out std_logic_vector(0 to C_SPLB_DWIDTH-1);
336    Sl_rdWdAddr                    : out std_logic_vector(0 to 3);
337    Sl_rdDAck                      : out std_logic;
338    Sl_rdComp                      : out std_logic;
339    Sl_rdBTerm                     : out std_logic;
340    Sl_MBusy                       : out std_logic_vector(0 to C_SPLB_NUM_MASTERS-1);
341    Sl_MWrErr                      : out std_logic_vector(0 to C_SPLB_NUM_MASTERS-1);
342    Sl_MRdErr                      : out std_logic_vector(0 to C_SPLB_NUM_MASTERS-1);
343    Sl_MIRQ                        : out std_logic_vector(0 to C_SPLB_NUM_MASTERS-1)
344    -- DO NOT EDIT ABOVE THIS LINE ---------------------
345  );
346
347  attribute SIGIS : string;
348  attribute SIGIS of SPLB_Clk      : signal is "CLK";
349  attribute SIGIS of SPLB_Rst      : signal is "RST";
350
351end entity radio_controller;
352
353------------------------------------------------------------------------------
354-- Architecture section
355------------------------------------------------------------------------------
356
357architecture IMP of radio_controller is
358
359  ------------------------------------------
360  -- Array of base/high address pairs for each address range
361  ------------------------------------------
362  constant ZERO_ADDR_PAD                  : std_logic_vector(0 to 31) := (others => '0');
363  constant USER_SLV_BASEADDR              : std_logic_vector     := C_BASEADDR;
364  constant USER_SLV_HIGHADDR              : std_logic_vector     := C_HIGHADDR;
365
366  constant IPIF_ARD_ADDR_RANGE_ARRAY      : SLV64_ARRAY_TYPE     := 
367    (
368      ZERO_ADDR_PAD & USER_SLV_BASEADDR,  -- user logic slave space base address
369      ZERO_ADDR_PAD & USER_SLV_HIGHADDR   -- user logic slave space high address
370    );
371
372  ------------------------------------------
373  -- Array of desired number of chip enables for each address range
374  ------------------------------------------
375  constant USER_SLV_NUM_REG               : integer              := 17;
376  constant USER_NUM_REG                   : integer              := USER_SLV_NUM_REG;
377
378  constant IPIF_ARD_NUM_CE_ARRAY          : INTEGER_ARRAY_TYPE   := 
379    (
380      0  => pad_power2(USER_SLV_NUM_REG)  -- number of ce for user logic slave space
381    );
382
383  ------------------------------------------
384  -- Ratio of bus clock to core clock (for use in dual clock systems)
385  -- 1 = ratio is 1:1
386  -- 2 = ratio is 2:1
387  ------------------------------------------
388  constant IPIF_BUS2CORE_CLK_RATIO        : integer              := 1;
389
390  ------------------------------------------
391  -- Width of the slave data bus (32 only)
392  ------------------------------------------
393  constant USER_SLV_DWIDTH                : integer              := C_SPLB_NATIVE_DWIDTH;
394
395  constant IPIF_SLV_DWIDTH                : integer              := C_SPLB_NATIVE_DWIDTH;
396
397  ------------------------------------------
398  -- Index for CS/CE
399  ------------------------------------------
400  constant USER_SLV_CS_INDEX              : integer              := 0;
401  constant USER_SLV_CE_INDEX              : integer              := calc_start_ce_index(IPIF_ARD_NUM_CE_ARRAY, USER_SLV_CS_INDEX);
402
403  constant USER_CE_INDEX                  : integer              := USER_SLV_CE_INDEX;
404
405  ------------------------------------------
406  -- IP Interconnect (IPIC) signal declarations
407  ------------------------------------------
408  signal ipif_Bus2IP_Clk                : std_logic;
409  signal ipif_Bus2IP_Reset              : std_logic;
410  signal ipif_IP2Bus_Data               : std_logic_vector(0 to IPIF_SLV_DWIDTH-1);
411  signal ipif_IP2Bus_WrAck              : std_logic;
412  signal ipif_IP2Bus_RdAck              : std_logic;
413  signal ipif_IP2Bus_Error              : std_logic;
414  signal ipif_Bus2IP_Addr               : std_logic_vector(0 to C_SPLB_AWIDTH-1);
415  signal ipif_Bus2IP_Data               : std_logic_vector(0 to IPIF_SLV_DWIDTH-1);
416  signal ipif_Bus2IP_RNW                : std_logic;
417  signal ipif_Bus2IP_BE                 : std_logic_vector(0 to IPIF_SLV_DWIDTH/8-1);
418  signal ipif_Bus2IP_CS                 : std_logic_vector(0 to ((IPIF_ARD_ADDR_RANGE_ARRAY'length)/2)-1);
419  signal ipif_Bus2IP_RdCE               : std_logic_vector(0 to calc_num_ce(IPIF_ARD_NUM_CE_ARRAY)-1);
420  signal ipif_Bus2IP_WrCE               : std_logic_vector(0 to calc_num_ce(IPIF_ARD_NUM_CE_ARRAY)-1);
421  signal user_Bus2IP_RdCE               : std_logic_vector(0 to USER_NUM_REG-1);
422  signal user_Bus2IP_WrCE               : std_logic_vector(0 to USER_NUM_REG-1);
423  signal user_IP2Bus_Data               : std_logic_vector(0 to USER_SLV_DWIDTH-1);
424  signal user_IP2Bus_RdAck              : std_logic;
425  signal user_IP2Bus_WrAck              : std_logic;
426  signal user_IP2Bus_Error              : std_logic;
427
428  ------------------------------------------
429  -- Component declaration for verilog user logic
430  ------------------------------------------
431  component user_logic is
432    generic
433    (
434      -- ADD USER GENERICS BELOW THIS LINE ---------------
435      --USER generics added here
436      -- ADD USER GENERICS ABOVE THIS LINE ---------------
437
438      -- DO NOT EDIT BELOW THIS LINE ---------------------
439      -- Bus protocol parameters, do not add to or delete
440      C_SLV_DWIDTH                   : integer              := 32;
441      C_NUM_REG                      : integer              := 17
442      -- DO NOT EDIT ABOVE THIS LINE ---------------------
443    );
444    port
445    (
446      -- ADD USER PORTS BELOW THIS LINE ------------------
447      controller_logic_clk1 : out std_logic;
448      spi_clk1              : out std_logic;
449      data_out1             : out std_logic;
450      controller_logic_clk2 : out std_logic;
451      spi_clk2              : out std_logic;
452      data_out2             : out std_logic;
453      controller_logic_clk3 : out std_logic;
454      spi_clk3              : out std_logic;
455      data_out3             : out std_logic;
456      controller_logic_clk4 : out std_logic;
457      spi_clk4              : out std_logic;
458      data_out4             : out std_logic;
459      Radio1_cs             : out std_logic;
460      Radio2_cs             : out std_logic;
461      Radio3_cs             : out std_logic;
462      Radio4_cs             : out std_logic;
463      Dac1_cs               : out std_logic;
464      Dac2_cs               : out std_logic;
465      Dac3_cs               : out std_logic;
466      Dac4_cs               : out std_logic;
467      Radio1_SHDN                       : out std_logic;
468      Radio1_TxEn                       : out std_logic;
469      Radio1_RxEn                       : out std_logic;
470      Radio1_RxHP                       : out std_logic;
471      Radio1_LD                         : in std_logic;
472      Radio1_24PA                       : out std_logic;
473      Radio1_5PA                        : out std_logic;
474      Radio1_ANTSW                      : out std_logic_vector(0 to 1);
475      Radio1_LED                        : out std_logic_vector(0 to 2);
476      Radio1_ADC_RX_DCS                 : out std_logic;
477      Radio1_ADC_RX_DFS                 : out std_logic;
478      Radio1_ADC_RX_OTRA                : in std_logic;
479      Radio1_ADC_RX_OTRB                : in std_logic;
480      Radio1_ADC_RX_PWDNA               : out std_logic;
481      Radio1_ADC_RX_PWDNB               : out std_logic;
482      Radio1_DIPSW                      : in std_logic_vector(0 to 3);
483      Radio1_RSSI_ADC_CLAMP             : out std_logic;
484      Radio1_RSSI_ADC_HIZ               : out std_logic;
485      Radio1_RSSI_ADC_OTR               : in std_logic;
486      Radio1_RSSI_ADC_SLEEP             : out std_logic;
487      Radio1_RSSI_ADC_D                 : in std_logic_vector(0 to 9);
488      Radio1_TX_DAC_PLL_LOCK            : in std_logic;
489      Radio1_TX_DAC_RESET               : out std_logic;
490      Radio1_SHDN_external      : in std_logic;
491      Radio1_TxEn_external      : in std_logic;
492      Radio1_RxEn_external      : in std_logic;
493      Radio1_RxHP_external      : in std_logic;
494      Radio1_TxGain         : out std_logic_vector(0 to 5);
495      Radio1_TxStart            : out std_logic;
496      Radio2_SHDN                       : out std_logic;
497      Radio2_TxEn                       : out std_logic;
498      Radio2_RxEn                       : out std_logic;
499      Radio2_RxHP                       : out std_logic;
500      Radio2_LD                         : in std_logic;
501      Radio2_24PA                       : out std_logic;
502      Radio2_5PA                        : out std_logic;
503      Radio2_ANTSW                      : out std_logic_vector(0 to 1);
504      Radio2_LED                        : out std_logic_vector(0 to 2);
505      Radio2_ADC_RX_DCS                 : out std_logic;
506      Radio2_ADC_RX_DFS                 : out std_logic;
507      Radio2_ADC_RX_OTRA                : in std_logic;
508      Radio2_ADC_RX_OTRB                : in std_logic;
509      Radio2_ADC_RX_PWDNA               : out std_logic;
510      Radio2_ADC_RX_PWDNB               : out std_logic;
511      Radio2_DIPSW                      : in std_logic_vector(0 to 3);
512      Radio2_RSSI_ADC_CLAMP             : out std_logic;
513      Radio2_RSSI_ADC_HIZ               : out std_logic;
514      Radio2_RSSI_ADC_OTR               : in std_logic;
515      Radio2_RSSI_ADC_SLEEP             : out std_logic;
516      Radio2_RSSI_ADC_D                 : in std_logic_vector(0 to 9);
517      Radio2_TX_DAC_PLL_LOCK            : in std_logic;
518      Radio2_TX_DAC_RESET               : out std_logic;
519      Radio2_SHDN_external      : in std_logic;
520      Radio2_TxEn_external      : in std_logic;
521      Radio2_RxEn_external      : in std_logic;
522      Radio2_RxHP_external      : in std_logic;
523      Radio2_TxGain         : out std_logic_vector(0 to 5);
524      Radio2_TxStart            : out std_logic;
525      Radio3_SHDN                       : out std_logic;
526      Radio3_TxEn                       : out std_logic;
527      Radio3_RxEn                       : out std_logic;
528      Radio3_RxHP                       : out std_logic;
529      Radio3_LD                         : in std_logic;
530      Radio3_24PA                       : out std_logic;
531      Radio3_5PA                        : out std_logic;
532      Radio3_ANTSW                      : out std_logic_vector(0 to 1);
533      Radio3_LED                        : out std_logic_vector(0 to 2);
534      Radio3_ADC_RX_DCS                 : out std_logic;
535      Radio3_ADC_RX_DFS                 : out std_logic;
536      Radio3_ADC_RX_OTRA                : in std_logic;
537      Radio3_ADC_RX_OTRB                : in std_logic;
538      Radio3_ADC_RX_PWDNA               : out std_logic;
539      Radio3_ADC_RX_PWDNB               : out std_logic;
540      Radio3_DIPSW                      : in std_logic_vector(0 to 3);
541      Radio3_RSSI_ADC_CLAMP             : out std_logic;
542      Radio3_RSSI_ADC_HIZ               : out std_logic;
543      Radio3_RSSI_ADC_OTR               : in std_logic;
544      Radio3_RSSI_ADC_SLEEP             : out std_logic;
545      Radio3_RSSI_ADC_D                 : in std_logic_vector(0 to 9);
546      Radio3_TX_DAC_PLL_LOCK            : in std_logic;
547      Radio3_TX_DAC_RESET               : out std_logic;
548      Radio3_SHDN_external      : in std_logic;
549      Radio3_TxEn_external      : in std_logic;
550      Radio3_RxEn_external      : in std_logic;
551      Radio3_RxHP_external      : in std_logic;
552      Radio3_TxGain         : out std_logic_vector(0 to 5);
553      Radio3_TxStart            : out std_logic;
554      Radio4_SHDN                       : out std_logic;
555      Radio4_TxEn                       : out std_logic;
556      Radio4_RxEn                       : out std_logic;
557      Radio4_RxHP                       : out std_logic;
558      Radio4_LD                         : in std_logic;
559      Radio4_24PA                       : out std_logic;
560      Radio4_5PA                        : out std_logic;
561      Radio4_ANTSW                      : out std_logic_vector(0 to 1);
562      Radio4_LED                        : out std_logic_vector(0 to 2);
563      Radio4_ADC_RX_DCS                 : out std_logic;
564      Radio4_ADC_RX_DFS                 : out std_logic;
565      Radio4_ADC_RX_OTRA                : in std_logic;
566      Radio4_ADC_RX_OTRB                : in std_logic;
567      Radio4_ADC_RX_PWDNA               : out std_logic;
568      Radio4_ADC_RX_PWDNB               : out std_logic;
569      Radio4_DIPSW                      : in std_logic_vector(0 to 3);
570      Radio4_RSSI_ADC_CLAMP             : out std_logic;
571      Radio4_RSSI_ADC_HIZ               : out std_logic;
572      Radio4_RSSI_ADC_OTR               : in std_logic;
573      Radio4_RSSI_ADC_SLEEP             : out std_logic;
574      Radio4_RSSI_ADC_D                 : in std_logic_vector(0 to 9);
575      Radio4_TX_DAC_PLL_LOCK            : in std_logic;
576      Radio4_TX_DAC_RESET               : out std_logic;
577      Radio4_SHDN_external      : in std_logic;
578      Radio4_TxEn_external      : in std_logic;
579      Radio4_RxEn_external      : in std_logic;
580      Radio4_RxHP_external      : in std_logic;
581      Radio4_TxGain         : out std_logic_vector(0 to 5);
582      Radio4_TxStart            : out std_logic;
583      -- ADD USER PORTS ABOVE THIS LINE ------------------
584
585      -- DO NOT EDIT BELOW THIS LINE ---------------------
586      -- Bus protocol ports, do not add to or delete
587      Bus2IP_Clk                     : in  std_logic;
588      Bus2IP_Reset                   : in  std_logic;
589      Bus2IP_Data                    : in  std_logic_vector(0 to C_SLV_DWIDTH-1);
590      Bus2IP_BE                      : in  std_logic_vector(0 to C_SLV_DWIDTH/8-1);
591      Bus2IP_RdCE                    : in  std_logic_vector(0 to C_NUM_REG-1);
592      Bus2IP_WrCE                    : in  std_logic_vector(0 to C_NUM_REG-1);
593      IP2Bus_Data                    : out std_logic_vector(0 to C_SLV_DWIDTH-1);
594      IP2Bus_RdAck                   : out std_logic;
595      IP2Bus_WrAck                   : out std_logic;
596      IP2Bus_Error                   : out std_logic
597      -- DO NOT EDIT ABOVE THIS LINE ---------------------
598    );
599  end component user_logic;
600
601begin
602
603  ------------------------------------------
604  -- instantiate plbv46_slave_single
605  ------------------------------------------
606  PLBV46_SLAVE_SINGLE_I : entity plbv46_slave_single_v1_01_a.plbv46_slave_single
607    generic map
608    (
609      C_ARD_ADDR_RANGE_ARRAY         => IPIF_ARD_ADDR_RANGE_ARRAY,
610      C_ARD_NUM_CE_ARRAY             => IPIF_ARD_NUM_CE_ARRAY,
611      C_SPLB_P2P                     => C_SPLB_P2P,
612      C_BUS2CORE_CLK_RATIO           => IPIF_BUS2CORE_CLK_RATIO,
613      C_SPLB_MID_WIDTH               => C_SPLB_MID_WIDTH,
614      C_SPLB_NUM_MASTERS             => C_SPLB_NUM_MASTERS,
615      C_SPLB_AWIDTH                  => C_SPLB_AWIDTH,
616      C_SPLB_DWIDTH                  => C_SPLB_DWIDTH,
617      C_SIPIF_DWIDTH                 => IPIF_SLV_DWIDTH,
618      C_FAMILY                       => C_FAMILY
619    )
620    port map
621    (
622      SPLB_Clk                       => SPLB_Clk,
623      SPLB_Rst                       => SPLB_Rst,
624      PLB_ABus                       => PLB_ABus,
625      PLB_UABus                      => PLB_UABus,
626      PLB_PAValid                    => PLB_PAValid,
627      PLB_SAValid                    => PLB_SAValid,
628      PLB_rdPrim                     => PLB_rdPrim,
629      PLB_wrPrim                     => PLB_wrPrim,
630      PLB_masterID                   => PLB_masterID,
631      PLB_abort                      => PLB_abort,
632      PLB_busLock                    => PLB_busLock,
633      PLB_RNW                        => PLB_RNW,
634      PLB_BE                         => PLB_BE,
635      PLB_MSize                      => PLB_MSize,
636      PLB_size                       => PLB_size,
637      PLB_type                       => PLB_type,
638      PLB_lockErr                    => PLB_lockErr,
639      PLB_wrDBus                     => PLB_wrDBus,
640      PLB_wrBurst                    => PLB_wrBurst,
641      PLB_rdBurst                    => PLB_rdBurst,
642      PLB_wrPendReq                  => PLB_wrPendReq,
643      PLB_rdPendReq                  => PLB_rdPendReq,
644      PLB_wrPendPri                  => PLB_wrPendPri,
645      PLB_rdPendPri                  => PLB_rdPendPri,
646      PLB_reqPri                     => PLB_reqPri,
647      PLB_TAttribute                 => PLB_TAttribute,
648      Sl_addrAck                     => Sl_addrAck,
649      Sl_SSize                       => Sl_SSize,
650      Sl_wait                        => Sl_wait,
651      Sl_rearbitrate                 => Sl_rearbitrate,
652      Sl_wrDAck                      => Sl_wrDAck,
653      Sl_wrComp                      => Sl_wrComp,
654      Sl_wrBTerm                     => Sl_wrBTerm,
655      Sl_rdDBus                      => Sl_rdDBus,
656      Sl_rdWdAddr                    => Sl_rdWdAddr,
657      Sl_rdDAck                      => Sl_rdDAck,
658      Sl_rdComp                      => Sl_rdComp,
659      Sl_rdBTerm                     => Sl_rdBTerm,
660      Sl_MBusy                       => Sl_MBusy,
661      Sl_MWrErr                      => Sl_MWrErr,
662      Sl_MRdErr                      => Sl_MRdErr,
663      Sl_MIRQ                        => Sl_MIRQ,
664      Bus2IP_Clk                     => ipif_Bus2IP_Clk,
665      Bus2IP_Reset                   => ipif_Bus2IP_Reset,
666      IP2Bus_Data                    => ipif_IP2Bus_Data,
667      IP2Bus_WrAck                   => ipif_IP2Bus_WrAck,
668      IP2Bus_RdAck                   => ipif_IP2Bus_RdAck,
669      IP2Bus_Error                   => ipif_IP2Bus_Error,
670      Bus2IP_Addr                    => ipif_Bus2IP_Addr,
671      Bus2IP_Data                    => ipif_Bus2IP_Data,
672      Bus2IP_RNW                     => ipif_Bus2IP_RNW,
673      Bus2IP_BE                      => ipif_Bus2IP_BE,
674      Bus2IP_CS                      => ipif_Bus2IP_CS,
675      Bus2IP_RdCE                    => ipif_Bus2IP_RdCE,
676      Bus2IP_WrCE                    => ipif_Bus2IP_WrCE
677    );
678
679  ------------------------------------------
680  -- instantiate User Logic
681  ------------------------------------------
682  USER_LOGIC_I : component user_logic
683    generic map
684    (
685      -- MAP USER GENERICS BELOW THIS LINE ---------------
686      --USER generics mapped here
687      -- MAP USER GENERICS ABOVE THIS LINE ---------------
688
689      C_SLV_DWIDTH                   => USER_SLV_DWIDTH,
690      C_NUM_REG                      => USER_NUM_REG
691    )
692    port map
693    (
694      -- MAP USER PORTS BELOW THIS LINE ------------------
695
696      controller_logic_clk1             => controller_logic_clk1,
697      spi_clk1                          => spi_clk1,
698      data_out1                         => data_out1,
699      controller_logic_clk2             => controller_logic_clk2,
700      spi_clk2                          => spi_clk2,
701      data_out2                         => data_out2,
702      controller_logic_clk3             => controller_logic_clk3,
703      spi_clk3                          => spi_clk3,
704      data_out3                         => data_out3,
705      controller_logic_clk4             => controller_logic_clk4,
706      spi_clk4                          => spi_clk4,
707      data_out4                         => data_out4,
708      Radio1_cs                         => radio1_cs,
709      Radio2_cs                         => radio2_cs,
710      Radio3_cs                         => radio3_cs,
711      Radio4_cs                         => radio4_cs,
712      Dac1_cs                           => dac1_cs,
713      Dac2_cs                           => dac2_cs,
714      Dac3_cs                           => dac3_cs,
715      Dac4_cs                           => dac4_cs,
716      Radio1_SHDN                               => radio1_SHDN,
717      Radio1_TxEn                               => radio1_TxEn,
718      Radio1_RxEn                               => radio1_RxEn,
719      Radio1_RxHP                               => radio1_RxHP,
720      Radio1_LD                                 => radio1_LD,
721      Radio1_24PA                               => radio1_24PA,
722      Radio1_5PA                                => radio1_5PA,
723      Radio1_ANTSW                              => radio1_ANTSW,
724      Radio1_LED                                => radio1_LED,
725      Radio1_ADC_RX_DCS                         => radio1_ADC_RX_DCS,
726      Radio1_ADC_RX_DFS                         => radio1_ADC_RX_DFS,
727      Radio1_ADC_RX_OTRA                        => radio1_ADC_RX_OTRA,
728      Radio1_ADC_RX_OTRB                        => radio1_ADC_RX_OTRB,
729      Radio1_ADC_RX_PWDNA                       => radio1_ADC_RX_PWDNA,
730      Radio1_ADC_RX_PWDNB                       => radio1_ADC_RX_PWDNB,
731      Radio1_DIPSW                              => radio1_DIPSW,
732      Radio1_RSSI_ADC_CLAMP                     => radio1_RSSI_ADC_CLAMP,
733      Radio1_RSSI_ADC_HIZ                       => radio1_RSSI_ADC_HIZ,
734      Radio1_RSSI_ADC_OTR                       => radio1_RSSI_ADC_OTR,
735      Radio1_RSSI_ADC_SLEEP                     => radio1_RSSI_ADC_SLEEP,
736      Radio1_RSSI_ADC_D                         => radio1_RSSI_ADC_D,
737      Radio1_TX_DAC_PLL_LOCK                    => radio1_TX_DAC_PLL_LOCK,
738      Radio1_TX_DAC_RESET                       => radio1_TX_DAC_RESET,
739      Radio1_SHDN_external          => radio1_SHDN_external,
740      Radio1_TxEn_external          => radio1_TxEn_external,
741      Radio1_RxEn_external          => radio1_RxEn_external,
742      Radio1_RxHP_external          => radio1_RxHP_external,
743      Radio1_TxGain             => radio1_TxGain,
744      Radio1_TxStart                => radio1_TxStart,
745      Radio2_SHDN                               => radio2_SHDN,
746      Radio2_TxEn                               => radio2_TxEn,
747      Radio2_RxEn                               => radio2_RxEn,
748      Radio2_RxHP                               => radio2_RxHP,
749      Radio2_LD                                 => radio2_LD,
750      Radio2_24PA                               => radio2_24PA,
751      Radio2_5PA                                => radio2_5PA,
752      Radio2_ANTSW                              => radio2_ANTSW,
753      Radio2_LED                                => radio2_LED,
754      Radio2_ADC_RX_DCS                         => radio2_ADC_RX_DCS,
755      Radio2_ADC_RX_DFS                         => radio2_ADC_RX_DFS,
756      Radio2_ADC_RX_OTRA                        => radio2_ADC_RX_OTRA,
757      Radio2_ADC_RX_OTRB                        => radio2_ADC_RX_OTRB,
758      Radio2_ADC_RX_PWDNA                       => radio2_ADC_RX_PWDNA,
759      Radio2_ADC_RX_PWDNB                       => radio2_ADC_RX_PWDNB,
760      Radio2_DIPSW                              => radio2_DIPSW,
761      Radio2_RSSI_ADC_CLAMP                     => radio2_RSSI_ADC_CLAMP,
762      Radio2_RSSI_ADC_HIZ                       => radio2_RSSI_ADC_HIZ,
763      Radio2_RSSI_ADC_OTR                       => radio2_RSSI_ADC_OTR,
764      Radio2_RSSI_ADC_SLEEP                     => radio2_RSSI_ADC_SLEEP,
765      Radio2_RSSI_ADC_D                         => radio2_RSSI_ADC_D,
766      Radio2_TX_DAC_PLL_LOCK                    => radio2_TX_DAC_PLL_LOCK,
767      Radio2_TX_DAC_RESET                       => radio2_TX_DAC_RESET,
768      Radio2_SHDN_external          => radio2_SHDN_external,
769      Radio2_TxEn_external          => radio2_TxEn_external,
770      Radio2_RxEn_external          => radio2_RxEn_external,
771      Radio2_RxHP_external          => radio2_RxHP_external,
772      Radio2_TxGain             => radio2_TxGain,
773      Radio2_TxStart                => radio2_TxStart,
774      Radio3_SHDN                               => radio3_SHDN,
775      Radio3_TxEn                               => radio3_TxEn,
776      Radio3_RxEn                               => radio3_RxEn,
777      Radio3_RxHP                               => radio3_RxHP,
778      Radio3_LD                                 => radio3_LD,
779      Radio3_24PA                               => radio3_24PA,
780      Radio3_5PA                                => radio3_5PA,
781      Radio3_ANTSW                              => radio3_ANTSW,
782      Radio3_LED                                => radio3_LED,
783      Radio3_ADC_RX_DCS                         => radio3_ADC_RX_DCS,
784      Radio3_ADC_RX_DFS                         => radio3_ADC_RX_DFS,
785      Radio3_ADC_RX_OTRA                        => radio3_ADC_RX_OTRA,
786      Radio3_ADC_RX_OTRB                        => radio3_ADC_RX_OTRB,
787      Radio3_ADC_RX_PWDNA                       => radio3_ADC_RX_PWDNA,
788      Radio3_ADC_RX_PWDNB                       => radio3_ADC_RX_PWDNB,
789      Radio3_DIPSW                              => radio3_DIPSW,
790      Radio3_RSSI_ADC_CLAMP                     => radio3_RSSI_ADC_CLAMP,
791      Radio3_RSSI_ADC_HIZ                       => radio3_RSSI_ADC_HIZ,
792      Radio3_RSSI_ADC_OTR                       => radio3_RSSI_ADC_OTR,
793      Radio3_RSSI_ADC_SLEEP                     => radio3_RSSI_ADC_SLEEP,
794      Radio3_RSSI_ADC_D                         => radio3_RSSI_ADC_D,
795      Radio3_TX_DAC_PLL_LOCK                    => radio3_TX_DAC_PLL_LOCK,
796      Radio3_TX_DAC_RESET                       => radio3_TX_DAC_RESET,
797      Radio3_SHDN_external          => radio3_SHDN_external,
798      Radio3_TxEn_external          => radio3_TxEn_external,
799      Radio3_RxEn_external          => radio3_RxEn_external,
800      Radio3_RxHP_external          => radio3_RxHP_external,
801      Radio3_TxGain             => radio3_TxGain,
802      Radio3_TxStart                => radio3_TxStart,
803      Radio4_SHDN                               => radio4_SHDN,
804      Radio4_TxEn                               => radio4_TxEn,
805      Radio4_RxEn                               => radio4_RxEn,
806      Radio4_RxHP                               => radio4_RxHP,
807      Radio4_LD                                 => radio4_LD,
808      Radio4_24PA                               => radio4_24PA,
809      Radio4_5PA                                => radio4_5PA,
810      Radio4_ANTSW                              => radio4_ANTSW,
811      Radio4_LED                                => radio4_LED,
812      Radio4_ADC_RX_DCS                         => radio4_ADC_RX_DCS,
813      Radio4_ADC_RX_DFS                         => radio4_ADC_RX_DFS,
814      Radio4_ADC_RX_OTRA                        => radio4_ADC_RX_OTRA,
815      Radio4_ADC_RX_OTRB                        => radio4_ADC_RX_OTRB,
816      Radio4_ADC_RX_PWDNA                       => radio4_ADC_RX_PWDNA,
817      Radio4_ADC_RX_PWDNB                       => radio4_ADC_RX_PWDNB,
818      Radio4_DIPSW                              => radio4_DIPSW,
819      Radio4_RSSI_ADC_CLAMP                     => radio4_RSSI_ADC_CLAMP,
820      Radio4_RSSI_ADC_HIZ                       => radio4_RSSI_ADC_HIZ,
821      Radio4_RSSI_ADC_OTR                       => radio4_RSSI_ADC_OTR,
822      Radio4_RSSI_ADC_SLEEP                     => radio4_RSSI_ADC_SLEEP,
823      Radio4_RSSI_ADC_D                         => radio4_RSSI_ADC_D,
824      Radio4_TX_DAC_PLL_LOCK                    => radio4_TX_DAC_PLL_LOCK,
825      Radio4_TX_DAC_RESET                       => radio4_TX_DAC_RESET,
826      Radio4_SHDN_external          => radio4_SHDN_external,
827      Radio4_TxEn_external          => radio4_TxEn_external,
828      Radio4_RxEn_external          => radio4_RxEn_external,
829      Radio4_RxHP_external          => radio4_RxHP_external,
830      Radio4_TxGain             => radio4_TxGain,
831      Radio4_TxStart                => radio4_TxStart,
832      -- MAP USER PORTS ABOVE THIS LINE ------------------
833
834      Bus2IP_Clk                     => ipif_Bus2IP_Clk,
835      Bus2IP_Reset                   => ipif_Bus2IP_Reset,
836      Bus2IP_Data                    => ipif_Bus2IP_Data,
837      Bus2IP_BE                      => ipif_Bus2IP_BE,
838      Bus2IP_RdCE                    => user_Bus2IP_RdCE,
839      Bus2IP_WrCE                    => user_Bus2IP_WrCE,
840      IP2Bus_Data                    => user_IP2Bus_Data,
841      IP2Bus_RdAck                   => user_IP2Bus_RdAck,
842      IP2Bus_WrAck                   => user_IP2Bus_WrAck,
843      IP2Bus_Error                   => user_IP2Bus_Error
844    );
845
846  ------------------------------------------
847  -- connect internal signals
848  ------------------------------------------
849  ipif_IP2Bus_Data <= user_IP2Bus_Data;
850  ipif_IP2Bus_WrAck <= user_IP2Bus_WrAck;
851  ipif_IP2Bus_RdAck <= user_IP2Bus_RdAck;
852  ipif_IP2Bus_Error <= user_IP2Bus_Error;
853
854  user_Bus2IP_RdCE <= ipif_Bus2IP_RdCE(USER_CE_INDEX to USER_CE_INDEX+USER_NUM_REG-1);
855  user_Bus2IP_WrCE <= ipif_Bus2IP_WrCE(USER_CE_INDEX to USER_CE_INDEX+USER_NUM_REG-1);
856
857end IMP;
Note: See TracBrowser for help on using the repository browser.