描述
这些应答记录描述了如何在VLTEX设计中使用CLKDLL。
解决方案
CLKDLL Verilog示例(此示例使用CLK2X输出):
模块USECLK(DIN,CLK,DOUT,锁定);
输入DIN,CLK;
输出输出,锁定;
Reg Dout;
线CKLIN,CKKY-BUFG,A,B,C,D,E,F,GD;
分配GD=1’B0;
BUFG U0(.I(CLKIN It),O(CKKY-BUFG));
CLKDLL U1(CLKIN(CLK),RST(GD),CLKFB(CLKY-BUFG),CLK0(a),.CLK90(b),CLK180(C))
CLK270(D),CLKDV(E),CLK2X(CKKY-IN),锁定(锁定)
总是@(PASEDGE CKYBUFG)
开始
DUT和DIN;
结束语
终端模块
CLKDLL VHDL示例(本示例使用CLK2X输出):
库IEEE;
使用IEEEStdLogLogIC1164。
实体USECLK是
端口(DIN,CLK):在STDYLogic中;
DUT,锁定:输出STDYLogic);
结束使用;
USELK的体系结构
组件BUFG端口(I:在STDYLogic中;O:OUT STDYLogic);
端元
组件CKDLL端口
CLKIN,CLKFB,RST:在STDYLogic中;
CKK0、CLK90、CLK180、CLK270、CLK2X、CLKDV、锁定:OUT STDYLogic;
端元
信号CKLIN,CKKY-BUFG,A,B,C,D,E,GD:STDYLogic;
开始
Gd & lt;=’0’;
U0:BUFG端口映射(I=& Gt;ClkIn It,O= & Gt;ClkU-Bufg);
UK1:CKDLL端口映射
Clk= & gt;
RST=& gd;
Clkfb=&;
Clk0= & gt;
Clk90= & gt;
Clk180= & gt;
Clk270=gt;d
Clkdv= & gt;
Clk2x= & gt;
锁定= & gt;锁定);
过程(CKLY-BUFG)
开始
如果(CkkU-Bufg’事件和CkkuBufg=‘1’),则
DUT和DIN;
结束如果;
结束过程;
结束语;
必须在HDL代码中实例化CLKDLL。目前还没有可以推断出它们的综合工具。当使用BUFGDLL组件时,分辨率1和2说明最简单的CKDLL使用。然而,BUFGDLL允许用户只访问CLK0输出引脚。如果需要使用任何其他的CKDLL输出引脚,则必须实例化CLKDLL组件。请参阅第3和4号决议。γ
BuffgDLL Verilog实例:
模块USECLK(DIN,CLK,DOUT);
输入DIN,CLK;
输出输出;
Reg Dout;
BUFGDLL U0(.I(CLK),O(CLKJIN));
总是@(PASEDGE CKLIN)
开始DoT & lt;= din;
端点模块
BUFGDLL VHDL实例:
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
实体USECLK是
端口(DIN,CLK):在STDYLogic中;
DOUT:输出STDYLogic);
结束使用;
USELK的体系结构
组件BUFGDLL端口(I:在STDYLogic中;O:OUT STDYLogic);
端元
信号CKLIN:STDYLogic;
开始
U0:BUFGDLL端口映射(i=& gt;CLK,O= & Gt;CLKJIN);
过程(CKKIN)
开始
如果(CkkItIn事件和CkkIn=‘1’),则
DUT和DIN;
结束如果;
结束过程;
结束语;
没有回复内容