|
Single end--->單端輸入(從P端輸入)9 P9 G4 ]$ O& J
Differential--->差動輸入(LVDS,,等)5 h, W, W B3 B% _) s, h
如果CLOCK頻率不是很高,可採單端輸入GCLK pin,再從內部去除出所要的CLOCK頻率.
5 d; |: w1 X# H$ M- K" [, ~' j1 R7 u2 A' Z% y o
若要用DCM,從Xilinx Architecture Wizard(在ISE Accessories--->Architecture Wizard)去自動產生所要的CLOCK頻率.Wizard 會產生 .vhd,.xaw,.ucf檔.把.xaw加入design.(利用ISE add source)以下是以單一個DCM instance作例子.$ B9 [3 o$ x* ^, z( p
; K: l: B0 D0 {. R4 a
EX: (輸入75MHz--->>輸出50MHz)3 T5 y; t' I5 I$ ?3 T# |4 R9 d8 g
entity ClockManageris
: U) ~2 l$ t, p; APort ( clk_50mhz : in std_logic;# k, ]( `5 G9 ^* o
clk_75mhz : out std_logic;
' |3 K! L* y% X+ m: kclk_75mhz_180 : out std_logic);
7 F- O/ b7 L0 g" b$ n* L% c# K) y, Hend ClockManager;% ?- U% h2 w$ P x: R* k
architecture Behavioral of ClockManageris
( N, C8 k9 Q2 |- o$ V5 g U4 ucomponent clkgen_75mhz
: U) h+ o) p2 ~4 zport ( CLKIN_IN : in std_logic;4 u. R: N+ T& U l
RST_IN : in std_logic;! k3 P. K; g% d, u' n$ G. `
CLKFX_OUT : out std_logic;( X$ \% X# ?; z+ o( x+ N, Y. K
CLKFX180_OUT : out std_logic;
4 b, X5 x8 M! u) h" Z0 o9 JCLKIN_IBUFG_OUT : out std_logic;
$ r) v% c' j% OLOCKED_OUT : out std_logic);
1 i; g4 @8 {* U+ A7 Cend component;! D. c$ i/ D' f' S l
begin
! P3 _; k5 h% q9 r- Cgen_75mhz: clkgen_75mhz6 {) c& y$ ~# g. i" V
port map( CLKIN_IN => clk_50mhz,
8 _; R. x. G* l; sRST_IN => '0',5 t/ V3 Z L4 ^8 O i
CLKFX_OUT => clk_75mhz,( L7 W$ K& O; Y7 q$ D/ t; ~
CLKFX180_OUT => clk_75mhz_180,/ O: W* O Q' I- n7 T1 v
CLKIN_IBUFG_OUT => open,! d, u( m2 d: I
LOCKED_OUT => open );
# L }$ k: m% Lend Behavioral; |
|