0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA三态门的结构是怎样的呢?

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-10-20 11:01 次阅读

FPGA设计中,双向IO(输入输出引脚)是一个比较麻烦的东西,但是信号线用作总线等双向数据传输时就要用到inout类型。

以下用液晶的的数据线用作双向IO示例:

f6ef6562-5021-11ed-a3b6-dac502259ad0.png

说是双向IO端口,其实输入和输出不是同时进行的,需要有一个控制信号out_en来控制端口什么时候为输出,什么时候为输入。

那这里就需要引入一个三态门结构电路。

三态门结构

那么三态门的结构是怎样的呢?

三态门电路的输出结构和普通门电路的输出结构有很大的不同,因为它在电路中增加了一个输出控制端EN。

f70a544e-5021-11ed-a3b6-dac502259ad0.png

由上图看出,在单相三态门中,当EN=1时,对原电路无影响,电路的输出符合原来电路的所有逻辑关系,即A可以输出到B。当EN= 0时,电路内部的所有输出与外部将处于一种关断状态。

因此,当FPGA的信号线存在双向IO时,可以有两个三态门来控制,一个控制输出,一个控制输入,结构如下:

f72f6e46-5021-11ed-a3b6-dac502259ad0.png

当ENout=1,ENin=0时,双向三态门的电路传输方向是A->B;
当ENout=0,ENin=1时,双向三态门的电路传输方向是B->A;

模型分析

下面简单做个简易模型来说明双向IO如何分别实现作为输入端口和输出端口的功能,模块图如下:

f74fca88-5021-11ed-a3b6-dac502259ad0.png

模型引脚定义

(1)输入口A定义:当双向端口dinout作为输出口时,我们将A端口输入数据传到模块中,让数据从dinout口出来。

(2)输出端口B定义:当当双向端口dinout作为输入口时,我们将dinout端口输入数据传到模块中,让数据从B口出来。

(3)EN控制信号定义:当EN=1时,开通三态门,将dinout作为输出口使用,当EN=0时,把三态门置为高阻态,这时dinout作为输入口用。

代码展示

f75f1e34-5021-11ed-a3b6-dac502259ad0.png

编译分析后查看RTL视角逻辑电路,符合原有模型设计。

f7772c4a-5021-11ed-a3b6-dac502259ad0.png

总结说明

(1)FPGA内部不允许传递双向IO信号,只有FPGA对外部才能定义为双向IO端口,即只有在顶层输出的信号才可以被赋值为高阻态。

(2)在结构化建模的过程中,一个模块一个功能的建模,当涉及到内部模块的端口是双向IO端口时,然后根据一个双向IO对应一个输入,一个输出和一个使能控制,把模块中双向IO的输出用输出端口代替,双向IO的输入用输入端口代替,引出使能信号,并把对应assign中赋值的高阻态z根据实际情况给出0或1,来解决FPGA内部双向IO连接问题。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603036
  • 电路
    +关注

    关注

    172

    文章

    5905

    浏览量

    172152
  • 信号线
    +关注

    关注

    2

    文章

    171

    浏览量

    21463

