描述
一般描述:
在M1.4版本中,将一个称为ROC(重置在配置上)的组件引入VHDL仿真中。当外部全局复位引脚不存在时,该组件允许在功率上重新设置器件的行为的功能和时序仿真。ROC将从仿真的时间0应用单脉冲重置脉冲到仿真之后的指定时间,仿真FPGA /CPLD的配置的上电复位序列。
这个应答记录描述了如何使用VHDL仿真来使用ROC,尽管它不会引用任何特定的仿真器。
注意:ROC组件将被Xilinx工具删除,当综合设计通过执行运行时。
解决方案
要在VHDL代码中使用ROC,需要将组件实例化到设计中,并连接到设计中每个推断或实例化寄存器或锁存器的异步预置或重置。
根据以下示例实例化ROC:
建筑学的Xilinx例子
信号GULALL复位:STDYLogic;
组件ROC端口(O:OUT STDYLogic);
开始
ReCETHONION CONFIG: ROC端口映射(O= & Gt;GualalLyRead);
末端Xilinx;
在上述实例化实例中,GULALLULREST信号应该连接到具有高极性的所有推断和实例化寄存器。例如,计数器可以被编码如下:
CONTRO4:进程(GULALLYRADE,时钟,负载,CE)
开始
如果(GualAlxRead=“1”)
QUT & lt=“0000”;
然后ELSIF(CE=‘1’)
如果(时钟)事件和时钟=“1”)
如果(负载=1)
数据;
否则QUT & lt=qOUT+1;
如果结束;
如果结束;
如果结束;
结束过程计数4;
应用单脉冲的值或周期可以由用户从设计的测试台中的VHDL配置语句指定。如果您使用的是版本1.5或更高版本的Xilinx软件,ROC的默认期限是100NS。如果使用Xilinx FTP站点的NGD2VHDL的1.4补丁版本,则必须使用-RPW交换机从命令行指定周期。(NGD2VHDL的1.4版本没有默认值,必须具有初始化ROC组件的配置。)
为了指定/重写ROC值,可以将以下配置添加到测试平台文件中进行设计:
—————————————-
使用此配置进行RTL仿真
—————————————-
TrimeTimePosiTyTyNo.G.IS的配置RTLL仿真
对于& TestBoosiFraseTrimeNo.gt;
为&设计;
设计和设计;
RoClStIsAsNo.No.gt;:ROC使用实体UNISIM.ROC(ROCYV)
通用映射(宽度=& & lt;周期& gt;ns);
结束;
结束;
结束;
结束;
结束RTL仿真;
——————————————
使用此配置进行后M1仿真
——————————————
–TestBooTimeTyTyTyNo.G.IS的配置PASTM1M1仿真
—TestBuffelStudioNo.No.gt;
-为&设计;
–结构
-对于ROCKNGD2VHDL:ROC使用实体工作。ROC(ROCYV)
-通用映射(宽度=& & lt;周期& gt;ns);
结束;
结束;
结束;
结束;
-结束后的My1x仿真;
以上所有项目均应以测试台/设计的名称和期间的期望值归档。
在分辨率2和3中包括示例测试台和VHDL设计文件。
——————————————–
试验台
Testbench文件用于测试ROKY示例
使用ROC缓冲区的示例代码
——————————————–
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
使用STD.TEXTIOL;
实体测试平台
终端测试台;
测试平台的体系结构教程
——设计顶层的组件声明
构件实例
端口(加载:在STDYLogic中;
时钟:在STDYLogic中;
CE:在STDYLogic中;
数据:在StdLogLogic向量(3下降到0);
输出:StdLogLogic向量(3下降到0);
端部元件;
-用于将设计端口连接到测试台的信号
信号加载信号:STDYLogic;
信号时钟信号:STDYLogic;
信号CEI信号:STDYLogic;
信号数据信号:STdLogLogic矢量(3下降到0);
信号CUTHOLY信号:STDYLogic矢量(3下降到0);
开始
——设计的实例化
UUT:RooCl示例端口映射(Load=gt;
时钟=gt;时钟信号;
CE=
数据=&,数据信号,
CUT=GT信号;
–启动仿真
刺激:过程
开始
–初始化所有输入端口
加载信号& lt;=‘0’;
时钟信号& lt;=‘0’;
CEI信号& lt;=“0”;
数据信号=“0000”;
-等到全局重置完成
等待200纳秒;
——应用设计刺激
CEI信号& lt;=“1”;
回路
等待25纳秒;
时钟信号& lt;=不(时钟信号);
结束环;
-过程结束!
结束过程刺激;
结束教程;
——使用此配置进行RTL仿真
测试平台的配置RTL仿真
教程
对于UUT:摇滚例子
希林克斯
ReStIONONYCONFIG:ROC使用实体UNISIM.ROC(ROCYV)
通用映射(宽度=200 ns);
结束;
结束;
结束;
结束;
结束RTL仿真;
–使用此配置进行后M1仿真
——测试平台的配置POST仿真
–教程
——为UUT:摇滚例子
–结构
-对于ROCKNGD2VHDL:ROC使用实体工作。ROC(ROCYV)
-通用映射(宽度=>200 ns);
结束;
结束;
结束;
结束;
-结束后的My1x仿真;
————————————————–
——ROKY示例VHD版本1.1
使用ROC模型重置4位计数器的示例代码
—————————————————-
——语用翻译
库UNISIM;
使用UNISIM.VCISOTALS;
——PrimaMatlab
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
使用IEEE.STDLogLogic UNSIGNED;
实体实例
端口(负载,时钟:在STDYLogic中;
CE:在STDYLogic中;
数据:在StdLogLogic向量(3下降到0);
输出:StdLogLogic向量(3下降到0);
最后实例;
建筑学的Xilinx例子
信号qOUT:STDYLogLogic向量(3下降到0);
信号GUALALL复位:STD语言;
组件ROC端口(O:OUT STDYLogic);
端部元件;
开始
-复位(ROC)缓冲区实例化
ReCETHONION CONFIG: ROC端口映射(O= & Gt;GualalLyRead);
异步复位和时钟允许的4位可加载计数器的行为描述
CONTRO4:进程(GULALLYRADE,时钟,负载,CE)
开始
如果(GualAlxRead=“1”)
QUT & lt=“0000”;
然后ELSIF(CE=‘1’)
如果(时钟)事件和时钟=“1”)
如果(负载=1)
数据;
否则QUT & lt=qOUT+1;
如果结束;
如果结束;
如果结束;
结束过程计数4;
CUT & LT;
末端Xilinx;
没有回复内容