1 | -- VHDL Entity FACT_FAD_TB_lib.phase_shifter_tb.symbol
|
---|
2 | --
|
---|
3 | -- Created:
|
---|
4 | -- by - dneise.UNKNOWN (E5B-LABOR6)
|
---|
5 | -- at - 13:16:36 14.02.2011
|
---|
6 | --
|
---|
7 | -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
|
---|
8 | --
|
---|
9 |
|
---|
10 |
|
---|
11 | ENTITY phase_shifter_tb IS
|
---|
12 | -- Declarations
|
---|
13 |
|
---|
14 | END phase_shifter_tb ;
|
---|
15 |
|
---|
16 | --
|
---|
17 | -- VHDL Architecture FACT_FAD_TB_lib.phase_shifter_tb.struct
|
---|
18 | --
|
---|
19 | -- Created:
|
---|
20 | -- by - dneise.UNKNOWN (E5B-LABOR6)
|
---|
21 | -- at - 13:16:36 14.02.2011
|
---|
22 | --
|
---|
23 | -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10)
|
---|
24 | --
|
---|
25 | LIBRARY ieee;
|
---|
26 | USE ieee.std_logic_1164.ALL;
|
---|
27 | USE IEEE.NUMERIC_STD.ALL;
|
---|
28 | LIBRARY FACT_FAD_lib;
|
---|
29 | USE FACT_FAD_lib.fad_definitions.ALL;
|
---|
30 | USE ieee.std_logic_unsigned.all;
|
---|
31 | USE ieee.std_logic_arith.all;
|
---|
32 |
|
---|
33 | LIBRARY FACT_FAD_lib;
|
---|
34 | LIBRARY FACT_FAD_TB_lib;
|
---|
35 |
|
---|
36 | ARCHITECTURE struct OF phase_shifter_tb IS
|
---|
37 |
|
---|
38 | -- Architecture declarations
|
---|
39 |
|
---|
40 | -- Internal signal declarations
|
---|
41 | SIGNAL LOCKED : std_logic;
|
---|
42 | SIGNAL PSCLK : std_logic;
|
---|
43 | SIGNAL PSDONE : std_logic;
|
---|
44 | SIGNAL PSEN : std_logic;
|
---|
45 | SIGNAL PSINCDEC : std_logic;
|
---|
46 | SIGNAL clk : std_logic;
|
---|
47 | SIGNAL direction : std_logic;
|
---|
48 | SIGNAL offset : std_logic_vector(7 DOWNTO 0);
|
---|
49 | SIGNAL ready : std_logic;
|
---|
50 | SIGNAL reset_DCM : std_logic;
|
---|
51 | SIGNAL rst : std_logic;
|
---|
52 | SIGNAL shift_phase : std_logic;
|
---|
53 | SIGNAL shifting : std_logic;
|
---|
54 |
|
---|
55 |
|
---|
56 | -- Component Declarations
|
---|
57 | COMPONENT phase_shifter
|
---|
58 | PORT (
|
---|
59 | CLK : IN std_logic ;
|
---|
60 | rst : OUT std_logic := '0'; --asynch in of DCM
|
---|
61 | -- interface to: clock_generator_variable_PS_struct.vhd
|
---|
62 | PSCLK : OUT std_logic ;
|
---|
63 | PSEN : OUT std_logic := '0';
|
---|
64 | PSINCDEC : OUT std_logic := '1'; -- default is 'incrementing'
|
---|
65 | PSDONE : IN std_logic ; -- will pulse once, if phase shifting was done.
|
---|
66 | LOCKED : IN std_logic ; -- when is this going high?
|
---|
67 | -- interface to: w5300_modul.vhd
|
---|
68 | shift_phase : IN std_logic ;
|
---|
69 | direction : IN std_logic ; -- corresponds TO 'PSINCDEC'
|
---|
70 | reset_DCM : IN std_logic ; -- asynch in: orders us, TO reset the DCM
|
---|
71 | -- status:
|
---|
72 | shifting : OUT std_logic := '0';
|
---|
73 | ready : OUT std_logic := '0';
|
---|
74 | offset : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0')
|
---|
75 | );
|
---|
76 | END COMPONENT;
|
---|
77 | COMPONENT clock_generator
|
---|
78 | GENERIC (
|
---|
79 | clock_period : time := 20 ns;
|
---|
80 | reset_time : time := 50 ns
|
---|
81 | );
|
---|
82 | PORT (
|
---|
83 | clk : OUT std_logic := '0';
|
---|
84 | rst : OUT std_logic := '0'
|
---|
85 | );
|
---|
86 | END COMPONENT;
|
---|
87 | COMPONENT phase_shifter_tester
|
---|
88 | PORT (
|
---|
89 | clk : IN std_logic ;
|
---|
90 | PSCLK : IN std_logic ;
|
---|
91 | PSEN : IN std_logic ;
|
---|
92 | PSINCDEC : IN std_logic ;
|
---|
93 | offset : IN std_logic_vector (7 DOWNTO 0);
|
---|
94 | ready : IN std_logic ;
|
---|
95 | rst : IN std_logic ;
|
---|
96 | shifting : IN std_logic ;
|
---|
97 | LOCKED : OUT std_logic ;
|
---|
98 | PSDONE : OUT std_logic ;
|
---|
99 | direction : OUT std_logic ;
|
---|
100 | reset_DCM : OUT std_logic ;
|
---|
101 | shift_phase : OUT std_logic
|
---|
102 | );
|
---|
103 | END COMPONENT;
|
---|
104 |
|
---|
105 | -- Optional embedded configurations
|
---|
106 | -- pragma synthesis_off
|
---|
107 | FOR ALL : clock_generator USE ENTITY FACT_FAD_TB_lib.clock_generator;
|
---|
108 | FOR ALL : phase_shifter USE ENTITY FACT_FAD_lib.phase_shifter;
|
---|
109 | FOR ALL : phase_shifter_tester USE ENTITY FACT_FAD_TB_lib.phase_shifter_tester;
|
---|
110 | -- pragma synthesis_on
|
---|
111 |
|
---|
112 |
|
---|
113 | BEGIN
|
---|
114 |
|
---|
115 | -- Instance port mappings.
|
---|
116 | U_0 : phase_shifter
|
---|
117 | PORT MAP (
|
---|
118 | CLK => clk,
|
---|
119 | rst => rst,
|
---|
120 | PSCLK => PSCLK,
|
---|
121 | PSEN => PSEN,
|
---|
122 | PSINCDEC => PSINCDEC,
|
---|
123 | PSDONE => PSDONE,
|
---|
124 | LOCKED => LOCKED,
|
---|
125 | shift_phase => shift_phase,
|
---|
126 | direction => direction,
|
---|
127 | reset_DCM => reset_DCM,
|
---|
128 | shifting => shifting,
|
---|
129 | ready => ready,
|
---|
130 | offset => offset
|
---|
131 | );
|
---|
132 | U_2 : clock_generator
|
---|
133 | GENERIC MAP (
|
---|
134 | clock_period => 20 ns,
|
---|
135 | reset_time => 50 ns
|
---|
136 | )
|
---|
137 | PORT MAP (
|
---|
138 | clk => clk,
|
---|
139 | rst => OPEN
|
---|
140 | );
|
---|
141 | U_1 : phase_shifter_tester
|
---|
142 | PORT MAP (
|
---|
143 | clk => clk,
|
---|
144 | PSCLK => PSCLK,
|
---|
145 | PSEN => PSEN,
|
---|
146 | PSINCDEC => PSINCDEC,
|
---|
147 | offset => offset,
|
---|
148 | ready => ready,
|
---|
149 | rst => rst,
|
---|
150 | shifting => shifting,
|
---|
151 | LOCKED => LOCKED,
|
---|
152 | PSDONE => PSDONE,
|
---|
153 | direction => direction,
|
---|
154 | reset_DCM => reset_DCM,
|
---|
155 | shift_phase => shift_phase
|
---|
156 | );
|
---|
157 |
|
---|
158 | END struct;
|
---|