原文标题:FPGA双向IO使用之三态门说明

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    三态缓冲器的工作原理和应用

    三态缓冲器(Three-state buffer),又称为三态三态驱动器,是一种特殊的逻辑门电路,其工作原理主要基于三态输出控制。
    的头像 发表于 08-02 17:47 3815次阅读

    TTL三态输出端可以并联吗?

    TTL三态是一种特殊的逻辑,它具有个状态:高电平、低电平和高阻抗状态(也称为“三态”或“浮动”状态)。
    的头像 发表于 05-28 17:18 2770次阅读

    TTL三态输出门能否实现“线与”?为什么?

    TTL三态输出门是一种特殊的数字逻辑,它具有高电平、低电平和高阻抗(三态种输出状态。
    的头像 发表于 05-28 16:14 4033次阅读

    TTL三态门电路的输出状态?

    TTL(晶体管-晶体管逻辑)三态是一种特殊类型的数字逻辑,它具有种输出状态:高电平、低电平和高阻抗状态(也称为三态或高阻
    的头像 发表于 05-28 16:04 2045次阅读

    TTL三态的特点及应用都有哪些

    TTL(晶体管-晶体管逻辑)三态是一种特殊类型的逻辑,它具有个状态:高电平、低电平和高阻抗状态(也称为“三态”或“浮动”状态)。
    的头像 发表于 05-28 15:58 3474次阅读

    具有三态输出的四总线缓冲SN74AUC126 数据表

    电子发烧友网站提供《具有三态输出的四总线缓冲SN74AUC126 数据表.pdf》资料免费下载
    发表于 05-28 10:06 0次下载
    具有<b class='flag-5'>三态</b>输出的四总线缓冲<b class='flag-5'>门</b>SN74AUC126 数据表

    具有三态输出的四总线缓冲SN74ALVC126数据表

    电子发烧友网站提供《具有三态输出的四总线缓冲SN74ALVC126数据表.pdf》资料免费下载
    发表于 05-28 09:59 0次下载
    具有<b class='flag-5'>三态</b>输出的四总线缓冲<b class='flag-5'>门</b>SN74ALVC126数据表

    具有三态输出的四总线缓冲SN74AUC125 数据表

    电子发烧友网站提供《具有三态输出的四总线缓冲SN74AUC125 数据表.pdf》资料免费下载
    发表于 05-24 10:11 0次下载
    具有<b class='flag-5'>三态</b>输出的四总线缓冲<b class='flag-5'>门</b>SN74AUC125 数据表

    具有三态输出的四路总线缓冲SN74F126 数据表

    电子发烧友网站提供《具有三态输出的四路总线缓冲SN74F126 数据表.pdf》资料免费下载
    发表于 05-22 10:27 0次下载
    具有<b class='flag-5'>三态</b>输出的四路总线缓冲<b class='flag-5'>门</b>SN74F126 数据表

    具有三态输出的低功耗超可配置多功能数据表

    电子发烧友网站提供《具有三态输出的低功耗超可配置多功能数据表.pdf》资料免费下载
    发表于 05-21 10:39 0次下载
    具有<b class='flag-5'>三态</b>输出的低功耗超可配置多功能<b class='flag-5'>门</b>数据表

    具有三态输出的四路总线缓冲SNx4HCT125数据表

    电子发烧友网站提供《具有三态输出的四路总线缓冲SNx4HCT125数据表.pdf》资料免费下载
    发表于 05-07 09:53 0次下载
    具有<b class='flag-5'>三态</b>输出的四路总线缓冲<b class='flag-5'>门</b>SNx4HCT125数据表

    具有三态输出的四路总线缓冲SNx4AHCT126数据表

    电子发烧友网站提供《具有三态输出的四路总线缓冲SNx4AHCT126数据表.pdf》资料免费下载
    发表于 05-06 09:15 0次下载
    具有<b class='flag-5'>三态</b>输出的四路总线缓冲<b class='flag-5'>门</b>SNx4AHCT126数据表

    具有三态输出的四路总线缓冲SNx4AHC126数据表

    电子发烧友网站提供《具有三态输出的四路总线缓冲SNx4AHC126数据表.pdf》资料免费下载
    发表于 04-30 09:23 0次下载
    具有<b class='flag-5'>三态</b>输出的四路总线缓冲<b class='flag-5'>门</b>SNx4AHC126数据表

    具有三态输出的四路总线缓冲SNx4AHCT125数据表

    电子发烧友网站提供《具有三态输出的四路总线缓冲SNx4AHCT125数据表.pdf》资料免费下载
    发表于 04-29 10:30 0次下载
    具有<b class='flag-5'>三态</b>输出的四路总线缓冲<b class='flag-5'>门</b>SNx4AHCT125数据表

    TTL三态输出电路优点 TTL三态输出电路图

    TTL三态输出电路是一种重要的接口元件,它能够提供种输出状态:高电平、低电平和高阻。这种电路在实现数字系统之间的连接和数据传输时起着至关重要的作用。
    的头像 发表于 02-18 15:41 3990次阅读
    TTL<b class='flag-5'>三态</b><b class='flag-5'>门</b>输出电路优点 TTL<b class='flag-5'>三态</b><b class='flag-5'>门</b>输出电路图