XVHDL基础:如何使用双向I/O
描述
关键词:BiDi、Meta、PIN、IOUT版本:F6.,F1.3/F1.4
紧迫性:标准
一般描述:
双向I/O信号可以在行为上描述。
VHDL代码通过使用实体中的“IOUT”端口和
在体系结构中描述为三状态的输出。
XVHDL将推断适当类型的I/O组件。
请注意,在XVHDL编译器中,必须描述
整个双向PIN,包括输出三态,在
顶级VHDL文件。有关此主题的更多信息,
请看(Xilinx解决方案2591).
解决方案
双向I/O行为描述实例请注意,在这个例子中,输出都是三态的。
--并且注册了。一种具有三态允许的输出触发器
-(OFDT)将被推断。
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
实体Bidir是
端口(数据:输入输出逻辑);
NoTyDATA:输出STDYLogic;
CLK,A,B:在STDYLogic中;
启用:在STDYLogic中;
结束BIDIR;
Bidir的体系结构反转
信号IN1:STDYLogic;
信号OUT1:STDYLogic;
开始
IN1和LT=A和B;
过程(CLK)
开始
如果CLK'事件和CLK='1’,则CLK上升沿
OUT1和LIN= IN1;
如果结束;
结束过程;
三态缓冲器
数据lt;=(OUT1)当启用=“1”,否则“Z”;
NoTyDATA & LT;=非数据;
端部倒置;
这个例子描述了4位宽三态I/O总线。
库IEEE;
使用IEEE.STDYLogiCy1164.ALL;
实体BiDR2是
端口(数据:输入StdLogLogic向量(3下降到0);
NoTyDATA:StdLogLogic向量(3下降到0);
A,B:在STdLogLogic向量(3下降到0);
CLK:在STDYLogic中;
启用:在STDYLogic中;
末端BiDR2;
Bidi2建筑BidiiBUS
信号IN1:STDYLogLogic向量(3下降到0);
信号OUT1:STDYLogLogic向量(3下降到0);
开始
IN1和LT=A和B;
过程(CLK)
开始
如果CLK'事件和CLK='1’,则CLK上升沿
OUT1和LIN= IN1;
如果结束;
结束过程;
三态缓冲器
数据lt;=(OUT1)当启用=“1”其他“ZZZZ”;
NoTyDATA & LT;=非数据;
末端双总线;
添加评论