F1.3/F1.4XVHDL基础:使用输入/输出锁存器

描述

关键字:锁存器、ILD、ILAT、IOB、合并、元

紧迫性:标准

一般描述:

如何通过基础实现I/O锁存器
XVHDL编译器?

解决方案

对于XC3000/A和XC4000/E器件,一个I/O锁存器原语
例如ILD,必须在VHDL代码中实例化。这个
下面是这样的代码的一个例子:

库IEEE;
使用IEEE.STDYLogiCy1164.ALL;

实体是
端口(
DIIN:在STDYLogic中;
Gin in:在STDYLogic中;
QSTOUT:输出STD逻辑


属性抑制BUF:布尔型;
DIIN的属性抑制BUF:信号是真的;
-此属性是必要的,以防止
——在端口上插入一个iBF的编译器,
——因为IGBF包含在ILD组件中。
结束;

英拉拉塔建筑

组件ILD——组件声明
端口(D):在STDYLogic中;
G:在STDYLogic中;
问:输出STDYLogic);
端部元件;

开始

U1:ILD端口映射(Dyin,Gyin,QyOUT);实例化

尾内侧弓;

对于XC400 0EX/XL器件,I/O锁存器可以实例化为
在第1号决议中描述,或者,闩锁可以是行为上的。
在VHDL代码中描述。如果闩锁是行为上的
描述了XVHDL编译器将推断一个常规CLB锁存器,
但是,实现流程的映射阶段具有能力。
然后将锁存器合并到IOB中。如果这种方法
实现是需要的,以下映射选项之一
在使用Xilinx实现设计时必须使用
设计管理器:

MAP PR I & lt;表示合并到“输入”锁存器中。
MAP PR o & lt;表示合并到“输出”锁存器中;
MAP PR B& LT;表示合并为“输入”或“输出锁存器”;


若要告诉MAP使用此命令行开关运行,请使用
模板管理器“自定义”实现模板。
有关如何做到这一点的详细说明,请参阅
(Xilinx解决方案1227).

下面是一个VHDL代码的例子,它将推断一个锁存器。
然后可以通过映射合并到IOB中:

——IEEE标准1164封装、DACLARS STDYLogic、RISIGIN EGED()等。
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;

实体dyLATCH是
端口(门,数据:在STDYLogic中;Q:OUT STDYLogic);
结束D-锁存器;

DyLATCH的体系结构行为

开始

进程(门,数据)
开始
如果(门=1)
数据;
如果结束;
结束过程;
结束行为;
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-29 14:55:50 +0800

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

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