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

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [lib/] [tech/] [stratixiii/] [simprims/] [stratixiii_components.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
-- Copyright (C) 1991-2007 Altera Corporation
2
-- Your use of Altera Corporation's design tools, logic functions 
3
-- and other software and tools, and its AMPP partner logic 
4
-- functions, and any output files from any of the foregoing 
5
-- (including device programming or simulation files), and any 
6
-- associated documentation or information are expressly subject 
7
-- to the terms and conditions of the Altera Program License 
8
-- Subscription Agreement, Altera MegaCore Function License 
9
-- Agreement, or other applicable license agreement, including, 
10
-- without limitation, that your use is for the sole purpose of 
11
-- programming logic devices manufactured by Altera and sold by 
12
-- Altera or its authorized distributors.  Please refer to the 
13
-- applicable agreement for further details.
14
-- Quartus II 7.2 Build 207 09/26/2007
15
 
16
LIBRARY IEEE;
17
use IEEE.STD_LOGIC_1164.all;
18
use IEEE.VITAL_Timing.all;
19
use work.stratixiii_atom_pack.all;
20
 
21
package STRATIXIII_COMPONENTS is
22
 
23
--
24
-- stratixiii_ff
25
-- 
26
 
27
component stratixiii_ff
28
    generic (
29
             power_up : string := "low";
30
             x_on_violation : string := "on";
31
             lpm_type : string := "stratixiii_ff";
32
             tsetup_d_clk_noedge_posedge : VitalDelayType := DefSetupHoldCnst;
33
             tsetup_asdata_clk_noedge_posedge : VitalDelayType := DefSetupHoldCnst;
34
             tsetup_sclr_clk_noedge_posedge : VitalDelayType := DefSetupHoldCnst;
35
             tsetup_sload_clk_noedge_posedge    : VitalDelayType := DefSetupHoldCnst;
36
             tsetup_ena_clk_noedge_posedge : VitalDelayType := DefSetupHoldCnst;
37
             thold_d_clk_noedge_posedge : VitalDelayType := DefSetupHoldCnst;
38
             thold_asdata_clk_noedge_posedge : VitalDelayType := DefSetupHoldCnst;
39
             thold_sclr_clk_noedge_posedge : VitalDelayType := DefSetupHoldCnst;
40
             thold_sload_clk_noedge_posedge : VitalDelayType := DefSetupHoldCnst;
41
             thold_ena_clk_noedge_posedge       : VitalDelayType := DefSetupHoldCnst;
42
             tpd_clk_q_posedge : VitalDelayType01 := DefPropDelay01;
43
             tpd_clrn_q_posedge : VitalDelayType01 := DefPropDelay01;
44
             tpd_aload_q_posedge : VitalDelayType01 := DefPropDelay01;
45
             tpd_asdata_q: VitalDelayType01 := DefPropDelay01;
46
             tipd_clk : VitalDelayType01 := DefPropDelay01;
47
             tipd_d : VitalDelayType01 := DefPropDelay01;
48
             tipd_asdata : VitalDelayType01 := DefPropDelay01;
49
             tipd_sclr : VitalDelayType01 := DefPropDelay01;
50
             tipd_sload : VitalDelayType01 := DefPropDelay01;
51
             tipd_clrn : VitalDelayType01 := DefPropDelay01;
52
             tipd_aload : VitalDelayType01 := DefPropDelay01;
53
             tipd_ena : VitalDelayType01 := DefPropDelay01;
54
             TimingChecksOn: Boolean := True;
55
             MsgOn: Boolean := DefGlitchMsgOn;
56
             XOn: Boolean := DefGlitchXOn;
57
             MsgOnChecks: Boolean := DefMsgOnChecks;
58
             XOnChecks: Boolean := DefXOnChecks;
59
             InstancePath: STRING := "*"
60
            );
61
 
62
    port (
63
          d : in std_logic := '0';
64
          clk : in std_logic := '0';
65
          clrn : in std_logic := '1';
66
          aload : in std_logic := '0';
67
          sclr : in std_logic := '0';
68
          sload : in std_logic := '0';
69
          ena : in std_logic := '1';
70
          asdata : in std_logic := '0';
71
          devclrn : in std_logic := '1';
72
          devpor : in std_logic := '1';
73
          q : out std_logic
74
         );
75
end component;
76
 
77
 
78
--
79
--  STRATIXIII_CLKSELECT Model
80
--
81
 
82
component stratixiii_clkselect
83
    generic (
84
             lpm_type : STRING := "stratixiii_clkselect";
85
             TimingChecksOn : Boolean := True;
86
             MsgOn : Boolean := DefGlitchMsgOn;
87
             XOn : Boolean := DefGlitchXOn;
88
             MsgOnChecks : Boolean := DefMsgOnChecks;
89
             XOnChecks : Boolean := DefXOnChecks;
90
             InstancePath : STRING := "*";
91
             tipd_inclk : VitalDelayArrayType01(3 downto 0) := (OTHERS => DefPropDelay01);
92
             tipd_clkselect : VitalDelayArrayType01(1 downto 0) := (OTHERS => DefPropDelay01);
93
             tpd_inclk_outclk : VitalDelayArrayType01(3 downto 0) := (OTHERS => DefPropDelay01);
94
             tpd_clkselect_outclk : VitalDelayArrayType01(1 downto 0) := (OTHERS => DefPropDelay01)
95
             );
96
    port (
97
          inclk : in std_logic_vector(3 downto 0) := "0000";
98
          clkselect : in std_logic_vector(1 downto 0) := "00";
99
          outclk : out std_logic
100
          );
101
end component;
102
 
103
--
104
-- STRATIXIII_CLKENA
105
--
106
 
107
component stratixiii_clkena
108
 
109
    generic (
110
             clock_type : STRING := "Auto";
111
             lpm_type : STRING := "stratixiii_clkena";
112
             ena_register_mode : STRING := "Falling Edge";
113
             TimingChecksOn : Boolean := True;
114
             MsgOn : Boolean := DefGlitchMsgOn;
115
             XOn : Boolean := DefGlitchXOn;
116
             MsgOnChecks : Boolean := DefMsgOnChecks;
117
             XOnChecks : Boolean := DefXOnChecks;
118
             InstancePath : STRING := "*";
119
             tipd_inclk : VitalDelayType01 := DefPropDelay01;
120
             tipd_ena : VitalDelayType01 := DefPropDelay01
121
             );
122
    port (
123
          inclk : in std_logic := '0';
124
          ena : in std_logic := '1';
125
          devclrn : in std_logic := '1';
126
          devpor : in std_logic := '1';
127
          enaout : out std_logic;
128
          outclk : out std_logic
129
          );
130
 
131
end component;
132
--
133
-- STRATIXIII_MLAB_CELL
134
--
135
 
136
component stratixiii_mlab_cell
137
  generic
138
    (
139
        logical_ram_name               :  STRING := "lutram";
140
        init_file                      :  STRING := "UNUSED";
141
        data_interleave_offset_in_bits :  INTEGER := 1;
142
        logical_ram_depth       :  INTEGER := 0;
143
        logical_ram_width       :  INTEGER := 0;
144
        first_address           :  INTEGER := 0;
145
        last_address            :  INTEGER := 0;
146
        first_bit_number        :  INTEGER := 0;
147
        data_width              :  INTEGER := 1;
148
        address_width           :  INTEGER := 1;
149
        byte_enable_mask_width  :  INTEGER := 1;
150
        byte_size               :  INTEGER := 1;
151
        lpm_type                  : string := "stratixiii_mlab_cell";
152
        lpm_hint                  : string := "true";
153
        mixed_port_feed_through_mode : string := "dont_care";
154
        mem_init0 : BIT_VECTOR := X"0";
155
        tipd_clk0        : VitalDelayType01 := DefPropDelay01;
156
        tipd_ena0        : VitalDelayType01 := DefPropDelay01;
157
        tipd_portaaddr   : VitalDelayArrayType01(7 DOWNTO 0) := (OTHERS => DefPropDelay01);
158
        tipd_portbaddr   : VitalDelayArrayType01(7 DOWNTO 0) := (OTHERS => DefPropDelay01);
159
        tipd_portabyteenamasks        : VitalDelayArrayType01(20 DOWNTO 0) := (OTHERS => DefPropDelay01);
160
        tsetup_portaaddr_clk0_noedge_negedge : VitalDelayType := DefSetupHoldCnst;
161
        tsetup_portabyteenamasks_clk0_noedge_negedge : VitalDelayType := DefSetupHoldCnst;
162
        thold_portaaddr_clk0_noedge_negedge : VitalDelayType := DefSetupHoldCnst;
163
        thold_portabyteenamasks_clk0_noedge_negedge : VitalDelayType := DefSetupHoldCnst
164
 
165
    );
166
  port
167
    (
168
        portadatain             : IN STD_LOGIC_VECTOR(data_width - 1 DOWNTO 0)    := (OTHERS => '0');
169
        portaaddr               : IN STD_LOGIC_VECTOR(address_width - 1 DOWNTO 0) := (OTHERS => '0');
170
        portabyteenamasks       : IN STD_LOGIC_VECTOR(byte_enable_mask_width - 1 DOWNTO 0) := (OTHERS => '1');
171
        portbaddr               : IN STD_LOGIC_VECTOR(address_width - 1 DOWNTO 0) := (OTHERS => '0');
172
        clk0                : IN STD_LOGIC := '0';
173
        ena0                : IN STD_LOGIC := '1';
174
        portbdataout            : OUT STD_LOGIC_VECTOR(data_width - 1 DOWNTO 0)
175
    );
176
end component;
177
 
178
--
179
-- STRATIXIII_IO_IBUF
180
--
181
 
182
COMPONENT stratixiii_io_ibuf
183
    GENERIC (
184
             tipd_i                  : VitalDelayType01 := DefPropDelay01;
185
             tipd_ibar               : VitalDelayType01 := DefPropDelay01;
186
             tpd_i_o                 : VitalDelayType01 := DefPropDelay01;
187
             tpd_ibar_o              : VitalDelayType01 := DefPropDelay01;
188
             XOn                           : Boolean := DefGlitchXOn;
189
             MsgOn                         : Boolean := DefGlitchMsgOn;
190
             differential_mode       :  string := "false";
191
             bus_hold                :  string := "false";
192
             simulate_z_as          : string    := "Z";
193
             lpm_type                :  string := "stratixiii_io_ibuf"
194
            );
195
    PORT (
196
          i                       : IN std_logic := '0';
197
          ibar                    : IN std_logic := '0';
198
          o                       : OUT std_logic
199
         );
200
END COMPONENT;
201
 
202
--
203
-- STRATIXIII_IO_OBUF
204
--
205
 
206
COMPONENT stratixiii_io_obuf
207
    GENERIC (
208
             tipd_i                           : VitalDelayType01 := DefPropDelay01;
209
             tipd_oe                          : VitalDelayType01 := DefPropDelay01;
210
             tpd_i_o                          : VitalDelayType01 := DefPropDelay01;
211
             tpd_oe_o                         : VitalDelayType01 := DefPropDelay01;
212
             tpd_i_obar                       : VitalDelayType01 := DefPropDelay01;
213
             tpd_oe_obar                      : VitalDelayType01 := DefPropDelay01;
214
             XOn                           : Boolean := DefGlitchXOn;
215
             MsgOn                         : Boolean := DefGlitchMsgOn;
216
             open_drain_output                :  string := "false";
217
             shift_series_termination_control :  string := "false";
218
             bus_hold                         :  string := "false";
219
             lpm_type                         :  string := "stratixiii_io_obuf"
220
            );
221
    PORT (
222
           i                       : IN std_logic := '0';
223
           oe                      : IN std_logic := '1';
224
           dynamicterminationcontrol   : IN std_logic := '0';
225
           seriesterminationcontrol    : IN std_logic_vector(13 DOWNTO 0) := (others => '0');
226
           parallelterminationcontrol  : IN std_logic_vector(13 DOWNTO 0) := (others => '0');
227
           devoe                   : IN std_logic := '1';
228
           o                       : OUT std_logic;
229
           obar                    : OUT std_logic
230
         );
231
END COMPONENT;
232
 
233
--                                      
234
-- STRATIXIII_DDIO_IN                        
235
--                                      
236
 
237
COMPONENT stratixiii_ddio_in
238
    generic(
239
            tipd_datain                        : VitalDelayType01 := DefPropDelay01;
240
            tipd_clk                           : VitalDelayType01 := DefPropDelay01;
241
            tipd_clkn                          : VitalDelayType01 := DefPropDelay01;
242
            tipd_ena                           : VitalDelayType01 := DefPropDelay01;
243
            tipd_areset                        : VitalDelayType01 := DefPropDelay01;
244
            tipd_sreset                        : VitalDelayType01 := DefPropDelay01;
245
            XOn                                : Boolean := DefGlitchXOn;
246
            MsgOn                              : Boolean := DefGlitchMsgOn;
247
            power_up                           :  string := "low";
248
            async_mode                         :  string := "none";
249
            sync_mode                          :  string := "none";
250
            use_clkn                           :  string := "false";
251
            lpm_type                           :  string := "stratixiii_ddio_in"
252
           );
253
    PORT (
254
           datain                  : IN std_logic := '0';
255
           clk                     : IN std_logic := '0';
256
           clkn                    : IN std_logic := '0';
257
           ena                     : IN std_logic := '1';
258
           areset                  : IN std_logic := '0';
259
           sreset                  : IN std_logic := '0';
260
           regoutlo                : OUT std_logic;
261
           regouthi                : OUT std_logic;
262
           dfflo                   : OUT std_logic;
263
           devclrn                 : IN std_logic := '1';
264
           devpor                  : IN std_logic := '1'
265
        );
266
END COMPONENT;
267
 
268
--
269
-- STRATIXIII_DDIO_OE
270
--
271
 
272
COMPONENT stratixiii_ddio_oe
273
    generic(
274
            tipd_oe                        : VitalDelayType01 := DefPropDelay01;
275
            tipd_clk                           : VitalDelayType01 := DefPropDelay01;
276
            tipd_ena                           : VitalDelayType01 := DefPropDelay01;
277
            tipd_areset                        : VitalDelayType01 := DefPropDelay01;
278
            tipd_sreset                        : VitalDelayType01 := DefPropDelay01;
279
            XOn                                : Boolean := DefGlitchXOn;
280
            MsgOn                              : Boolean := DefGlitchMsgOn;
281
            power_up              :  string := "low";
282
            async_mode            :  string := "none";
283
            sync_mode             :  string := "none";
284
            lpm_type              :  string := "stratixiii_ddio_oe"
285
           );
286
 
287
    PORT (
288
          oe                      : IN std_logic := '1';
289
          clk                     : IN std_logic := '0';
290
          ena                     : IN std_logic := '1';
291
          areset                  : IN std_logic := '0';
292
          sreset                  : IN std_logic := '0';
293
          dataout                 : OUT std_logic;
294
          dfflo                   : OUT std_logic;
295
          dffhi                   : OUT std_logic;
296
          devclrn                 : IN std_logic := '1';
297
          devpor                  : IN std_logic := '1'
298
         );
299
END COMPONENT;
300
--
301
-- STRATIXIII_DDIO_OUT
302
--
303
 
304
COMPONENT stratixiii_ddio_out
305
    generic(
306
            tipd_datainlo                      : VitalDelayType01 := DefPropDelay01;
307
            tipd_datainhi                      : VitalDelayType01 := DefPropDelay01;
308
            tipd_clk                           : VitalDelayType01 := DefPropDelay01;
309
            tipd_clkhi                         : VitalDelayType01 := DefPropDelay01;
310
            tipd_clklo                         : VitalDelayType01 := DefPropDelay01;
311
            tipd_muxsel                        : VitalDelayType01 := DefPropDelay01;
312
            tipd_ena                           : VitalDelayType01 := DefPropDelay01;
313
            tipd_areset                        : VitalDelayType01 := DefPropDelay01;
314
            tipd_sreset                        : VitalDelayType01 := DefPropDelay01;
315
            XOn                                : Boolean := DefGlitchXOn;
316
            MsgOn                              : Boolean := DefGlitchMsgOn;
317
            power_up                           :  string := "low";
318
            async_mode                         :  string := "none";
319
            sync_mode                          :  string := "none";
320
            half_rate_mode                     :  string := "false";
321
            use_new_clocking_model             :  string := "false";
322
            lpm_type                           :  string := "stratixiii_ddio_out"
323
           );
324
    PORT (
325
          datainlo                : IN std_logic := '0';
326
          datainhi                : IN std_logic := '0';
327
          clk                     : IN std_logic := '0';
328
          clkhi                   : IN std_logic := '0';
329
          clklo                   : IN std_logic := '0';
330
          muxsel                  : IN std_logic := '0';
331
          ena                     : IN std_logic := '1';
332
          areset                  : IN std_logic := '0';
333
          sreset                  : IN std_logic := '0';
334
          dataout                 : OUT std_logic;
335
          dfflo                   : OUT std_logic;
336
          dffhi                   : OUT std_logic ;
337
          devclrn                 : IN std_logic := '1';
338
          devpor                  : IN std_logic := '1'
339
        );
340
END COMPONENT;
341
 
342
 
343
 
344
--
345
-- stratixiii_termination Model
346
--
347
 
348
COMPONENT stratixiii_termination
349
    GENERIC (
350
        runtime_control                :  STRING := "false";
351
        allow_serial_data_from_core    :  STRING := "false";
352
        power_down                     :  STRING := "true";
353
        enable_parallel_termination    :  STRING := "false";
354
        test_mode                      :  STRING := "false";
355
        enable_calclk_divider          :  STRING := "false";  -- replaced by below
356
        clock_divider_enable           :  STRING := "false";
357
        enable_pwrupmode_enser_for_usrmode :  STRING := "false";
358
        bypass_enser_logic             :  STRING := "false";
359
        bypass_rt_calclk               :  STRING := "false";
360
        enable_rt_scan_mode            :  STRING := "false";
361
        enable_loopback                :  STRING := "false";
362
 
363
        force_rtcalen_for_pllbiasen    :  STRING := "false";
364
        enable_rt_sm_loopback          :  STRING := "false";
365
        select_vrefl_values            :  integer := 0;
366
        select_vrefh_values            :  integer := 0;
367
        divide_intosc_by               :  integer := 2;
368
        use_usrmode_clear_for_configmode : STRING := "false";
369
 
370
        tipd_rup                       : VitalDelayType01 := DefpropDelay01;
371
        tipd_rdn                       : VitalDelayType01 := DefpropDelay01;
372
        tipd_terminationclock          : VitalDelayType01 := DefpropDelay01;
373
        tipd_terminationclear          : VitalDelayType01 := DefpropDelay01;
374
        tipd_terminationenable         : VitalDelayType01 := DefpropDelay01;
375
        tipd_serializerenable          : VitalDelayType01 := DefpropDelay01;
376
        tipd_terminationcontrolin      : VitalDelayType01 := DefpropDelay01;
377
        tipd_otherserializerenable     : VitalDelayArrayType01(8 downto 0) := (OTHERS => DefPropDelay01);
378
        lpm_type                       :  STRING := "stratixiii_termination");
379
    PORT (
380
        rup                     : IN std_logic := '0';
381
        rdn                     : IN std_logic := '0';
382
        terminationclock        : IN std_logic := '0';
383
        terminationclear        : IN std_logic := '0';
384
        terminationenable       : IN std_logic := '1';
385
        serializerenable        : IN std_logic := '0';
386
        terminationcontrolin    : IN std_logic := '0';
387
        scanin                  : IN std_logic := '0';
388
        scanen                  : IN std_logic := '0';
389
        otherserializerenable   : IN std_logic_vector(8 DOWNTO 0) := (OTHERS => '0');
390
        devclrn                 : IN std_logic := '1';
391
        devpor                  : IN std_logic := '1';
392
        incrup                  : OUT std_logic;
393
        incrdn                  : OUT std_logic;
394
        serializerenableout     : OUT std_logic;
395
        terminationcontrol      : OUT std_logic;
396
        terminationcontrolprobe : OUT std_logic;
397
        scanout                 : OUT std_logic;
398
        shiftregisterprobe      : OUT std_logic);
399
END COMPONENT;
400
 
401
--
402
-- stratixiii_termination_logic Model
403
--
404
 
405
COMPONENT stratixiii_termination_logic
406
    GENERIC (
407
        tipd_serialloadenable          : VitalDelayType01 := DefpropDelay01;
408
        tipd_terminationclock          : VitalDelayType01 := DefpropDelay01;
409
        tipd_parallelloadenable        : VitalDelayType01 := DefpropDelay01;
410
        tipd_terminationdata           : VitalDelayType01 := DefpropDelay01;
411
        test_mode                      : string := "false";
412
        lpm_type                       : string := "stratixiii_termination_logic");
413
    PORT (
414
        serialloadenable        : IN std_logic := '0';
415
        terminationclock        : IN std_logic := '0';
416
        parallelloadenable      : IN std_logic := '0';
417
        terminationdata         : IN std_logic := '0';
418
        devclrn                 : IN std_logic := '1';
419
        devpor                  : IN std_logic := '1';
420
        seriesterminationcontrol   : OUT std_logic_vector(13 DOWNTO 0);
421
        parallelterminationcontrol : OUT std_logic_vector(13 DOWNTO 0));
422
END COMPONENT;
423
 
424
--
425
-- stratixiii_dll Model
426
--
427
 
428
COMPONENT stratixiii_dll
429
    GENERIC (
430
    input_frequency          : string := "0 ps";
431
    delay_buffer_mode        : string := "low";
432
    delay_chain_length       : integer := 12;
433
    delayctrlout_mode        : string := "normal";
434
    jitter_reduction         : string := "false";
435
    use_upndnin              : string := "false";
436
    use_upndninclkena        : string := "false";
437
    dual_phase_comparators   : string := "true";
438
    sim_valid_lock           : integer := 16;
439
    sim_valid_lockcount      : integer := 0;  -- 10000 = 1000 + 100*dllcounter
440
    sim_low_buffer_intrinsic_delay  : integer := 350;
441
    sim_high_buffer_intrinsic_delay : integer := 175;
442
    sim_buffer_delay_increment      : integer := 10;
443
    static_delay_ctrl        : integer := 0;
444
    lpm_type                 : string := "stratixiii_dll";
445
    tipd_clk                 : VitalDelayType01 := DefpropDelay01;
446
    tipd_aload               : VitalDelayType01 := DefpropDelay01;
447
    tipd_upndnin             : VitalDelayType01 := DefpropDelay01;
448
    tipd_upndninclkena       : VitalDelayType01 := DefpropDelay01;
449
    TimingChecksOn           : Boolean := True;
450
    MsgOn                    : Boolean := DefGlitchMsgOn;
451
    XOn                      : Boolean := DefGlitchXOn;
452
    MsgOnChecks              : Boolean := DefMsgOnChecks;
453
    XOnChecks                : Boolean := DefXOnChecks;
454
    InstancePath             : String := "*";
455
    tsetup_upndnin_clk_noedge_posedge       : VitalDelayType := DefSetupHoldCnst;
456
    thold_upndnin_clk_noedge_posedge        : VitalDelayType := DefSetupHoldCnst;
457
    tsetup_upndninclkena_clk_noedge_posedge : VitalDelayType := DefSetupHoldCnst;
458
    thold_upndninclkena_clk_noedge_posedge  : VitalDelayType := DefSetupHoldCnst;
459
    tpd_clk_upndnout_posedge                : VitalDelayType01 := DefPropDelay01;
460
    tpd_clk_delayctrlout_posedge            : VitalDelayArrayType01(5 downto 0) := (OTHERS => DefPropDelay01)
461
    );
462
 
463
    PORT    ( clk                      : IN std_logic := '0';
464
              aload                    : IN std_logic := '0';
465
              upndnin                  : IN std_logic := '1';
466
              upndninclkena            : IN std_logic := '1';
467
              devclrn                  : IN std_logic := '1';
468
              devpor                   : IN std_logic := '0';
469
              delayctrlout             : OUT std_logic_vector(5 DOWNTO 0);
470
              dqsupdate                : OUT std_logic;
471
              offsetdelayctrlout       : OUT std_logic_vector(5 DOWNTO 0);
472
              offsetdelayctrlclkout    : OUT std_logic;
473
              upndnout                 : OUT std_logic
474
            );
475
 
476
END COMPONENT;
477
 
478
--
479
-- stratixiii_dll_offset_ctrl Model
480
--
481
 
482
COMPONENT stratixiii_dll_offset_ctrl
483
    GENERIC (
484
    use_offset               : string := "false";
485
    static_offset            : string := "0";
486
    delay_buffer_mode        : string := "low";
487
    lpm_type                 : string := "stratixiii_dll_offset_ctrl";
488
    tipd_clk                 : VitalDelayType01 := DefpropDelay01;
489
    tipd_aload               : VitalDelayType01 := DefpropDelay01;
490
    tipd_offset              : VitalDelayArrayType01(5 downto 0) := (OTHERS => DefPropDelay01);
491
    tipd_offsetdelayctrlin   : VitalDelayArrayType01(5 downto 0) := (OTHERS => DefPropDelay01);
492
    tipd_addnsub             : VitalDelayType01 := DefpropDelay01;
493
    TimingChecksOn           : Boolean := True;
494
    MsgOn                    : Boolean := DefGlitchMsgOn;
495
    XOn                      : Boolean := DefGlitchXOn;
496
    MsgOnChecks              : Boolean := DefMsgOnChecks;
497
    XOnChecks                : Boolean := DefXOnChecks;
498
    InstancePath             : String := "*";
499
    tsetup_offset_clk_noedge_posedge        : VitalDelayArrayType(5 downto 0) := (OTHERS => DefSetupHoldCnst);
500
    thold_offset_clk_noedge_posedge         : VitalDelayArrayType(5 downto 0) := (OTHERS => DefSetupHoldCnst);
501
    tsetup_addnsub_clk_noedge_posedge       : VitalDelayType := DefSetupHoldCnst;
502
    thold_addnsub_clk_noedge_posedge        : VitalDelayType := DefSetupHoldCnst;
503
    tpd_clk_offsetctrlout_posedge           : VitalDelayArrayType01(5 downto 0) := (OTHERS => DefPropDelay01)
504
    );
505
 
506
    PORT    ( clk                      : IN std_logic := '0';
507
              aload                    : IN std_logic := '0';
508
              offsetdelayctrlin        : IN std_logic_vector(5 DOWNTO 0) := "000000";
509
              offset                   : IN std_logic_vector(5 DOWNTO 0) := "000000";
510
              addnsub                  : IN std_logic := '1';
511
              devclrn                  : IN std_logic := '1';
512
              devpor                   : IN std_logic := '0';
513
              offsettestout            : OUT std_logic_vector(5 DOWNTO 0);
514
              offsetctrlout            : OUT std_logic_vector(5 DOWNTO 0)
515
            );
516
 
517
END COMPONENT;
518
 
519
--
520
-- stratixiii_dqs_delay_chain Model
521
--
522
 
523
COMPONENT stratixiii_dqs_delay_chain
524
    GENERIC (
525
        dqs_input_frequency             : string := "unused" ;
526
        use_phasectrlin                 : string := "false";
527
        phase_setting                   : integer := 0;
528
        delay_buffer_mode               : string := "low";
529
        dqs_phase_shift                 : integer := 0;
530
        dqs_offsetctrl_enable           : string := "false";
531
        dqs_ctrl_latches_enable         : string := "false";
532
        -- DFT added in WYS 1.33
533
        test_enable                     : string := "false";
534
        test_select                     : integer := 0;
535
        -- SIM only
536
        sim_low_buffer_intrinsic_delay  : integer := 350;
537
        sim_high_buffer_intrinsic_delay : integer := 175;
538
        sim_buffer_delay_increment      : integer := 10;
539
        lpm_type                        : string := "stratixiii_dqs_delay_chain";
540
        tipd_dqsin               : VitalDelayType01 := DefpropDelay01;
541
        tipd_aload               : VitalDelayType01 := DefpropDelay01;
542
        tipd_delayctrlin         : VitalDelayArrayType01(5 downto 0) := (OTHERS => DefPropDelay01);
543
        tipd_offsetctrlin        : VitalDelayArrayType01(5 downto 0) := (OTHERS => DefPropDelay01);
544
        tipd_dqsupdateen         : VitalDelayType01 := DefpropDelay01;
545
        tipd_phasectrlin         : VitalDelayArrayType01(5 downto 0) := (OTHERS => DefPropDelay01);
546
        tpd_dqsin_dqsbusout      : VitalDelayType01 := DefPropDelay01;
547
        tsetup_delayctrlin_dqsupdateen_noedge_posedge  : VitalDelayArrayType(5 downto 0) := (OTHERS => DefSetupHoldCnst);
548
        thold_delayctrlin_dqsupdateen_noedge_posedge   : VitalDelayArrayType(5 downto 0) := (OTHERS => DefSetupHoldCnst);
549
        tsetup_offsetctrlin_dqsupdateen_noedge_posedge : VitalDelayArrayType(5 downto 0) := (OTHERS => DefSetupHoldCnst);
550
        thold_offsetctrlin_dqsupdateen_noedge_posedge  : VitalDelayArrayType(5 downto 0) := (OTHERS => DefSetupHoldCnst);
551
        TimingChecksOn           : Boolean := True;
552
        MsgOn                    : Boolean := DefGlitchMsgOn;
553
        XOn                      : Boolean := DefGlitchXOn;
554
        MsgOnChecks              : Boolean := DefMsgOnChecks;
555
        XOnChecks                : Boolean := DefXOnChecks;
556
        InstancePath             : String := "*"
557
    );
558
 
559
    PORT (
560
        dqsin        : IN std_logic := '0';
561
        delayctrlin  : IN std_logic_vector(5 downto 0) := (OTHERS => '0');
562
        offsetctrlin : IN std_logic_vector(5 downto 0) := (OTHERS => '0');
563
        dqsupdateen  : IN std_logic := '1';
564
        phasectrlin  : IN std_logic_vector(5 downto 0) := (OTHERS => '0');
565
        devclrn      : IN std_logic := '1';
566
        devpor       : IN std_logic := '1';
567
        dqsbusout    : OUT std_logic;
568
        dffin        : OUT std_logic
569
    );
570
 
571
END COMPONENT;
572
 
573
--
574
-- stratixiii_dqs_enable Model
575
--
576
 
577
COMPONENT stratixiii_dqs_enable
578
    GENERIC (
579
        lpm_type               : string := "stratixiii_dqs_enable";
580
        tipd_dqsin               : VitalDelayType01 := DefpropDelay01;
581
        tipd_dqsenable           : VitalDelayType01 := DefpropDelay01;
582
        tpd_dqsin_dqsbusout      : VitalDelayType01 := DefPropDelay01;
583
        tpd_dqsenable_dqsbusout  : VitalDelayType01 := DefPropDelay01;
584
        TimingChecksOn           : Boolean := True;
585
        MsgOn                    : Boolean := DefGlitchMsgOn;
586
        XOn                      : Boolean := DefGlitchXOn;
587
        MsgOnChecks              : Boolean := DefMsgOnChecks;
588
        XOnChecks                : Boolean := DefXOnChecks;
589
        InstancePath             : String := "*"
590
    );
591
 
592
    PORT (
593
        dqsin        : IN std_logic := '0';
594
        dqsenable    : IN std_logic := '1';
595
        devclrn      : IN std_logic := '1';
596
        devpor       : IN std_logic := '1';
597
        dqsbusout    : OUT std_logic
598
    );
599
 
600
END COMPONENT;
601
 
602
--
603
-- stratixiii_dqs_enable_ctrl Model
604
--
605
 
606
COMPONENT stratixiii_dqs_enable_ctrl
607
    GENERIC (
608
        use_phasectrlin                 : string := "true";
609
        phase_setting                   : integer := 0;
610
        delay_buffer_mode               : string := "high";
611
        level_dqs_enable                : string := "false";
612
        delay_dqs_enable_by_half_cycle  : string := "false";
613
        add_phase_transfer_reg          : string := "false";
614
        invert_phase                    : string := "false";
615
        sim_low_buffer_intrinsic_delay  : integer := 350;
616
        sim_high_buffer_intrinsic_delay : integer := 175;
617
        sim_buffer_delay_increment      : integer := 10;
618
        lpm_type                        : string := "stratixiii_dqs_enable_ctrl";
619
        tipd_dqsenablein         : VitalDelayType01 := DefpropDelay01;
620
        tipd_clk                 : VitalDelayType01 := DefpropDelay01;
621
        tipd_delayctrlin         : VitalDelayArrayType01(5 downto 0) := (OTHERS => DefPropDelay01);
622
        tipd_phasectrlin         : VitalDelayArrayType01(3 downto 0) := (OTHERS => DefPropDelay01);
623
        tipd_enaphasetransferreg : VitalDelayType01 := DefpropDelay01;
624
        tipd_phaseinvertctrl     : VitalDelayType01 := DefpropDelay01;
625
        TimingChecksOn           : Boolean := True;
626
        MsgOn                    : Boolean := DefGlitchMsgOn;
627
        XOn                      : Boolean := DefGlitchXOn;
628
        MsgOnChecks              : Boolean := DefMsgOnChecks;
629
        XOnChecks                : Boolean := DefXOnChecks;
630
        InstancePath             : String := "*"
631
    );
632
 
633
    PORT (
634
        dqsenablein         : IN std_logic := '1';
635
        clk                 : IN std_logic := '0';
636
        delayctrlin         : IN std_logic_vector(5 downto 0) := (OTHERS => '0');
637
        phasectrlin         : IN std_logic_vector(3 downto 0) := (OTHERS => '0');
638
        enaphasetransferreg : IN std_logic := '0';
639
        phaseinvertctrl     : IN std_logic := '0';
640
        devclrn             : IN std_logic := '1';
641
        devpor              : IN std_logic := '1';
642
        dqsenableout        : OUT std_logic;
643
        dffin               : OUT std_logic;
644
        dffextenddqsenable  : OUT std_logic
645
    );
646
 
647
END COMPONENT;
648
 
649
--
650
-- stratixiii_delay_chain Model
651
--
652
 
653
COMPONENT stratixiii_delay_chain
654
    GENERIC (
655
        sim_delayctrlin_rising_delay_0   : integer := 0;
656
        sim_delayctrlin_rising_delay_1   : integer := 50;
657
        sim_delayctrlin_rising_delay_2   : integer := 100;
658
        sim_delayctrlin_rising_delay_3   : integer := 150;
659
        sim_delayctrlin_rising_delay_4   : integer := 200;
660
        sim_delayctrlin_rising_delay_5   : integer := 250;
661
        sim_delayctrlin_rising_delay_6   : integer := 300;
662
        sim_delayctrlin_rising_delay_7   : integer := 350;
663
        sim_delayctrlin_rising_delay_8   : integer := 400;
664
        sim_delayctrlin_rising_delay_9   : integer := 450;
665
        sim_delayctrlin_rising_delay_10  : integer := 500;
666
        sim_delayctrlin_rising_delay_11  : integer := 550;
667
        sim_delayctrlin_rising_delay_12  : integer := 600;
668
        sim_delayctrlin_rising_delay_13  : integer := 650;
669
        sim_delayctrlin_rising_delay_14  : integer := 700;
670
        sim_delayctrlin_rising_delay_15  : integer := 750;
671
        sim_delayctrlin_falling_delay_0  : integer := 0;
672
        sim_delayctrlin_falling_delay_1  : integer := 50;
673
        sim_delayctrlin_falling_delay_2  : integer := 100;
674
        sim_delayctrlin_falling_delay_3  : integer := 150;
675
        sim_delayctrlin_falling_delay_4  : integer := 200;
676
        sim_delayctrlin_falling_delay_5  : integer := 250;
677
        sim_delayctrlin_falling_delay_6  : integer := 300;
678
        sim_delayctrlin_falling_delay_7  : integer := 350;
679
        sim_delayctrlin_falling_delay_8  : integer := 400;
680
        sim_delayctrlin_falling_delay_9  : integer := 450;
681
        sim_delayctrlin_falling_delay_10  : integer := 500;
682
        sim_delayctrlin_falling_delay_11  : integer := 550;
683
        sim_delayctrlin_falling_delay_12  : integer := 600;
684
        sim_delayctrlin_falling_delay_13  : integer := 650;
685
        sim_delayctrlin_falling_delay_14  : integer := 700;
686
        sim_delayctrlin_falling_delay_15  : integer := 750;
687
        use_delayctrlin                   : string := "true";
688
        delay_setting                     : integer := 0;
689
        lpm_type                          : string := "stratixiii_delay_chain";
690
        tipd_datain              : VitalDelayType01 := DefpropDelay01;
691
        tipd_delayctrlin         : VitalDelayArrayType01(3 downto 0) := (OTHERS => DefPropDelay01);
692
        tpd_datain_dataout       : VitalDelayType01 := DefPropDelay01;
693
        TimingChecksOn           : Boolean := True;
694
        MsgOn                    : Boolean := DefGlitchMsgOn;
695
        XOn                      : Boolean := DefGlitchXOn;
696
        MsgOnChecks              : Boolean := DefMsgOnChecks;
697
        XOnChecks                : Boolean := DefXOnChecks;
698
        InstancePath             : String := "*"
699
    );
700
 
701
    PORT (
702
        datain       : IN std_logic := '0';
703
        delayctrlin  : IN std_logic_vector(3 downto 0) := (OTHERS => '0');
704
        devclrn      : IN std_logic := '1';
705
        devpor       : IN std_logic := '1';
706
        dataout      : OUT std_logic
707
    );
708
 
709
END COMPONENT;
710
 
711
--
712
-- stratixiii_io_clock_divider Model
713
--
714
 
715
COMPONENT stratixiii_io_clock_divider
716
    GENERIC (
717
        use_phasectrlin                 : string := "true";
718
        phase_setting                   : integer := 0;
719
        delay_buffer_mode               : string := "high";
720
        use_masterin                    : string := "false";
721
        invert_phase                    : string := "false";
722
        sim_low_buffer_intrinsic_delay  : integer := 350;
723
        sim_high_buffer_intrinsic_delay : integer := 175;
724
        sim_buffer_delay_increment      : integer := 10;
725
        lpm_type                        : string := "stratixiii_io_clock_divider";
726
        tipd_clk                 : VitalDelayType01 := DefpropDelay01;
727
        tipd_phaseselect         : VitalDelayType01 := DefpropDelay01;
728
        tipd_delayctrlin         : VitalDelayArrayType01(5 downto 0) := (OTHERS => DefPropDelay01);
729
        tipd_phasectrlin         : VitalDelayArrayType01(3 downto 0) := (OTHERS => DefPropDelay01);
730
        tipd_phaseinvertctrl     : VitalDelayType01 := DefpropDelay01;
731
        tipd_masterin            : VitalDelayType01 := DefpropDelay01;
732
        tpd_clk_clkout           : VitalDelayType01 := DefPropDelay01;
733
        TimingChecksOn           : Boolean := True;
734
        MsgOn                    : Boolean := DefGlitchMsgOn;
735
        XOn                      : Boolean := DefGlitchXOn;
736
        MsgOnChecks              : Boolean := DefMsgOnChecks;
737
        XOnChecks                : Boolean := DefXOnChecks;
738
        InstancePath             : String := "*"
739
    );
740
 
741
    PORT (
742
        clk             : IN std_logic := '0';
743
        phaseselect     : IN std_logic := '0';
744
        delayctrlin     : IN std_logic_vector(5 downto 0) := (OTHERS => '0');
745
        phasectrlin     : IN std_logic_vector(3 downto 0) := (OTHERS => '0');
746
        phaseinvertctrl : IN std_logic := '0';
747
        masterin        : IN std_logic := '0';
748
        devclrn         : IN std_logic := '1';
749
        devpor          : IN std_logic := '1';
750
        clkout          : OUT std_logic;
751
        slaveout        : OUT std_logic
752
    );
753
 
754
END COMPONENT;
755
 
756
--
757
-- stratixiii_output_phase_alignment Model
758
--
759
 
760
COMPONENT stratixiii_output_phase_alignment
761
    GENERIC (
762
        operation_mode                   : string := "ddio_out";
763
        use_phasectrlin                  : string := "true";
764
        phase_setting                    : integer := 0;
765
        delay_buffer_mode                : string := "high";
766
        power_up                         : string := "low";
767
        async_mode                       : string := "none";
768
        sync_mode                        : string := "none";
769
        add_output_cycle_delay           : string := "false";
770
        use_delayed_clock                : string := "false";
771
        add_phase_transfer_reg           : string := "false";
772
        use_phasectrl_clock              : string := "true";
773
        use_primary_clock                : string := "true";
774
        invert_phase                     : string := "false";
775
        bypass_input_register            : string := "false";
776
        phase_setting_for_delayed_clock  : integer := 2;
777
        sim_low_buffer_intrinsic_delay  : integer := 350;
778
        sim_high_buffer_intrinsic_delay : integer := 175;
779
        sim_buffer_delay_increment      : integer := 10;
780
        lpm_type                        : string := "stratixiii_output_phase_alignment";
781
        tipd_datain              : VitalDelayArrayType01(1 downto 0) := (OTHERS => DefPropDelay01);
782
        tipd_clk                 : VitalDelayType01 := DefpropDelay01;
783
        tipd_delayctrlin         : VitalDelayArrayType01(5 downto 0) := (OTHERS => DefPropDelay01);
784
        tipd_phasectrlin         : VitalDelayArrayType01(3 downto 0) := (OTHERS => DefPropDelay01);
785
        tipd_areset              : VitalDelayType01 := DefpropDelay01;
786
        tipd_sreset              : VitalDelayType01 := DefpropDelay01;
787
        tipd_clkena              : VitalDelayType01 := DefpropDelay01;
788
        tipd_enaoutputcycledelay : VitalDelayType01 := DefpropDelay01;
789
        tipd_enaphasetransferreg : VitalDelayType01 := DefpropDelay01;
790
        tipd_phaseinvertctrl     : VitalDelayType01 := DefpropDelay01;
791
        TimingChecksOn           : Boolean := True;
792
        MsgOn                    : Boolean := DefGlitchMsgOn;
793
        XOn                      : Boolean := DefGlitchXOn;
794
        MsgOnChecks              : Boolean := DefMsgOnChecks;
795
        XOnChecks                : Boolean := DefXOnChecks;
796
        InstancePath             : String := "*"
797
    );
798
 
799
    PORT (
800
        datain              : IN std_logic_vector(1 downto 0) := (OTHERS => '0');
801
        clk                 : IN std_logic := '0';
802
        delayctrlin         : IN std_logic_vector(5 downto 0) := (OTHERS => '0');
803
        phasectrlin         : IN std_logic_vector(3 downto 0) := (OTHERS => '0');
804
        areset              : IN std_logic := '0';
805
        sreset              : IN std_logic := '0';
806
        clkena              : IN std_logic := '1';
807
        enaoutputcycledelay : IN std_logic := '0';
808
        enaphasetransferreg : IN std_logic := '0';
809
        phaseinvertctrl     : IN std_logic := '0';
810
        devclrn             : IN std_logic := '1';
811
        devpor              : IN std_logic := '1';
812
        dataout             : OUT std_logic;
813
        dffin               : OUT std_logic_vector(1 downto 0);
814
        dff1t               : OUT std_logic_vector(1 downto 0);
815
        dffddiodataout      : OUT std_logic
816
    );
817
 
818
END COMPONENT;
819
 
820
--
821
-- stratixiii_input_phase_alignment Model
822
--
823
 
824
COMPONENT stratixiii_input_phase_alignment
825
    GENERIC (
826
        use_phasectrlin                 : string := "true";
827
        phase_setting                   : integer := 0;
828
        delay_buffer_mode               : string := "high";
829
        power_up                        : string := "low";
830
        async_mode                      : string := "none";
831
        add_input_cycle_delay           : string := "false";
832
        bypass_output_register          : string := "false";
833
        add_phase_transfer_reg          : string := "false";
834
        invert_phase                    : string := "false";
835
        sim_low_buffer_intrinsic_delay  : integer := 350;
836
        sim_high_buffer_intrinsic_delay : integer := 175;
837
        sim_buffer_delay_increment      : integer := 10;
838
        lpm_type                 : string := "stratixiii_input_phase_alignment";
839
        tipd_datain              : VitalDelayType01 := DefpropDelay01;
840
        tipd_clk                 : VitalDelayType01 := DefpropDelay01;
841
        tipd_delayctrlin         : VitalDelayArrayType01(5 downto 0) := (OTHERS => DefPropDelay01);
842
        tipd_phasectrlin         : VitalDelayArrayType01(3 downto 0) := (OTHERS => DefPropDelay01);
843
        tipd_areset              : VitalDelayType01 := DefpropDelay01;
844
        tipd_enainputcycledelay  : VitalDelayType01 := DefpropDelay01;
845
        tipd_enaphasetransferreg : VitalDelayType01 := DefpropDelay01;
846
        tipd_phaseinvertctrl     : VitalDelayType01 := DefpropDelay01;
847
        TimingChecksOn           : Boolean := True;
848
        MsgOn                    : Boolean := DefGlitchMsgOn;
849
        XOn                      : Boolean := DefGlitchXOn;
850
        MsgOnChecks              : Boolean := DefMsgOnChecks;
851
        XOnChecks                : Boolean := DefXOnChecks;
852
        InstancePath             : String := "*"
853
    );
854
 
855
    PORT (
856
        datain              : IN std_logic := '0';
857
        clk                 : IN std_logic := '0';
858
        delayctrlin         : IN std_logic_vector(5 downto 0) := (OTHERS => '0');
859
        phasectrlin         : IN std_logic_vector(3 downto 0) := (OTHERS => '0');
860
        areset              : IN std_logic := '0';
861
        enainputcycledelay  : IN std_logic := '0';
862
        enaphasetransferreg : IN std_logic := '0';
863
        phaseinvertctrl     : IN std_logic := '0';
864
        devclrn             : IN std_logic := '1';
865
        devpor              : IN std_logic := '1';
866
        dataout             : OUT std_logic;
867
        dffin               : OUT std_logic;
868
        dff1t               : OUT std_logic
869
    );
870
 
871
END COMPONENT;
872
 
873
--
874
-- stratixiii_half_rate_input Model
875
--
876
 
877
COMPONENT stratixiii_half_rate_input
878
    GENERIC (
879
        power_up           : string := "low";
880
        async_mode         : string := "none";
881
        use_dataoutbypass  : string := "false";
882
        lpm_type           : string := "stratixiii_half_rate_input";
883
        tipd_datain              : VitalDelayArrayType01(1 downto 0) := (OTHERS => DefPropDelay01);
884
        tipd_directin            : VitalDelayType01 := DefpropDelay01;
885
        tipd_clk                 : VitalDelayType01 := DefpropDelay01;
886
        tipd_areset              : VitalDelayType01 := DefpropDelay01;
887
        tipd_dataoutbypass       : VitalDelayType01 := DefpropDelay01;
888
        TimingChecksOn           : Boolean := True;
889
        MsgOn                    : Boolean := DefGlitchMsgOn;
890
        XOn                      : Boolean := DefGlitchXOn;
891
        MsgOnChecks              : Boolean := DefMsgOnChecks;
892
        XOnChecks                : Boolean := DefXOnChecks;
893
        InstancePath             : String := "*"
894
    );
895
 
896
    PORT (
897
        datain       : IN std_logic_vector(1 downto 0) := (OTHERS => '0');
898
        directin     : IN std_logic := '0';
899
        clk          : IN std_logic := '0';
900
        areset       : IN std_logic := '0';
901
        dataoutbypass: IN std_logic := '0';
902
        devclrn      : IN std_logic := '1';
903
        devpor       : IN std_logic := '1';
904
        dataout      : OUT std_logic_vector(3 downto 0);
905
        dffin        : OUT std_logic
906
    );
907
 
908
END COMPONENT;
909
 
910
--
911
-- stratixiii_io_config Model
912
--
913
 
914
COMPONENT stratixiii_io_config
915
    GENERIC (
916
        lpm_type           : string := "stratixiii_io_config";
917
        tipd_datain                       : VitalDelayType01 := DefpropDelay01;
918
        tipd_clk                          : VitalDelayType01 := DefpropDelay01;
919
        tipd_ena                          : VitalDelayType01 := DefpropDelay01;
920
        tipd_update                       : VitalDelayType01 := DefpropDelay01;
921
        tsetup_datain_clk_noedge_posedge  : VitalDelayType := DefSetupHoldCnst;
922
        thold_datain_clk_noedge_posedge   : VitalDelayType := DefSetupHoldCnst;
923
        tpd_clk_dataout_posedge           : VitalDelayType01 := DefPropDelay01;
924
        TimingChecksOn           : Boolean := True;
925
        MsgOn                    : Boolean := DefGlitchMsgOn;
926
        XOn                      : Boolean := DefGlitchXOn;
927
        MsgOnChecks              : Boolean := DefMsgOnChecks;
928
        XOnChecks                : Boolean := DefXOnChecks;
929
        InstancePath             : String := "*"
930
    );
931
 
932
    PORT (
933
        datain       : IN std_logic := '0';
934
        clk          : IN std_logic := '0';
935
        ena          : IN std_logic := '0';
936
        update       : IN std_logic := '0';
937
        devclrn      : IN std_logic := '1';
938
        devpor       : IN std_logic := '1';
939
        padtoinputregisterdelaysetting : OUT std_logic_vector(3 downto 0);
940
        outputdelaysetting1            : OUT std_logic_vector(3 downto 0);
941
        outputdelaysetting2            : OUT std_logic_vector(2 downto 0);
942
        dataout                        : OUT std_logic
943
    );
944
 
945
END COMPONENT;
946
 
947
--
948
-- stratixiii_dqs_config Model
949
--
950
 
951
COMPONENT stratixiii_dqs_config
952
    GENERIC (
953
        lpm_type                 : string := "stratixiii_dqs_config";
954
        tipd_datain                       : VitalDelayType01 := DefpropDelay01;
955
        tipd_clk                          : VitalDelayType01 := DefpropDelay01;
956
        tipd_ena                          : VitalDelayType01 := DefpropDelay01;
957
        tipd_update                       : VitalDelayType01 := DefpropDelay01;
958
        tsetup_datain_clk_noedge_posedge  : VitalDelayType := DefSetupHoldCnst;
959
        thold_datain_clk_noedge_posedge   : VitalDelayType := DefSetupHoldCnst;
960
        tpd_clk_dataout_posedge           : VitalDelayType01 := DefPropDelay01;
961
        TimingChecksOn           : Boolean := True;
962
        MsgOn                    : Boolean := DefGlitchMsgOn;
963
        XOn                      : Boolean := DefGlitchXOn;
964
        MsgOnChecks              : Boolean := DefMsgOnChecks;
965
        XOnChecks                : Boolean := DefXOnChecks;
966
        InstancePath             : String := "*"
967
    );
968
 
969
    PORT (
970
        datain       : IN std_logic := '0';
971
        clk          : IN std_logic := '0';
972
        ena          : IN std_logic := '0';
973
        update       : IN std_logic := '0';
974
        devclrn      : IN std_logic := '1';
975
        devpor       : IN std_logic := '1';
976
        dqsbusoutdelaysetting     : OUT std_logic_vector(3 downto 0);
977
        dqsinputphasesetting      : OUT std_logic_vector(2 downto 0);
978
        dqsenablectrlphasesetting : OUT std_logic_vector(3 downto 0);
979
        dqsoutputphasesetting     : OUT std_logic_vector(3 downto 0);
980
        dqoutputphasesetting      : OUT std_logic_vector(3 downto 0);
981
        resyncinputphasesetting   : OUT std_logic_vector(3 downto 0);
982
        dividerphasesetting       : OUT std_logic;
983
        enaoctcycledelaysetting   : OUT std_logic;
984
        enainputcycledelaysetting : OUT std_logic;
985
        enaoutputcycledelaysetting: OUT std_logic;
986
        dqsenabledelaysetting     : OUT std_logic_vector(2 downto 0);
987
        octdelaysetting1          : OUT std_logic_vector(3 downto 0);
988
        octdelaysetting2          : OUT std_logic_vector(2 downto 0);
989
        enadataoutbypass          : OUT std_logic;
990
        enadqsenablephasetransferreg : OUT std_logic;
991
        enaoctphasetransferreg    : OUT std_logic;
992
        enaoutputphasetransferreg : OUT std_logic;
993
        enainputphasetransferreg  : OUT std_logic;
994
        resyncinputphaseinvert    : OUT std_logic;
995
        dqsenablectrlphaseinvert  : OUT std_logic;
996
        dqoutputphaseinvert       : OUT std_logic;
997
        dqsoutputphaseinvert      : OUT std_logic;
998
        dataout                   : OUT std_logic
999
    );
1000
 
1001
END COMPONENT;
1002
 
1003
--
1004
-- stratixiii_mac_mult
1005
--
1006
 
1007
component stratixiii_mac_mult
1008
   GENERIC (
1009
            dataa_width                    :  integer := 18;
1010
            datab_width                    :  integer := 18;
1011
            dataa_clock                    :  string := "none";
1012
            datab_clock                    :  string := "none";
1013
            signa_clock                    :  string := "none";
1014
            signb_clock                    :  string := "none";
1015
            scanouta_clock                 :  string := "none";
1016
            dataa_clear                    :  string := "none";
1017
            datab_clear                    :  string := "none";
1018
            signa_clear                    :  string := "none";
1019
            signb_clear                    :  string := "none";
1020
            scanouta_clear                 :  string := "none";
1021
            signa_internally_grounded      :  string := "false";
1022
            signb_internally_grounded      :  string := "false";
1023
            lpm_type                       :  string := "stratixiii_mac_mult"
1024
           );
1025
   PORT (
1026
         dataa                   : IN std_logic_vector(dataa_width - 1 DOWNTO 0):= (others => '1');
1027
         datab                   : IN std_logic_vector(datab_width - 1 DOWNTO 0):= (others => '1');
1028
         signa                   : IN std_logic := '1';
1029
         signb                   : IN std_logic := '1';
1030
         clk                     : IN std_logic_vector(3 DOWNTO 0) := (others => '0');
1031
         aclr                    : IN std_logic_vector(3 DOWNTO 0) := (others => '0');
1032
         ena                     : IN std_logic_vector(3 DOWNTO 0) := (others => '1');
1033
         dataout                 : OUT std_logic_vector(dataa_width + datab_width - 1 DOWNTO 0);
1034
         scanouta                : OUT std_logic_vector(dataa_width - 1 DOWNTO 0);
1035
         devclrn                 : IN std_logic := '1';
1036
         devpor                  : IN std_logic := '1'
1037
        );
1038
END component;
1039
 
1040
--
1041
-- stratixiii_mac_out
1042
--
1043
 
1044
component stratixiii_mac_out
1045
  GENERIC (
1046
            operation_mode                 :  string := "output_only";
1047
            dataa_width                    :  integer := 1;
1048
            datab_width                    :  integer := 1;
1049
            datac_width                    :  integer := 1;
1050
            datad_width                    :  integer := 1;
1051
            chainin_width                  :  integer := 1;
1052
            round_width                    :  integer := 15;
1053
            round_chain_out_width          :  integer := 15;
1054
            saturate_width                 :  integer := 15;
1055
            saturate_chain_out_width       :  integer := 15;
1056
            first_adder0_clock             :  string := "none";
1057
            first_adder0_clear             :  string := "none";
1058
            first_adder1_clock             :  string := "none";
1059
            first_adder1_clear             :  string := "none";
1060
            second_adder_clock             :  string := "none";
1061
            second_adder_clear             :  string := "none";
1062
            output_clock                   :  string := "none";
1063
            output_clear                   :  string := "none";
1064
            signa_clock                    :  string := "none";
1065
            signa_clear                    :  string := "none";
1066
            signb_clock                    :  string := "none";
1067
            signb_clear                    :  string := "none";
1068
            round_clock                    :  string := "none";
1069
            round_clear                    :  string := "none";
1070
            roundchainout_clock            :  string := "none";
1071
            roundchainout_clear            :  string := "none";
1072
            saturate_clock                 :  string := "none";
1073
            saturate_clear                 :  string := "none";
1074
            saturatechainout_clock         :  string := "none";
1075
            saturatechainout_clear         :  string := "none";
1076
            zeroacc_clock                  :  string := "none";
1077
            zeroacc_clear                  :  string := "none";
1078
            zeroloopback_clock             :  string := "none";
1079
            zeroloopback_clear             :  string := "none";
1080
            rotate_clock                   :  string := "none";
1081
            rotate_clear                   :  string := "none";
1082
            shiftright_clock               :  string := "none";
1083
            shiftright_clear               :  string := "none";
1084
            signa_pipeline_clock           :  string := "none";
1085
            signa_pipeline_clear           :  string := "none";
1086
            signb_pipeline_clock           :  string := "none";
1087
            signb_pipeline_clear           :  string := "none";
1088
            round_pipeline_clock           :  string := "none";
1089
            round_pipeline_clear           :  string := "none";
1090
            roundchainout_pipeline_clock   :  string := "none";
1091
            roundchainout_pipeline_clear   :  string := "none";
1092
            saturate_pipeline_clock        :  string := "none";
1093
            saturate_pipeline_clear        :  string := "none";
1094
            saturatechainout_pipeline_clock:  string := "none";
1095
            saturatechainout_pipeline_clear:  string := "none";
1096
            zeroacc_pipeline_clock         :  string := "none";
1097
            zeroacc_pipeline_clear         :  string := "none";
1098
            zeroloopback_pipeline_clock    :  string := "none";
1099
            zeroloopback_pipeline_clear    :  string := "none";
1100
            rotate_pipeline_clock          :  string := "none";
1101
            rotate_pipeline_clear          :  string := "none";
1102
            shiftright_pipeline_clock      :  string := "none";
1103
            shiftright_pipeline_clear      :  string := "none";
1104
            roundchainout_output_clock     :  string := "none";
1105
            roundchainout_output_clear     :  string := "none";
1106
            saturatechainout_output_clock  :  string := "none";
1107
            saturatechainout_output_clear  :  string := "none";
1108
            zerochainout_output_clock      :  string := "none";
1109
            zerochainout_output_clear      :  string := "none";
1110
            zeroloopback_output_clock      :  string := "none";
1111
            zeroloopback_output_clear      :  string := "none";
1112
            rotate_output_clock            :  string := "none";
1113
            rotate_output_clear            :  string := "none";
1114
            shiftright_output_clock        :  string := "none";
1115
            shiftright_output_clear        :  string := "none";
1116
            first_adder0_mode              :  string := "add";
1117
            first_adder1_mode              :  string := "add";
1118
            acc_adder_operation            :  string := "add";
1119
            round_mode                     :  string := "nearest_integer";
1120
            round_chain_out_mode           :  string := "nearest_integer";
1121
            saturate_mode                  :  string := "asymmetric";
1122
            saturate_chain_out_mode        :  string := "asymmetric";
1123
            lpm_type                       :  string := "stratixiii_mac_out";
1124
            dataout_width                  :  integer:= 72
1125
           );
1126
    PORT (
1127
          dataa                   : IN std_logic_vector(dataa_width - 1 DOWNTO 0):= (others => '1');
1128
          datab                   : IN std_logic_vector(datab_width - 1 DOWNTO 0):= (others => '1');
1129
          datac                   : IN std_logic_vector(datac_width - 1 DOWNTO 0):= (others => '1');
1130
          datad                   : IN std_logic_vector(datad_width - 1 DOWNTO 0):= (others => '1');
1131
          signa                   : IN std_logic := '1';
1132
          signb                   : IN std_logic := '1';
1133
          chainin                 : IN std_logic_vector(chainin_width - 1 DOWNTO 0):= (others => '0');
1134
          round                   : IN std_logic := '0';
1135
          saturate                : IN std_logic := '0';
1136
          zeroacc                 : IN std_logic := '0';
1137
          roundchainout           : IN std_logic := '0';
1138
          saturatechainout        : IN std_logic := '0';
1139
          zerochainout            : IN std_logic := '0';
1140
          zeroloopback            : IN std_logic := '0';
1141
          rotate                  : IN std_logic := '0';
1142
          shiftright              : IN std_logic := '0';
1143
          clk                     : IN std_logic_vector(3 DOWNTO 0) := (others => '0');
1144
          ena                     : IN std_logic_vector(3 DOWNTO 0) := (others => '1');
1145
          aclr                    : IN std_logic_vector(3 DOWNTO 0) := (others => '0');
1146
          loopbackout             : OUT std_logic_vector(17 DOWNTO 0):= (others => '0');
1147
          dataout                 : OUT std_logic_vector(71 DOWNTO 0) := (others => '0');
1148
          overflow                : OUT std_logic := '0';
1149
          saturatechainoutoverflow: OUT std_logic := '0';
1150
          dftout                  : OUT std_logic := '0';
1151
          devpor                  : IN std_logic := '1';
1152
          devclrn                 : IN std_logic := '1'
1153
       );
1154
end component;
1155
 
1156
--
1157
-- STRATIXIII_IO_PAD
1158
--
1159
component stratixiii_io_pad
1160
 
1161
        generic (
1162
                lpm_type : STRING := "stratixiii_io_pad"
1163
                );
1164
        PORT (
1165
                padin : in std_logic := '1';
1166
                padout: out std_logic
1167
             );
1168
end component;
1169
--
1170
-- STRATIXIII_PLL
1171
--
1172
 
1173
COMPONENT stratixiii_pll
1174
    GENERIC (
1175
 
1176
        operation_mode              : string := "normal";
1177
        pll_type                    : string := "auto";  -- EGPP/FAST/AUTO
1178
        compensate_clock            : string := "clock0";
1179
 
1180
        inclk0_input_frequency      : integer := 0;
1181
        inclk1_input_frequency      : integer := 0;
1182
 
1183
        self_reset_on_loss_lock     : string  := "off";
1184
        switch_over_type            : string  := "auto";
1185
        switch_over_counter         : integer := 1;
1186
        enable_switch_over_counter  : string := "off";
1187
 
1188
         dpa_multiply_by : integer := 0;
1189
         dpa_divide_by   : integer := 0;
1190
         dpa_divider     : integer := 0;
1191
 
1192
        bandwidth                    : integer := 0;
1193
        bandwidth_type               : string  := "auto";
1194
        use_dc_coupling              : string  := "false";
1195
 
1196
 
1197
 
1198
        lock_c                      : integer := 4;
1199
        sim_gate_lock_device_behavior : string := "off";
1200
        lock_high                   : integer := 0;
1201
        lock_low                    : integer := 0;
1202
        lock_window_ui              : string := "0.05";
1203
        lock_window                 : time := 5 ps;
1204
        test_bypass_lock_detect     : string := "off";
1205
 
1206
 
1207
        clk0_output_frequency       : integer := 0;
1208
        clk0_multiply_by            : integer := 0;
1209
        clk0_divide_by              : integer := 0;
1210
        clk0_phase_shift            : string := "0";
1211
        clk0_duty_cycle             : integer := 50;
1212
 
1213
        clk1_output_frequency       : integer := 0;
1214
        clk1_multiply_by            : integer := 0;
1215
        clk1_divide_by              : integer := 0;
1216
        clk1_phase_shift            : string := "0";
1217
        clk1_duty_cycle             : integer := 50;
1218
 
1219
        clk2_output_frequency       : integer := 0;
1220
        clk2_multiply_by            : integer := 0;
1221
        clk2_divide_by              : integer := 0;
1222
        clk2_phase_shift            : string := "0";
1223
        clk2_duty_cycle             : integer := 50;
1224
 
1225
        clk3_output_frequency       : integer := 0;
1226
        clk3_multiply_by            : integer := 0;
1227
        clk3_divide_by              : integer := 0;
1228
        clk3_phase_shift            : string := "0";
1229
        clk3_duty_cycle             : integer := 50;
1230
 
1231
        clk4_output_frequency       : integer := 0;
1232
        clk4_multiply_by            : integer := 0;
1233
        clk4_divide_by              : integer := 0;
1234
        clk4_phase_shift            : string := "0";
1235
        clk4_duty_cycle             : integer := 50;
1236
 
1237
        clk5_output_frequency       : integer := 0;
1238
        clk5_multiply_by            : integer := 0;
1239
        clk5_divide_by              : integer := 0;
1240
        clk5_phase_shift            : string := "0";
1241
        clk5_duty_cycle             : integer := 50;
1242
 
1243
        clk6_output_frequency       : integer := 0;
1244
        clk6_multiply_by            : integer := 0;
1245
        clk6_divide_by              : integer := 0;
1246
        clk6_phase_shift            : string := "0";
1247
        clk6_duty_cycle             : integer := 50;
1248
 
1249
        clk7_output_frequency       : integer := 0;
1250
        clk7_multiply_by            : integer := 0;
1251
        clk7_divide_by              : integer := 0;
1252
        clk7_phase_shift            : string := "0";
1253
        clk7_duty_cycle             : integer := 50;
1254
 
1255
        clk8_output_frequency       : integer := 0;
1256
        clk8_multiply_by            : integer := 0;
1257
        clk8_divide_by              : integer := 0;
1258
        clk8_phase_shift            : string := "0";
1259
        clk8_duty_cycle             : integer := 50;
1260
 
1261
        clk9_output_frequency       : integer := 0;
1262
        clk9_multiply_by            : integer := 0;
1263
        clk9_divide_by              : integer := 0;
1264
        clk9_phase_shift            : string := "0";
1265
        clk9_duty_cycle             : integer := 50;
1266
 
1267
 
1268
        pfd_min                     : integer := 0;
1269
        pfd_max                     : integer := 0;
1270
        vco_min                     : integer := 0;
1271
        vco_max                     : integer := 0;
1272
        vco_center                  : integer := 0;
1273
 
1274
        -- ADVANCED USER PARAMETERS
1275
        m_initial                   : integer := 1;
1276
        m                           : integer := 0;
1277
        n                           : integer := 1;
1278
 
1279
        c0_high                     : integer := 1;
1280
        c0_low                      : integer := 1;
1281
        c0_initial                  : integer := 1;
1282
        c0_mode                     : string := "bypass";
1283
        c0_ph                       : integer := 0;
1284
 
1285
        c1_high                     : integer := 1;
1286
        c1_low                      : integer := 1;
1287
        c1_initial                  : integer := 1;
1288
        c1_mode                     : string := "bypass";
1289
        c1_ph                       : integer := 0;
1290
 
1291
        c2_high                     : integer := 1;
1292
        c2_low                      : integer := 1;
1293
        c2_initial                  : integer := 1;
1294
        c2_mode                     : string := "bypass";
1295
        c2_ph                       : integer := 0;
1296
 
1297
        c3_high                     : integer := 1;
1298
        c3_low                      : integer := 1;
1299
        c3_initial                  : integer := 1;
1300
        c3_mode                     : string := "bypass";
1301
        c3_ph                       : integer := 0;
1302
 
1303
        c4_high                     : integer := 1;
1304
        c4_low                      : integer := 1;
1305
        c4_initial                  : integer := 1;
1306
        c4_mode                     : string := "bypass";
1307
        c4_ph                       : integer := 0;
1308
 
1309
        c5_high                     : integer := 1;
1310
        c5_low                      : integer := 1;
1311
        c5_initial                  : integer := 1;
1312
        c5_mode                     : string := "bypass";
1313
        c5_ph                       : integer := 0;
1314
 
1315
        c6_high                     : integer := 1;
1316
        c6_low                      : integer := 1;
1317
        c6_initial                  : integer := 1;
1318
        c6_mode                     : string := "bypass";
1319
        c6_ph                       : integer := 0;
1320
 
1321
        c7_high                     : integer := 1;
1322
        c7_low                      : integer := 1;
1323
        c7_initial                  : integer := 1;
1324
        c7_mode                     : string := "bypass";
1325
        c7_ph                       : integer := 0;
1326
 
1327
        c8_high                     : integer := 1;
1328
        c8_low                      : integer := 1;
1329
        c8_initial                  : integer := 1;
1330
        c8_mode                     : string := "bypass";
1331
        c8_ph                       : integer := 0;
1332
 
1333
        c9_high                     : integer := 1;
1334
        c9_low                      : integer := 1;
1335
        c9_initial                  : integer := 1;
1336
        c9_mode                     : string := "bypass";
1337
        c9_ph                       : integer := 0;
1338
 
1339
        m_ph                        : integer := 0;
1340
 
1341
        clk0_counter                : string := "unused";
1342
        clk1_counter                : string := "unused";
1343
        clk2_counter                : string := "unused";
1344
        clk3_counter                : string := "unused";
1345
        clk4_counter                : string := "unused";
1346
        clk5_counter                : string := "unused";
1347
        clk6_counter                : string := "unused";
1348
        clk7_counter                : string := "unused";
1349
        clk8_counter                : string := "unused";
1350
        clk9_counter                : string := "unused";
1351
 
1352
        c1_use_casc_in              : string := "off";
1353
        c2_use_casc_in              : string := "off";
1354
        c3_use_casc_in              : string := "off";
1355
        c4_use_casc_in              : string := "off";
1356
         c5_use_casc_in              : string := "off";
1357
         c6_use_casc_in              : string := "off";
1358
         c7_use_casc_in              : string := "off";
1359
         c8_use_casc_in              : string := "off";
1360
         c9_use_casc_in              : string := "off";
1361
 
1362
        m_test_source               : integer := -1;
1363
        c0_test_source              : integer := -1;
1364
        c1_test_source              : integer := -1;
1365
        c2_test_source              : integer := -1;
1366
        c3_test_source              : integer := -1;
1367
        c4_test_source              : integer := -1;
1368
         c5_test_source              : integer := -1;
1369
         c6_test_source              : integer := -1;
1370
         c7_test_source              : integer := -1;
1371
         c8_test_source              : integer := -1;
1372
         c9_test_source              : integer := -1;
1373
 
1374
        vco_multiply_by             : integer := 0;
1375
        vco_divide_by               : integer := 0;
1376
        vco_post_scale              : integer := 1;
1377
        vco_frequency_control       : string  := "auto";
1378
        vco_phase_shift_step        : integer := 0;
1379
 
1380
        lpm_type                    : string := "stratixiii_pll";
1381
        charge_pump_current         : integer := 10;
1382
        loop_filter_r               : string := " 1.0";
1383
        loop_filter_c               : integer := 0;
1384
 
1385
 
1386
        pll_compensation_delay      : integer := 0;
1387
        simulation_type             : string := "functional";
1388
 
1389
        clk0_use_even_counter_mode  : string := "off";
1390
        clk1_use_even_counter_mode  : string := "off";
1391
        clk2_use_even_counter_mode  : string := "off";
1392
        clk3_use_even_counter_mode  : string := "off";
1393
        clk4_use_even_counter_mode  : string := "off";
1394
    clk5_use_even_counter_mode  : string := "off";
1395
        clk6_use_even_counter_mode  : string := "off";
1396
        clk7_use_even_counter_mode  : string := "off";
1397
        clk8_use_even_counter_mode  : string := "off";
1398
        clk9_use_even_counter_mode  : string := "off";
1399
 
1400
        clk0_use_even_counter_value : string := "off";
1401
        clk1_use_even_counter_value : string := "off";
1402
        clk2_use_even_counter_value : string := "off";
1403
        clk3_use_even_counter_value : string := "off";
1404
        clk4_use_even_counter_value : string := "off";
1405
        clk5_use_even_counter_value : string := "off";
1406
        clk6_use_even_counter_value : string := "off";
1407
        clk7_use_even_counter_value : string := "off";
1408
        clk8_use_even_counter_value : string := "off";
1409
        clk9_use_even_counter_value : string := "off";
1410
 
1411
-- Test only
1412
        init_block_reset_a_count    : integer := 1;
1413
        init_block_reset_b_count    : integer := 1;
1414
        charge_pump_current_bits : integer := 0;
1415
        lock_window_ui_bits : integer := 0;
1416
        loop_filter_c_bits : integer := 0;
1417
        loop_filter_r_bits : integer := 0;
1418
        test_counter_c0_delay_chain_bits : integer := 0;
1419
        test_counter_c1_delay_chain_bits : integer := 0;
1420
        test_counter_c2_delay_chain_bits : integer := 0;
1421
        test_counter_c3_delay_chain_bits : integer := 0;
1422
        test_counter_c4_delay_chain_bits : integer := 0;
1423
        test_counter_c5_delay_chain_bits : integer := 0;
1424
         test_counter_c6_delay_chain_bits : integer := 0;
1425
         test_counter_c7_delay_chain_bits : integer := 0;
1426
         test_counter_c8_delay_chain_bits : integer := 0;
1427
         test_counter_c9_delay_chain_bits : integer := 0;
1428
        test_counter_m_delay_chain_bits : integer := 0;
1429
        test_counter_n_delay_chain_bits : integer := 0;
1430
        test_feedback_comp_delay_chain_bits : integer := 0;
1431
        test_input_comp_delay_chain_bits : integer := 0;
1432
        test_volt_reg_output_mode_bits : integer := 0;
1433
        test_volt_reg_output_voltage_bits : integer := 0;
1434
        test_volt_reg_test_mode : string := "false";
1435
        vco_range_detector_high_bits : integer := -1;
1436
        vco_range_detector_low_bits : integer := -1;
1437
        scan_chain_mif_file : string := "";
1438
         dpa_output_clock_phase_shift : integer := 0;
1439
          test_counter_c3_sclk_delay_chain_bits   : integer := -1;
1440
         test_counter_c4_sclk_delay_chain_bits   : integer := -1;
1441
         test_counter_c5_lden_delay_chain_bits   : integer := -1;
1442
         test_counter_c6_lden_delay_chain_bits   : integer := -1;
1443
        -- VITAL generics
1444
        XOn                         : Boolean := DefGlitchXOn;
1445
        MsgOn                       : Boolean := DefGlitchMsgOn;
1446
        MsgOnChecks                 : Boolean := DefMsgOnChecks;
1447
        XOnChecks                   : Boolean := DefXOnChecks;
1448
        TimingChecksOn              : Boolean := true;
1449
        InstancePath                : STRING := "*";
1450
        tipd_inclk                  : VitalDelayArrayType01(1 downto 0) := (OTHERS => DefPropDelay01);
1451
        tipd_ena                    : VitalDelayType01 := DefPropDelay01;
1452
        tipd_pfdena                 : VitalDelayType01 := DefPropDelay01;
1453
        tipd_areset                 : VitalDelayType01 := DefPropDelay01;
1454
       tipd_fbin                   : VitalDelayType01 := DefPropDelay01;
1455
       tipd_scanclk                : VitalDelayType01 := DefPropDelay01;
1456
       tipd_scanclkena             : VitalDelayType01 := DefPropDelay01;
1457
       tipd_scandata               : VitalDelayType01 := DefPropDelay01;
1458
       tipd_configupdate           : VitalDelayType01 := DefPropDelay01;
1459
       tipd_clkswitch              : VitalDelayType01 := DefPropDelay01;
1460
       tipd_phaseupdown            : VitalDelayType01 := DefPropDelay01;
1461
       tipd_phasecounterselect     : VitalDelayArrayType01(3 DOWNTO 0) := (OTHERS => DefPropDelay01);
1462
       tipd_phasestep              : VitalDelayType01 := DefPropDelay01;
1463
       tsetup_scandata_scanclk_noedge_negedge : VitalDelayType := DefSetupHoldCnst;
1464
       thold_scandata_scanclk_noedge_negedge  : VitalDelayType := DefSetupHoldCnst;
1465
       tsetup_scanclkena_scanclk_noedge_negedge : VitalDelayType := DefSetupHoldCnst;
1466
       thold_scanclkena_scanclk_noedge_negedge  : VitalDelayType := DefSetupHoldCnst;
1467
        use_vco_bypass              : string := "false"
1468
            );
1469
 
1470
    PORT    (
1471
        inclk                       : in std_logic_vector(1 downto 0);
1472
        fbin                         : in std_logic := '0';
1473
        fbout                        : out std_logic;
1474
        clkswitch                   : in std_logic := '0';
1475
        areset                      : in std_logic := '0';
1476
        pfdena                      : in std_logic := '1';
1477
        scandata                    : in std_logic := '0';
1478
        scanclk                     : in std_logic := '0';
1479
        scanclkena                  : in std_logic := '1';
1480
        configupdate                : in std_logic := '0';
1481
        clk                         : out std_logic_vector(9 downto 0);
1482
        phasecounterselect          : in std_logic_vector(3 downto 0) := "0000";
1483
        phaseupdown                 : in std_logic := '0';
1484
        phasestep                   : in std_logic := '0';
1485
        clkbad                      : out std_logic_vector(1 downto 0);
1486
        activeclock                 : out std_logic;
1487
        locked                      : out std_logic;
1488
        scandataout                 : out std_logic;
1489
        scandone                    : out std_logic;
1490
        phasedone                   : out std_logic;
1491
        vcooverrange                : out std_logic;
1492
        vcounderrange               : out std_logic
1493
 
1494
            );
1495
END COMPONENT;
1496
--
1497
-- STRATIXIII_ASMIBLOCK
1498
--
1499
component  stratixiii_asmiblock
1500
    generic (
1501
        lpm_type : string := "stratixiii_asmiblock"
1502
        );
1503
    port (
1504
        dclkin : in std_logic := '0';
1505
        scein : in std_logic := '0';
1506
        sdoin : in std_logic := '0';
1507
        data0in : in std_logic := '0';
1508
        oe : in std_logic := '0';
1509
        dclkout : out std_logic;
1510
        sceout : out std_logic;
1511
        sdoout : out std_logic;
1512
        data0out: out std_logic
1513
        );
1514
 
1515
end component;
1516
 
1517
--
1518
-- stratixiii_lvds_receiver
1519
--
1520
 
1521
COMPONENT stratixiii_lvds_receiver
1522
    GENERIC ( channel_width                  :  integer := 10;
1523
              data_align_rollover            :  integer := 2;
1524
              enable_dpa                     :  string := "off";
1525
              lose_lock_on_one_change        :  string := "off";
1526
              reset_fifo_at_first_lock       :  string := "on";
1527
              align_to_rising_edge_only      :  string := "on";
1528
              use_serial_feedback_input      :  string := "off";
1529
              dpa_debug                      :  string := "off";
1530
              enable_soft_cdr                : string := "off";
1531
              dpa_output_clock_phase_shift   : INTEGER := 0;
1532
              enable_dpa_initial_phase_selection  : string := "off";
1533
              dpa_initial_phase_value    : INTEGER := 0;
1534
              enable_dpa_align_to_rising_edge_only   : string := "off";
1535
              net_ppm_variation     : INTEGER := 0;
1536
              is_negative_ppm_drift   : string := "off";
1537
              rx_input_path_delay_engineering_bits : INTEGER := -1;
1538
              x_on_bitslip                   :  string := "on";
1539
              lpm_type                       :  string := "stratixiii_lvds_receiver";
1540
              MsgOn                    : Boolean := DefGlitchMsgOn;
1541
              XOn                      : Boolean := DefGlitchXOn;
1542
              MsgOnChecks              : Boolean := DefMsgOnChecks;
1543
              XOnChecks                : Boolean := DefXOnChecks;
1544
              InstancePath             : String := "*";
1545
              tipd_clk0                : VitalDelayType01 := DefpropDelay01;
1546
              tipd_datain              : VitalDelayType01 := DefpropDelay01;
1547
              tipd_enable0             : VitalDelayType01 := DefpropDelay01;
1548
              tipd_dpareset            : VitalDelayType01 := DefpropDelay01;
1549
              tipd_dpahold             : VitalDelayType01 := DefpropDelay01;
1550
              tipd_dpaswitch           : VitalDelayType01 := DefpropDelay01;
1551
              tipd_fiforeset           : VitalDelayType01 := DefpropDelay01;
1552
              tipd_bitslip             : VitalDelayType01 := DefpropDelay01;
1553
              tipd_bitslipreset        : VitalDelayType01 := DefpropDelay01;
1554
              tipd_serialfbk           : VitalDelayType01 := DefpropDelay01;
1555
              tpd_clk0_dpalock_posedge : VitalDelayType01 := DefPropDelay01
1556
            );
1557
 
1558
    PORT    ( clk0                    : IN std_logic;
1559
              datain                  : IN std_logic := '0';
1560
              enable0                 : IN std_logic := '0';
1561
              dpareset                : IN std_logic := '0';
1562
              dpahold                 : IN std_logic := '0';
1563
              dpaswitch               : IN std_logic := '0';
1564
              fiforeset               : IN std_logic := '0';
1565
              bitslip                 : IN std_logic := '0';
1566
              bitslipreset            : IN std_logic := '0';
1567
              serialfbk               : IN std_logic := '0';
1568
              dataout                 : OUT std_logic_vector(channel_width - 1 DOWNTO 0);
1569
              dpalock                 : OUT std_logic;
1570
              bitslipmax              : OUT std_logic;
1571
              serialdataout           : OUT std_logic;
1572
              postdpaserialdataout    : OUT std_logic;
1573
              divfwdclk           : OUT std_logic;
1574
              dpaclkout               : OUT std_logic;
1575
              devclrn                 : IN std_logic := '1';
1576
              devpor                  : IN std_logic := '1'
1577
            );
1578
 
1579
END COMPONENT;
1580
--
1581
-- stratixiii_pseudo_diff_out
1582
--
1583
 
1584
COMPONENT stratixiii_pseudo_diff_out IS
1585
 GENERIC (
1586
          tipd_i          : VitalDelayType01 := DefPropDelay01;
1587
          tpd_i_o         : VitalDelayType01 := DefPropDelay01;
1588
          tpd_i_obar      : VitalDelayType01 := DefPropDelay01;
1589
          XOn             : Boolean := DefGlitchXOn;
1590
          MsgOn           : Boolean := DefGlitchMsgOn;
1591
          lpm_type        :  string := "stratixiii_pseudo_diff_out"
1592
         );
1593
 
1594
 PORT (
1595
        i                       : IN std_logic := '0';
1596
        o                       : OUT std_logic;
1597
        obar                    : OUT std_logic
1598
      );
1599
END COMPONENT;
1600
 
1601
--
1602
-- stratixiii_bias_block
1603
--
1604
 
1605
component stratixiii_bias_block
1606
    generic (
1607
        lpm_type : string := "stratixiii_bias_block"
1608
        );
1609
    port (
1610
        clk : in std_logic := '0';
1611
        shiftnld : in std_logic := '0';
1612
        captnupdt : in std_logic := '0';
1613
        din : in std_logic := '0';
1614
        dout : out std_logic := '0'
1615
        );
1616
 
1617
end component;
1618
--
1619
-- STRATIXIII_ASMIBLOCK
1620
--
1621
component  stratixiii_tsdblock
1622
    generic (
1623
        poi_cal_temperature : integer := 85;
1624
        clock_divider_enable : string := "on";
1625
        clock_divider_value : integer := 40;
1626
        sim_tsdcalo : integer := 0;
1627
        lpm_type : string := "stratixiii_tsdblock"
1628
        );
1629
    port (
1630
        offset : in std_logic_vector(5 downto 0);
1631
        clk : in std_logic;
1632
        ce : in std_logic;
1633
        clr : in std_logic;
1634
        tsdcalo : out std_logic_vector(7 downto 0);
1635
        tsdcaldone : out std_logic;
1636
        fdbkctrlfromcore : in std_logic := '0';
1637
        compouttest : in std_logic := '0';
1638
        tsdcompout : out std_logic;
1639
        offsetout : out std_logic_vector(5 downto 0)
1640
        );
1641
end component;
1642
 
1643
 
1644
--
1645
-- STRATIXIII_LCELL_COMB
1646
--
1647
 
1648
component stratixiii_lcell_comb
1649
    generic (
1650
             lut_mask : std_logic_vector(63 downto 0) := (OTHERS => '1');
1651
             shared_arith : string := "off";
1652
             extended_lut : string := "off";
1653
             dont_touch : string := "off";
1654
             lpm_type : string := "stratixiii_lcell_comb";
1655
             TimingChecksOn: Boolean := True;
1656
             MsgOn: Boolean := DefGlitchMsgOn;
1657
             XOn: Boolean := DefGlitchXOn;
1658
             MsgOnChecks: Boolean := DefMsgOnChecks;
1659
             XOnChecks: Boolean := DefXOnChecks;
1660
             InstancePath: STRING := "*";
1661
             tpd_dataa_combout : VitalDelayType01 := DefPropDelay01;
1662
             tpd_datab_combout : VitalDelayType01 := DefPropDelay01;
1663
             tpd_datac_combout : VitalDelayType01 := DefPropDelay01;
1664
             tpd_datad_combout : VitalDelayType01 := DefPropDelay01;
1665
             tpd_datae_combout : VitalDelayType01 := DefPropDelay01;
1666
             tpd_dataf_combout : VitalDelayType01 := DefPropDelay01;
1667
             tpd_datag_combout : VitalDelayType01 := DefPropDelay01;
1668
             tpd_dataa_sumout : VitalDelayType01 := DefPropDelay01;
1669
             tpd_datab_sumout : VitalDelayType01 := DefPropDelay01;
1670
             tpd_datac_sumout : VitalDelayType01 := DefPropDelay01;
1671
             tpd_datad_sumout : VitalDelayType01 := DefPropDelay01;
1672
             tpd_dataf_sumout : VitalDelayType01 := DefPropDelay01;
1673
             tpd_cin_sumout : VitalDelayType01 := DefPropDelay01;
1674
             tpd_sharein_sumout : VitalDelayType01 := DefPropDelay01;
1675
             tpd_dataa_cout : VitalDelayType01 := DefPropDelay01;
1676
             tpd_datab_cout : VitalDelayType01 := DefPropDelay01;
1677
             tpd_datac_cout : VitalDelayType01 := DefPropDelay01;
1678
             tpd_datad_cout : VitalDelayType01 := DefPropDelay01;
1679
             tpd_dataf_cout : VitalDelayType01 := DefPropDelay01;
1680
             tpd_cin_cout : VitalDelayType01 := DefPropDelay01;
1681
             tpd_sharein_cout : VitalDelayType01 := DefPropDelay01;
1682
             tpd_dataa_shareout : VitalDelayType01 := DefPropDelay01;
1683
             tpd_datab_shareout : VitalDelayType01 := DefPropDelay01;
1684
             tpd_datac_shareout : VitalDelayType01 := DefPropDelay01;
1685
             tpd_datad_shareout : VitalDelayType01 := DefPropDelay01;
1686
             tipd_dataa : VitalDelayType01 := DefPropDelay01;
1687
             tipd_datab : VitalDelayType01 := DefPropDelay01;
1688
             tipd_datac : VitalDelayType01 := DefPropDelay01;
1689
             tipd_datad : VitalDelayType01 := DefPropDelay01;
1690
             tipd_datae : VitalDelayType01 := DefPropDelay01;
1691
             tipd_dataf : VitalDelayType01 := DefPropDelay01;
1692
             tipd_datag : VitalDelayType01 := DefPropDelay01;
1693
             tipd_cin : VitalDelayType01 := DefPropDelay01;
1694
             tipd_sharein : VitalDelayType01 := DefPropDelay01
1695
            );
1696
 
1697
    port (
1698
          dataa : in std_logic := '0';
1699
          datab : in std_logic := '0';
1700
          datac : in std_logic := '0';
1701
          datad : in std_logic := '0';
1702
          datae : in std_logic := '0';
1703
          dataf : in std_logic := '0';
1704
          datag : in std_logic := '0';
1705
          cin : in std_logic := '0';
1706
          sharein : in std_logic := '0';
1707
          combout : out std_logic;
1708
          sumout : out std_logic;
1709
          cout : out std_logic;
1710
          shareout : out std_logic
1711
         );
1712
 
1713
end component;
1714
 
1715
--
1716
-- STRATIXIII_JTAG
1717
--
1718
 
1719
component  stratixiii_jtag
1720
    generic (
1721
            lpm_type    : string := "stratixiii_jtag"
1722
            );
1723
    port    (
1724
            tms : in std_logic := '0';
1725
            tck : in std_logic := '0';
1726
            tdi : in std_logic := '0';
1727
            ntrst : in std_logic := '0';
1728
            tdoutap : in std_logic := '0';
1729
            tdouser : in std_logic := '0';
1730
            tdo: out std_logic;
1731
            tmsutap: out std_logic;
1732
            tckutap: out std_logic;
1733
            tdiutap: out std_logic;
1734
            shiftuser: out std_logic;
1735
            clkdruser: out std_logic;
1736
            updateuser: out std_logic;
1737
            runidleuser: out std_logic;
1738
            usr1user: out std_logic
1739
            );
1740
end component;
1741
 
1742
--
1743
--
1744
--  STRATIXIII_CRCBLOCK 
1745
--
1746
--
1747
 
1748
component  stratixiii_crcblock
1749
    generic (
1750
            oscillator_divider : integer := 1;
1751
            lpm_type : string := "stratixiii_crcblock"
1752
            );
1753
        port    (
1754
            clk         : in std_logic := '0';
1755
            shiftnld    : in std_logic := '0';
1756
            crcerror    : out std_logic;
1757
            regout      : out std_logic
1758
            );
1759
end component;
1760
 
1761
--
1762
-- STRATIXIII_ROUTING_WIRE
1763
--
1764
 
1765
component stratixiii_routing_wire
1766
    generic (
1767
             MsgOn : Boolean := DefGlitchMsgOn;
1768
             XOn : Boolean := DefGlitchXOn;
1769
             tpd_datain_dataout : VitalDelayType01 := DefPropDelay01;
1770
             tpd_datainglitch_dataout : VitalDelayType01 := DefPropDelay01;
1771
             tipd_datain : VitalDelayType01 := DefPropDelay01
1772
            );
1773
    PORT (
1774
          datain : in std_logic;
1775
          dataout : out std_logic
1776
         );
1777
end component;
1778
 
1779
 
1780
--
1781
-- STRATIXIII_LVDS_TRANSMITTER
1782
--
1783
 
1784
COMPONENT stratixiii_lvds_transmitter
1785
    GENERIC ( channel_width                    : integer := 10;
1786
              bypass_serializer                : String  := "false";
1787
              invert_clock                     : String  := "false";
1788
              use_falling_clock_edge           : String  := "false";
1789
              use_serial_data_input            : String  := "false";
1790
              use_post_dpa_serial_data_input   : String  := "false";
1791
     is_used_as_outclk              : String  := "false";
1792
     tx_output_path_delay_engineering_bits : Integer  := -1;
1793
     enable_dpaclk_to_lvdsout    : string := "off";
1794
              preemphasis_setting              : integer := 0;
1795
              vod_setting                      : integer := 0;
1796
              differential_drive               : integer := 0;
1797
              lpm_type                         : String  := "stratixiii_lvds_transmitter";
1798
              TimingChecksOn                   : Boolean := True;
1799
              MsgOn                            : Boolean := DefGlitchMsgOn;
1800
              XOn                              : Boolean := DefGlitchXOn;
1801
              MsgOnChecks                      : Boolean := DefMsgOnChecks;
1802
              XOnChecks                        : Boolean := DefXOnChecks;
1803
              InstancePath                     : String  := "*";
1804
              tpd_clk0_dataout_posedge         : VitalDelayType01 := DefPropDelay01;
1805
              tpd_clk0_dataout_negedge         : VitalDelayType01 := DefPropDelay01;
1806
              tpd_serialdatain_dataout         : VitalDelayType01 := DefPropDelay01;
1807
              tpd_postdpaserialdatain_dataout  : VitalDelayType01 := DefPropDelay01;
1808
              tipd_clk0                        : VitalDelayType01 := DefpropDelay01;
1809
              tipd_enable0                     : VitalDelayType01 := DefpropDelay01;
1810
              tipd_datain                      : VitalDelayArrayType01(9 downto 0) := (OTHERS => DefpropDelay01);
1811
              tipd_serialdatain                : VitalDelayType01 := DefpropDelay01;
1812
              tipd_postdpaserialdatain         : VitalDelayType01 := DefpropDelay01
1813
             );
1814
 
1815
    PORT     ( clk0                     : in std_logic;
1816
               enable0                  : in std_logic := '0';
1817
               datain                   : in std_logic_vector(channel_width - 1 downto 0) := (OTHERS => '0');
1818
               serialdatain             : in std_logic := '0';
1819
               postdpaserialdatain      : in std_logic := '0';
1820
      dpaclkin                 : in std_logic := '0';
1821
               devclrn                  : in std_logic := '1';
1822
               devpor                   : in std_logic := '1';
1823
               dataout                  : out std_logic;
1824
               serialfdbkout            : out std_logic
1825
             );
1826
END COMPONENT;
1827
 
1828
--
1829
--
1830
--  STRATIXIII_RUBLOCK
1831
--
1832
--
1833
 
1834
component  stratixiii_rublock
1835
        generic
1836
        (
1837
                sim_init_config                 : string := "factory";
1838
                sim_init_watchdog_value : integer := 0;
1839
                sim_init_status                 : integer := 0;
1840
                lpm_type: string := "stratixiii_rublock"
1841
        );
1842
        port
1843
        (
1844
                clk             : in std_logic;
1845
                shiftnld        : in std_logic;
1846
                captnupdt       : in std_logic;
1847
                regin           : in std_logic;
1848
                rsttimer        : in std_logic;
1849
                rconfig         : in std_logic;
1850
                regout          : out std_logic
1851
        );
1852
end component;
1853
 
1854
--
1855
-- stratixiii_ram_block
1856
--
1857
 
1858
component stratixiii_ram_block
1859
  generic
1860
    (
1861
      operation_mode            : string := "single_port";
1862
      mixed_port_feed_through_mode : string := "dont_care";
1863
      ram_block_type            : string := "auto";
1864
      logical_ram_name          : string := "ram_name";
1865
      init_file                 : string := "init_file.hex";
1866
      init_file_layout          : string := "none";
1867
       enable_ecc               :  STRING := "false";
1868
      data_interleave_width_in_bits : integer := 1;
1869
      data_interleave_offset_in_bits : integer := 1;
1870
      port_a_logical_ram_depth  : integer := 0;
1871
      port_a_logical_ram_width  : integer := 0;
1872
      port_a_address_clear      : string := "none";
1873
      port_a_data_out_clock     : string := "none";
1874
      port_a_data_out_clear     : string := "none";
1875
      port_a_first_address      : integer := 0;
1876
      port_a_last_address       : integer := 0;
1877
      port_a_first_bit_number   : integer := 0;
1878
      port_a_data_width         : integer := 1;
1879
      port_a_data_in_clock      : string := "clock0";
1880
      port_a_address_clock      : string := "clock0";
1881
      port_a_write_enable_clock : string := "clock0";
1882
      port_a_read_enable_clock : string := "clock0";
1883
      port_a_byte_enable_clock  : string := "clock0";
1884
      port_b_logical_ram_depth  : integer := 0;
1885
      port_b_logical_ram_width  : integer := 0;
1886
      port_b_data_in_clock      : string := "clock1";
1887
      port_b_address_clock      : string := "clock1";
1888
      port_b_address_clear      : string := "none";
1889
      port_b_write_enable_clock: STRING := "clock1";
1890
      port_b_read_enable_clock: STRING := "clock1";
1891
      port_b_data_out_clock     : string := "none";
1892
      port_b_data_out_clear     : string := "none";
1893
      port_b_first_address      : integer := 0;
1894
      port_b_last_address       : integer := 0;
1895
      port_b_first_bit_number   : integer := 0;
1896
      port_b_data_width         : integer := 1;
1897
      port_b_byte_enable_clock  : string := "clock1";
1898
      port_a_address_width      : integer := 1;
1899
      port_b_address_width      : integer := 1;
1900
      port_a_byte_enable_mask_width : integer := 1;
1901
      port_b_byte_enable_mask_width : integer := 1;
1902
      power_up_uninitialized    : string := "false";
1903
      port_a_byte_size : integer := 0;
1904
      port_b_byte_size : integer := 0;
1905
      lpm_type                  : string := "stratixiii_ram_block";
1906
      lpm_hint                  : string := "true";
1907
      clk0_input_clock_enable  : STRING := "none"; -- ena0,ena2,none
1908
      clk0_core_clock_enable   : STRING := "none"; -- ena0,ena2,none
1909
      clk0_output_clock_enable : STRING := "none"; -- ena0,none
1910
      clk1_input_clock_enable  : STRING := "none"; -- ena1,ena3,none
1911
      clk1_core_clock_enable   : STRING := "none"; -- ena1,ena3,none
1912
      clk1_output_clock_enable : STRING := "none"; -- ena1,none
1913
      port_a_read_during_write_mode  :  STRING  := "new_data_no_nbe_read";
1914
      port_b_read_during_write_mode  :  STRING  := "new_data_no_nbe_read";
1915
        mem_init0 : BIT_VECTOR  := X"0";
1916
        mem_init1 : BIT_VECTOR  := X"0";
1917
        mem_init2 : BIT_VECTOR := X"0";
1918
        mem_init3 : BIT_VECTOR := X"0";
1919
        mem_init4 : BIT_VECTOR := X"0";
1920
         mem_init5 : BIT_VECTOR := X"0";
1921
         mem_init6 : BIT_VECTOR := X"0";
1922
         mem_init7 : BIT_VECTOR := X"0";
1923
         mem_init8 : BIT_VECTOR := X"0";
1924
         mem_init9 : BIT_VECTOR := X"0";
1925
         mem_init10 : BIT_VECTOR := X"0";
1926
         mem_init11 : BIT_VECTOR := X"0";
1927
         mem_init12 : BIT_VECTOR := X"0";
1928
         mem_init13 : BIT_VECTOR := X"0";
1929
         mem_init14 : BIT_VECTOR := X"0";
1930
         mem_init15 : BIT_VECTOR := X"0";
1931
         mem_init16 : BIT_VECTOR := X"0";
1932
         mem_init17 : BIT_VECTOR := X"0";
1933
         mem_init18 : BIT_VECTOR := X"0";
1934
         mem_init19 : BIT_VECTOR := X"0";
1935
         mem_init20 : BIT_VECTOR := X"0";
1936
         mem_init21 : BIT_VECTOR := X"0";
1937
         mem_init22 : BIT_VECTOR := X"0";
1938
         mem_init23 : BIT_VECTOR := X"0";
1939
         mem_init24 : BIT_VECTOR := X"0";
1940
         mem_init25 : BIT_VECTOR := X"0";
1941
         mem_init26 : BIT_VECTOR := X"0";
1942
         mem_init27 : BIT_VECTOR := X"0";
1943
         mem_init28 : BIT_VECTOR := X"0";
1944
         mem_init29 : BIT_VECTOR := X"0";
1945
         mem_init30 : BIT_VECTOR := X"0";
1946
         mem_init31 : BIT_VECTOR := X"0";
1947
         mem_init32 : BIT_VECTOR := X"0";
1948
         mem_init33 : BIT_VECTOR := X"0";
1949
         mem_init34 : BIT_VECTOR := X"0";
1950
         mem_init35 : BIT_VECTOR := X"0";
1951
         mem_init36 : BIT_VECTOR := X"0";
1952
         mem_init37 : BIT_VECTOR := X"0";
1953
         mem_init38 : BIT_VECTOR := X"0";
1954
         mem_init39 : BIT_VECTOR := X"0";
1955
         mem_init40 : BIT_VECTOR := X"0";
1956
         mem_init41 : BIT_VECTOR := X"0";
1957
         mem_init42 : BIT_VECTOR := X"0";
1958
         mem_init43 : BIT_VECTOR := X"0";
1959
         mem_init44 : BIT_VECTOR := X"0";
1960
         mem_init45 : BIT_VECTOR := X"0";
1961
         mem_init46 : BIT_VECTOR := X"0";
1962
         mem_init47 : BIT_VECTOR := X"0";
1963
         mem_init48 : BIT_VECTOR := X"0";
1964
         mem_init49 : BIT_VECTOR := X"0";
1965
         mem_init50 : BIT_VECTOR := X"0";
1966
         mem_init51 : BIT_VECTOR := X"0";
1967
         mem_init52 : BIT_VECTOR := X"0";
1968
         mem_init53 : BIT_VECTOR := X"0";
1969
         mem_init54 : BIT_VECTOR := X"0";
1970
         mem_init55 : BIT_VECTOR := X"0";
1971
         mem_init56 : BIT_VECTOR := X"0";
1972
         mem_init57 : BIT_VECTOR := X"0";
1973
         mem_init58 : BIT_VECTOR := X"0";
1974
         mem_init59 : BIT_VECTOR := X"0";
1975
         mem_init60 : BIT_VECTOR := X"0";
1976
         mem_init61 : BIT_VECTOR := X"0";
1977
         mem_init62 : BIT_VECTOR := X"0";
1978
         mem_init63 : BIT_VECTOR := X"0";
1979
         mem_init64 : BIT_VECTOR := X"0";
1980
         mem_init65 : BIT_VECTOR := X"0";
1981
         mem_init66 : BIT_VECTOR := X"0";
1982
         mem_init67 : BIT_VECTOR := X"0";
1983
         mem_init68 : BIT_VECTOR := X"0";
1984
         mem_init69 : BIT_VECTOR := X"0";
1985
         mem_init70 : BIT_VECTOR := X"0";
1986
         mem_init71 : BIT_VECTOR := X"0";
1987
        connectivity_checking     : string := "off"
1988
        );
1989
  port
1990
    (
1991
      portawe           : in std_logic := '0';
1992
      portare           : in std_logic := '1';
1993
      portabyteenamasks : in std_logic_vector (port_a_byte_enable_mask_width - 1 DOWNTO 0) := (others => '1');
1994
      portbbyteenamasks : in std_logic_vector (port_b_byte_enable_mask_width - 1 DOWNTO 0) := (others => '1');
1995
      portbre         : in std_logic := '1';
1996
      portbwe         : in std_logic := '0';
1997
      clr0              : in std_logic := '0';
1998
      clr1              : in std_logic := '0';
1999
      clk0              : in std_logic := '0';
2000
      clk1              : in std_logic := '0';
2001
      ena0              : in std_logic := '1';
2002
      ena1              : in std_logic := '1';
2003
      ena2              : in std_logic := '1';
2004
      ena3              : in std_logic := '1';
2005
      portadatain       : in std_logic_vector (port_a_data_width - 1 DOWNTO 0) := (others => '0');
2006
      portbdatain       : in std_logic_vector (port_b_data_width - 1 DOWNTO 0) := (others => '0');
2007
      portaaddr         : in std_logic_vector (port_a_address_width - 1 DOWNTO 0) := (others => '0');
2008
      portbaddr         : in std_logic_vector (port_b_address_width - 1 DOWNTO 0) := (others => '0');
2009
      portaaddrstall    : in std_logic := '0';
2010
      portbaddrstall    : in std_logic := '0';
2011
      devclrn           : in std_logic := '1';
2012
      devpor            : in std_logic := '1';
2013
       eccstatus : OUT STD_LOGIC_VECTOR(2 DOWNTO 0) := "000";
2014
       dftout : OUT STD_LOGIC_VECTOR(8 DOWNTO 0) := "000000000";
2015
      portadataout      : out std_logic_vector (port_a_data_width - 1 DOWNTO 0);
2016
      portbdataout      : out std_logic_vector (port_b_data_width - 1 DOWNTO 0)
2017
    );
2018
end component;
2019
 
2020
 
2021
end stratixiii_components;

powered by: WebSVN 2.1.0

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