VITEX-CKDLL:如何在预综合功能仿真中仿真CKDVVLILL。-Xilinx-AMD社区-FPGA CPLD-ChipDebug

VITEX-CKDLL:如何在预综合功能仿真中仿真CKDVVLILL。

描述

关键词:ViTEX,CLKDV,CLKDVILILL,仿真,功能,综合,CLKDLL,DLL

紧迫性:标准

问题描述:必须在UCF文件中输入CKDVvLead属性。
如何在预综合功能仿真中仿真这种行为?

解决方案

注意:下面给出的HDL代码可能无法综合。用户
为了完成综合,需要适当地修改代码。

对于VHDL设计,有2种方法来仿真这种行为。

1。在VHDL代码中使用泛型语句。
下面是一个示例代码:

库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
库UNISIM;
使用UNISIM.VCISOTALS;

实体使用
端口(DIN,CLK):在STDYLogic中;
DOUT,锁定:输出STDYLogic;
结束使用;

USELK的体系结构

组件BUFG端口(I:在STDYLogic中;O:OUT STDYLogic);
端部元件;

组件CKDLL
泛型(CKDVv:Deal:Real);
端口(
CLKIN,CLKFB,RST:在STDYLogic中;
CKK0、CLK90、CLK180、CLK270、CLK2X、CLKDV、锁定:OUT STDYLogic;
端部元件;

信号CKLIN,CKKY-BUFG,CKKYDIV2,CKKY DIV2BUFG,LoCuM1,ReSET2,A,B,C,D,E,GD:STDYLogic;

开始

GD & lt;

U0:BUFG端口映射(I=& Gt;ClkIn It,O= & Gt;ClkU-Bufg);

U1: CLKDLL
通用映射
Clkdvl除数=& 2;

端口映射(端口映射)
Clk=
RST=& gd;
Clkfb=& Clku-Bufg,
Clk0= & ClkIn,
Clk90=&
Clk180= & gt;
Clk270=&
Clkdv=& ClkyDIV2;
Clk2x=& a;
锁定= & GT;锁1);
U2: BUFG端口映射(I=& Gt;ClkY-DIV2,O= & Gt;ClkY-DI22BUFG);
过程(CKKYDIV2BUFG)
开始
如果(CKKYDIV2BUFG’事件和CKKYDIV2BUFG=‘1’)
DUT和DIN;
如果结束;
结束过程;

结束语;

2。在TestBooad中使用配置语句。

这里有一个例子:

库IEEE;
使用IEEE.STDYLogiCy1164.ALL;

库UNISIM;
使用UNISIM.VCISOTALS;

CKKDLLSIB TB的配置CFGYCLKDLLSTB
结核病
对于UutuCLKDLLS:CLKDLL使用实体工作。
用于结构
对于所有:CKDLL使用实体UNISIM.CKDLL(CLKDLLYV)
通用映射(Duty-Cyclix校正=& gt;false,ClkdvvLead=& gt;1.5);
结束;
结束;
结束;
结束;
末端CFGL;

在哪儿:

CFGYCLKDLLS.TB:配置的名称
测试平台的实体
TB:测试平台的架构名称
UutuCLKDLL:测试平台中顶层设计的实例名称
CLKDLL:顶层设计的组件名称
结构:顶级RTL VHDL代码的体系结构名称。

对于Verilog设计,使用FabPARAM

下面是一个示例代码:

模块USECLK(DIN,CLK,DOUT,锁定);
输入DIN,CLK;输出DUT,锁定;Reg Dout;

CelkLuIn,CKKY-BUFG,CKKYDIV,CKKYDIVIOBUFG,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(CLKJIN),CLK90(B),.CLK180(C),.CLK27(D)),
CLKDV(CKKYDIV),CLK2X(E),锁定(锁定);
FdPARAM U1.CLDKvv1=1.5;

BUFG U2(.I(CKKY-DIV),O(CKKYDIVIOBUFG));

总是@ @(Press)
开始
DUT和DIN;
端点模块

请登录后发表评论

    没有回复内容