source: firmware/FAD/FACT_FAD_lib/hdl/clock_generator_var_ps_struct.vhd

Last change on this file was 11755, checked in by neise, 13 years ago
reinit of this svn repos .... it was all too messy deleted the old folders and restarted with FACT_FAD_lib only. (well and the testbenches)
File size: 5.7 KB
Line 
1-- VHDL Entity FACT_FAD_lib.clock_generator_var_ps.symbol
2--
3-- Created:
4-- by - dneise.UNKNOWN (E5B-LABOR6)
5-- at - 14:45:32 02.08.2011
6--
7-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
8--
9LIBRARY ieee;
10USE ieee.std_logic_1164.all;
11USE ieee.std_logic_arith.all;
12
13ENTITY clock_generator_var_ps IS
14 PORT(
15 CLK : IN std_logic;
16 RST_IN : IN std_logic;
17 direction : IN std_logic;
18 do_shift : IN std_logic;
19 CLK_25 : OUT std_logic;
20 CLK_25_PS : OUT std_logic;
21 CLK_50 : OUT std_logic;
22 locked_status_o : OUT std_logic;
23 offset : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0');
24 ready_status_o : OUT std_logic
25 );
26
27-- Declarations
28
29END clock_generator_var_ps ;
30
31--
32-- VHDL Architecture FACT_FAD_lib.clock_generator_var_ps.struct
33--
34-- Created:
35-- by - dneise.UNKNOWN (E5B-LABOR6)
36-- at - 14:45:32 02.08.2011
37--
38-- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
39--
40LIBRARY ieee;
41USE ieee.std_logic_1164.all;
42USE ieee.std_logic_arith.all;
43USE ieee.numeric_std.all;
44LIBRARY UNISIM;
45--USE UNISIM.Vcomponents.all;
46LIBRARY FACT_FAD_lib;
47USE FACT_FAD_lib.fad_definitions.all;
48
49LIBRARY FACT_FAD_lib;
50
51ARCHITECTURE struct OF clock_generator_var_ps IS
52
53 -- Architecture declarations
54
55 -- Internal signal declarations
56 SIGNAL CLK0_OUT : std_logic;
57 SIGNAL LOCKED_OUT : std_logic;
58 SIGNAL PSCLK_IN : std_logic;
59 SIGNAL PSDONE_OUT : std_logic;
60 SIGNAL PSEN_IN : std_logic;
61 SIGNAL PSINCDEC_IN : std_logic;
62 SIGNAL rst : std_logic := '0'; --asynch in of DCM
63
64 -- Implicit buffer signal declarations
65 SIGNAL CLK_25_internal : std_logic;
66
67
68 -- Component Declarations
69 COMPONENT dcm_50_to_25
70 PORT (
71 CLKIN_IN : IN std_logic;
72 CLK0_OUT : OUT std_logic;
73 CLKFX_OUT : OUT std_logic;
74 CLKIN_IBUFG_OUT : OUT std_logic
75 );
76 END COMPONENT;
77 COMPONENT dcm_ps_38ns
78 PORT (
79 CLKIN_IN : IN std_logic;
80 CLK0_OUT : OUT std_logic
81 );
82 END COMPONENT;
83 COMPONENT dcm_var_ps_38ns
84 PORT (
85 CLKIN_IN : IN std_logic;
86 PSCLK_IN : IN std_logic;
87 PSEN_IN : IN std_logic;
88 PSINCDEC_IN : IN std_logic;
89 RST_IN : IN std_logic;
90 CLK0_OUT : OUT std_logic;
91 LOCKED_OUT : OUT std_logic;
92 PSDONE_OUT : OUT std_logic
93 );
94 END COMPONENT;
95 COMPONENT phase_shifter
96 PORT (
97 CLK : IN std_logic ;
98 rst : OUT std_logic := '0'; --asynch in of DCM
99 -- interface to: clock_generator_variable_PS_struct.vhd
100 PSCLK : OUT std_logic ;
101 PSEN : OUT std_logic := '0';
102 PSINCDEC : OUT std_logic := '1'; -- default is 'incrementing'
103 PSDONE : IN std_logic ; -- will pulse once, if phase shifting was done.
104 LOCKED : IN std_logic ; -- when is this going high?
105 -- interface to: w5300_modul.vhd
106 shift_phase : IN std_logic ;
107 direction : IN std_logic ; -- corresponds TO 'PSINCDEC'
108 reset_DCM : IN std_logic ; -- asynch in: orders us, TO reset the DCM
109 -- status:
110 shifting : OUT std_logic := '0';
111 ready : OUT std_logic := '0';
112 locked_status_o : OUT std_logic ;
113 ready_status_o : OUT std_logic ;
114 offset : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0')
115 );
116 END COMPONENT;
117
118 -- Optional embedded configurations
119 -- pragma synthesis_off
120 FOR ALL : dcm_50_to_25 USE ENTITY FACT_FAD_lib.dcm_50_to_25;
121 FOR ALL : dcm_ps_38ns USE ENTITY FACT_FAD_lib.dcm_ps_38ns;
122 FOR ALL : dcm_var_ps_38ns USE ENTITY FACT_FAD_lib.dcm_var_ps_38ns;
123 FOR ALL : phase_shifter USE ENTITY FACT_FAD_lib.phase_shifter;
124 -- pragma synthesis_on
125
126
127BEGIN
128
129 -- Instance port mappings.
130 dcm_50_t0_25_inst : dcm_50_to_25
131 PORT MAP (
132 CLKIN_IN => CLK,
133 CLKFX_OUT => CLK_25_internal,
134 CLKIN_IBUFG_OUT => OPEN,
135 CLK0_OUT => CLK_50
136 );
137 dcm_25MHz_38ns_const_ps_inst : dcm_ps_38ns
138 PORT MAP (
139 CLKIN_IN => CLK_25_internal,
140 CLK0_OUT => CLK0_OUT
141 );
142 dcm_var_ps_inst : dcm_var_ps_38ns
143 PORT MAP (
144 CLKIN_IN => CLK0_OUT,
145 PSCLK_IN => PSCLK_IN,
146 PSEN_IN => PSEN_IN,
147 PSINCDEC_IN => PSINCDEC_IN,
148 RST_IN => rst,
149 CLK0_OUT => CLK_25_PS,
150 LOCKED_OUT => LOCKED_OUT,
151 PSDONE_OUT => PSDONE_OUT
152 );
153 ps_controller_inst : phase_shifter
154 PORT MAP (
155 CLK => CLK0_OUT,
156 rst => rst,
157 PSCLK => PSCLK_IN,
158 PSEN => PSEN_IN,
159 PSINCDEC => PSINCDEC_IN,
160 PSDONE => PSDONE_OUT,
161 LOCKED => LOCKED_OUT,
162 shift_phase => do_shift,
163 direction => direction,
164 reset_DCM => RST_IN,
165 shifting => OPEN,
166 ready => OPEN,
167 locked_status_o => locked_status_o,
168 ready_status_o => ready_status_o,
169 offset => offset
170 );
171
172 -- Implicit buffered output assignments
173 CLK_25 <= CLK_25_internal;
174
175END struct;
Note: See TracBrowser for help on using the repository browser.