XVHDL基础:使用TimeScript

描述

关键词:TIMESPEC、TNM、UCF、CST、元模型

版本:F6.,F1.3/F1.4

紧迫性:标准

一般描述:

XACTSTEP和M1实现软件允许用户对各种不同的时间设置要求。
设计中的路径。通过将TNM属性附加到
设计中的实例,然后设置点到点
定时,关键时间路径可以被控制。这个
利用基础VHDL设计使用TimeSub的过程
如下:

1。将“TNM”属性附加到焊盘、触发器、RAM、锁存器上
在VHDL代码中。
2。写一个约束文件(.ft为f6. x,.uf为f1.x)
包含TimeSimes。将读取此约束文件。
在设计过程中进入设计管理器。

有关使用TimeSimes和时序驱动的更多信息,请参阅Xilinx开发系统参考指南
实施。

**注意此解决方案适用于Meta Maxor XVHDL编译器。
只有。如果使用Express HDL编译器,你就有能力
使用Express约束GUI设置时间组和
TimeSimes。

解决方案

示例:在实例化实例上设置TNMS
----------------------------------------------
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;

实体dpyRAM是
端口(WR,数据,CLK,RST):在STDYLogic中;
ADDDR0、ADDR1、ADDR2、ADDR3:在STDYLogic中;
dPAR0、DPAL1、DPAL2、DPAR3:在STDYLogic中;
DPOUT,SPUT,DOUT:输出STDYLogic);
结束DPRAM;

DPYRAM的体系结构研究
组件RAM16X1D
端口(D,我们,WCK,A3,A2,A1,A0,
dPAR3、dPRA2、DPAL1、dPAR0: STDHyLogic;
SPO,DPO:输出STDYLogic;
端部元件;
属性TNM:字符串;
U1的属性TNM:标签为“RAMTNM”;
开始
U1:RAM16X1D
端口映射(端口映射)
d=& gt;数据,我们=& gt;Wr,WCLK=& gt;
A3=和gt;ADDR3,A2= & gt;ADDR2,A1= & Gt;ADDR1,A0=和G.ADDR0;
dPAP3=gt;dPARP2=gt;dPARP2,dPAR1==GDPAR1;
dPa0=& gt;dPaP0,spo=& gt;喷口,dPO=& gt;dpOUT);
结束研究;

在VHDL代码中附加TNM属性
------------------------------

a)推断成分

将TNM属性附加到推断的PAD、触发器或
锁存器,使用以下语法:

属性TNM:字符串;
信号tNM和信号;

其中信号Load No.Gt是触发器的Q输出。
锁存器,或所需焊盘的端口名称,以及
要分配给的TNM标识符名称
实例。

如果一个信号被声明为顶层实体输出或输出
端口,也是触发器或锁存器的输出,TNM。
附加到该信号的属性将被放置到
OPAD,而不是触发器。为了附加一个TNM
属性到触发器在这种情况下,虚拟信号必须
被创造。

请参阅题为“实例:推断TNMS”的决议
实例,例如VHDL代码。


B)实例化组件

将TNM属性附加到实例化触发器RAM
或闩锁,使用以下语法:

属性TNM:字符串;
属性tnm和lt;StassNoNo.gt;:标签是“lt;TNMyId & gt;

其中,ListIsNoNo.Gt是分配给
VHDL代码中实例化的组件,以及
要分配给实例的TNM标识器名称。

见决议题为“例子:把TNMs
实例化实例(例如VHDL代码)。


用TimeScript编写约束文件
------------------------------

在VHDL中将TNMS附加到所需实例之后
文件时,必须编写约束文件(lt;
F6. X或-lt;项目名称No.G.U.F.F.X),将由
Xilinx设计管理器在执行过程中。

下面是一个示例约束文件。此约束文件
假设TNMS InPad、FLopPX、FLopy、FopOpand和
已经定义了OutPad。

与基础6 x xα的CST文件
TimeSim= =“TS01=从:InPad:到:Fopopxx=20Ns”;
TimeSim= =“TS02=从:Fopopxx:到:Fopopyy=8Ns”;
TimeSim= =“TS03=:FopOOT: to:OutPAD=8NS”;
TimeSim= =“TS04=:Fopopyy::FopOp= 10ns”;

与基础F1 X x使用的U.S.UCF文件
TimeSP.TS01=::
TimeSP.TS02=从:Fopopxx到:Fopopyy:8Ns;
TimeSP.TS03=:FopOUT:到:OutPAD:8NS;
TimeSP.TS04=:Fopopy::

示例:在推断实例上放置TNMS
----------------------------------------
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;

实体触发器是
端口(DI1,CLK,复位:在STDYLogic中;
DOUT1:输出STDYLogic;
结束触发器;

触发器的体系结构使用规范
信号X:STDYLogic;内部触发器
信号Y:STDYLogic;

信号哑:STDYLogic;这让我们放置一个TNM。
——触发器和
输出焊盘DOUT1。
属性TNM:字符串;
DOT1的属性TNM:信号是“OutPAD”;
DIN1的属性TNM:信号是“InPAD”;
X的属性TNM是“FLopPX”;
Y的属性tNm:信号是“Fopopy”;
虚拟人的属性TNM:信号是“FLAPOUT”;
开始
进程(CLK,复位)
开始
如果重置=“1”,那么
x& lt;=“0”;
y=0;
哑& lt;=‘0’;
然后ELSIF(CLK'事件和CLK = '1))
x=1;
y=x;
哑& lt;=y;
如果结束;
结束过程;

DUT1<=哑;-将最后一个FF的输出传递给
--OPAD。这个伪信号被创建为
--允许我们在最后一个回合中放置一个TNM
-它的输出也是顶级的
——PAD。
最终用途;
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-29 14:00:14 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它