XVHDL基础:如何使用I/O触发器

描述

关键词:IOB、推断、元模型、IFD、OFD

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

紧迫性:标准

一般描述:

如何通过基础XVHDL使用IOB触发器?

*注意:此解决方案仅适用于XVHDL(Meta MAMOR)
编译程序。如果您使用的是Express编译器,您可以
控制通过I/O触发器插入快件
约束GUI。

解决方案


基础6·0.2
旅游业的发展

XVHDL编译器将推断输入或输出触发器IF。
满足下列所有标准:

1。该设计被编译为“芯片”。
2。触发器的输入或输出也被声明为
在顶层实体中的端口。如果输入被声明为
端口,它不能用作任何其他进程的输入。
或信号分配。
三。触发器不使用预置或透明引脚,除非
XILNXXGSR属性与预设/CLR一起使用
信号。也见(Xilinx解决方案1376).
4。除了XC400 0E以外的所有家庭,触发器都是
不要使用时钟使能。

在XC400 0E设计中,满足准则1-3的触发器。
并且有一个时钟使能推断出一个I/O触发器,因为
XC400 0E具有这种结构特征。

I/O触发器推理的一个实例
-注意,触发器使用时钟使能,只有一个时钟。
在这种情况下,XC400 0E设计将推断I/O触发器。

库IEEE;
使用IEEE.STDYLogiCy1164.ALL;

实体IOB4KE
端口(IN1,IN2,CLK,EN:在STDYLogic中;
OUT1:输出STDYLogic);
结束IOB4KE;

IOB4KE的体系结构
信号A:STDYLogic;
信号B:STDYLogic;
开始
过程(CLK,EN)
开始
如果CLK'事件和CLK='1’,则CLK上升沿
如果En=“1”,那么时钟使能
a/lt=IN1;
如果结束;
如果结束;
结束过程;

过程(CLK,EN)
开始
如果CLK'事件和CLK='1’,则CLK上升沿
如果En=“1”,那么时钟使能
B2;
如果结束;
如果结束;
结束过程;

OUT1<

结束语;

用基础3.0.2实例化I/O触发器
X1.XVHDL基础基础
事业单位

下面是一个实例化输入触发器(IFD)的例子。
在一个基础的VHDL设计中。注意“禁止”BUF的用法
防止自动插入iBF的属性
在D输入端。此属性将类似地用于
Q输出端口的一个OFD。


库IEEE;
使用IEEE.STDYLogiCy1164.ALL;

实体触发器是
端口(
DIIN:在STDYLogic中;
CKKIIN:在STDYLogic中;
QSTOUT:输出STD逻辑

属性抑制BUF:布尔型;
DIIN的属性抑制BUF:信号是真的;
结束触发器;

INA触发器的建筑

组件IFD
端口(D):在STDYLogic中;
C:在STDYLogic中;
问:输出STDYLogic);
端部元件;

开始

U1:IFD端口映射(DIN,CKKYIN,QYOUT);

终末裂孔;


F1.3/F1.4基础
旅游业的发展

基础F1.3/F1.4,XVHDL只推断
CLB触发器。为了能够触发器
合并到IOBs中,映射程序在
必须使用设计流程的实现阶段。


默认映射设置不是将触发器合并到
IOBs。若要在map中启用此选项,自定义模板是
必修的。

1。从设计管理器中选择实用工具&模板
管理器

2。选择新按钮并给您的自定义模板命名。

三。从模板窗口中选择模板并按
自定义按钮。

4。在程序名称选择框中,输入:MAP。
在程序选项选择框中,输入:-PR-IOB。

5。点击OK按钮并点击模板管理器退出
关闭按钮。

6。在实现设计时,选择新创建的
模板在设计实现领域中的应用
实现选项窗口。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-29 13:55:12 +0800

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

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