三态门以要例化到FPGA的IOB中如何实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三态门以要例化到FPGA的IOB中如何实现相关的知识,希望对你有一定的参考价值。

FPGA内部资源中是没有三态门资源的,一般通过MUX来实现的
比如: FPGA 内部有有一个双向RAM,外部CPU通过RAM的双向数据口 data 读写数据
port: data : inout std_logic_vector(7 downto 0 ) ;
signal d_in : in std_logic_vector(7 downto 0 ) ;
signal d_out: in std_logic_vector(7 downto 0 ) ;
---三态双向总线描述
d_in <= data when ( wr = '0' ) ;
data <= d_out when ( rd = '0' ) else
"ZZZZZZZZ" ;
但是在FPGA的IO资源中是有硬件三态资源的,不知道如何用语言和电路来描述,或者是通过约束文件来声明。
比如说:上例中的三态双向数据总线的三态门以要例化到FPGA的IOB中如何实现
希望大侠们指点一二,先谢了

参考技术A FPGA中有现成的三太门,直接用原语调用就行了,原语在软件里边有。本回答被提问者采纳 参考技术B 写成
data <= d_out when ( rd = '0' ) else
"ZZZZZZZZ" ;
在Quartus/ISE中,会直接将data用三态资源实现,不需要另外说明。

fpga中的例化名是啥

参考技术A FPGA中主要描述的是实体

而在实体描述中需要调用其他的实体时,就要将你要调用的实体例化到你现在所

描述的实体中,例化名就是你在例化时给调用的实体取的名字

有点类似C语言中调用函数的函数名本回答被提问者采纳
参考技术B 例化一个实体的话,首先在结构体开始前声明如
component 实体名(
……);
end component;
在结构体内部,一般先加一个标号如
abc:实体名 port map (……);
具体你可以找一个包含有元件例化的程序参照一下
参考技术C component
例化名就是你要例化的那个器件的实体名
参考技术D component 元件例化

以上是关于三态门以要例化到FPGA的IOB中如何实现的主要内容,如果未能解决你的问题,请参考以下文章

设计经验1如何规范的处理inout信号

怎样利用三态门实现数据的双向传输?

三态门实现“一读多写”总线结构

OC门、OD门与三态门各有啥特点?

OD门、OC门和三态门的主要作用和应用

基础项目三态门程序设计讲解