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

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

3天内不再提示

双向端口应用实例

FPGA设计论坛 来源:FPGA设计论坛 作者:FPGA设计论坛 2022-05-07 11:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

双向端口简介

三态缓冲器也称三态门,其典型应用是双向端口,常用于双向数据总线的构建。在数字电路中,逻辑输出有两个正常态:低电平状态(逻辑0)和高电平状态(逻辑1),此外,电路还有不属于0和1的高阻态(逻辑Z)。所谓高阻,即输出端属于浮空状态,只有很小的漏电流流动,其电平随外部电平的高低而定,门电平放弃对输出电路的控制。或者可以理解为输出和电路是断开的。

在应用代码中,verilog HDL程序模块首先进行端口(input:输入端口;output:输出端口;inout:输入/输出端口)定义,然后是逻辑功能的描述。在verilog HDL中,output端口信号可以被定义为reg类型,并在always块中赋值使用,而inout端口不能被定义为reg类型,不能再always块中直接赋值使用,这一点与VHDL中的双向端口使用方法不同。

由于FPGA需要与外部存储器或CPU进行频繁的数据交换,以及引脚资源有限,使用双向端口设计可以成倍的节省数据引脚线。在设计中需要注意两点:其一,要用三态门的控制来处理实现双向端口;其二,要分别指定双向端口作为输入、输出端口时,对外部对象的数据操作。

2. 双向端口应用实例

1. 双向端口的verilog HDL描述

如果输入输出端口都是16位,那么总共需要32根数据线,使用双向端口,只需要16根数据线。实例:

70737cf6-cdb0-11ec-bce3-dac502259ad0.png

模块示意图:

7094ca46-cdb0-11ec-bce3-dac502259ad0.jpg

dinout为双向端口,即可作为输入端口,又可作为输出端口;

当 z = 0 时,三态门选通,从模块module_other_1 输出的数据 data 的流动方向为 I ---> I/O ,I/O 作为系统(module_top)的输出端口;(对于模块module_dinout,I 的类型是input,I/O的类型声明为inout,此时作为输出端口)

当 z = 1 时,三态门关闭,数据 data 的流动方向为 O <--- I/O ,data输入到模块module_other_2 中,供其使用,I/O 作为系统(module_top)的输入端口;(对于模块module_dinout,O 的类型是output,I/O的类型声明为inout,此时作为输入端口)

2. 双向端口的仿真

编写测试模块时,对于inout类型的端口,需要定义成wire类型,而其他输入端口定义为reg类型。此外,对于双向端口本身,仿真输出端口和输入端口的语法是不同的。

输出端口仿真

当作为输出端口时,不需要对其进行初始化,只要开通三态门即可。

输入端口仿真

当作为输入端口时,需要对其进行初始化赋值并关闭三态门。而如果直接把它跟一般的输入口一样直接初始化赋值,则会出错,因为它的定义是wire类型而不是reg类型。这里需要用到force命令。

审核编辑 :李倩

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

    关注

    39

    文章

    7714

    浏览量

    170854
  • 端口
    +关注

    关注

    4

    文章

    1098

    浏览量

    33831

原文标题:2. 双向端口应用实例

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    双向创“芯” — 云镓半导体国内首发高压 GaN 双向器件 (GaN BDS)

    云镓半导体双向创“芯”—云镓半导体国内首发高压GaN双向器件MBDS1.前言长期以来,器件工程师都在追求一种可双向导通且双向耐压的开关元件,该类器件在AC/DC、DC/AC及AC/AC
    的头像 发表于 11-11 13:43 567次阅读
    <b class='flag-5'>双向</b>创“芯” — 云镓半导体国内首发高压 GaN <b class='flag-5'>双向</b>器件 (GaN BDS)

    Kawaii mqtt 如何使用mbedtls双向验证?

    Kawaiimqtt如何使用mbedtls双向验证
    发表于 09-24 06:36

    Leiditech数据端口电路保护使用TVS ESD

    端口
    上海雷卯电子
    发布于 :2025年08月21日 17:28:49

    如何实现高效双向电能变换

    随着电动汽车、家庭和工商业储能产品快速普及,双向电能变换系统的热度也在不断攀升。作为电网与电池的功率桥梁,双向电能变换系统基于一套硬件电路就能控制电池充放电,实现能量双向流动,相比传统单向变换器可大幅降低硬件成本,减小设备体积。
    的头像 发表于 07-23 11:40 1267次阅读

    纳芯微发布两款车规级自动双向型电平转换器

    纳芯微宣布推出车规级四位自动双向型电平转换器NCAS0104和NCAB0104。新推出的电平转换器具备高达15kV的ESD性能,支持更宽的端口输入电压(端口A:1.1~3.6V;端口B
    的头像 发表于 07-17 15:52 690次阅读
    纳芯微发布两款车规级自动<b class='flag-5'>双向</b>型电平转换器

    Kawaiimqtt如何使用mbedtls双向验证?

    Kawaiimqtt如何使用mbedtls双向验证
    发表于 06-13 08:23

    什么是光伏双向电表?双向电表有哪些应用?

    光伏双向计量电表(Bi-directional Energy Meter) 是分布式能源系统的核心计量装置,专为光伏发电并网场景设计。与传统单向计量设备不同,该设备采用双向矢量计量技术,可精确记录
    的头像 发表于 05-12 09:42 1627次阅读
    什么是光伏<b class='flag-5'>双向</b>电表?<b class='flag-5'>双向</b>电表有哪些应用?

    TCP协议的端口号及其配置

    1. 端口号的分类 端口号分为三个范围: 知名端口(Well-known ports) :0-1023,这些端口号被分配给常用的服务和应用程序,如HTTP(80)、HTTPS(443)
    的头像 发表于 01-22 10:01 3827次阅读

    云服务器 Flexus X 实例,Docker 集成搭建 DVWA 靶场

    )、文件上传漏洞、命令注入等,旨在提供一个安全可控的环境,让用户能够学习和实践如何识别、利用和防御这些漏洞 华为云端口放行 • 服务器放行对应端口 8089 Docker 安装并配置镜像加速 1、购买
    的头像 发表于 01-13 18:17 849次阅读
    云服务器 Flexus X <b class='flag-5'>实例</b>,Docker 集成搭建 DVWA 靶场

    云服务器 Flexus X 实例,Docker 集成搭建 Grafana 开源数据可视化平台

    的用户界面,用户可以轻松创建和自定义动态仪表板,以实时展示关键指标和数据趋势 华为云端口放行 • 服务器放行对应端口 9955 Docker 安装并配置镜像加速 1、购买华为云 Flexus X 实例
    的头像 发表于 01-13 15:50 811次阅读
    云服务器 Flexus X <b class='flag-5'>实例</b>,Docker 集成搭建 Grafana 开源数据可视化平台

    云服务器 Flexus X 实例,基于宝塔搭建 Typecho 博客平台

    宝塔面板配置 华为云 Flexus X 实例购买 Flexus云服务器X实例-华为云 (huaweicloud.com)   1、下载宝塔面板,大约需要 1~2 分钟左右 yum install
    的头像 发表于 01-13 13:34 559次阅读
    云服务器 Flexus X <b class='flag-5'>实例</b>,基于宝塔搭建 Typecho 博客平台

    SN74CBT162292用作2输入,1输出选择且是双向数据端口,可以这样用吗?

    东东,心里没底。 1. 目前2个单片机的总线信号接入SN74CBTLV16292 的B1和B2端口,A端口接SRAM。这种模式可以么? 2. A、B1、B2这3组端口都是无方向性的吧? 因为SRAM
    发表于 01-09 08:24

    云电脑打印机设置策略:端口自动设置为VM端口怎么办

    晚上10点,老师突然在群里布置学习单,得赶紧打印。   咦,云桌面怎么无法使用USB打印机?     救命啊,怎么才能连上啊?! 别着急,这时候可以查看打印机属性中的端口是不是自动设成了VM开头
    的头像 发表于 01-03 11:02 1270次阅读
    云电脑打印机设置策略:<b class='flag-5'>端口</b>自动设置为VM<b class='flag-5'>端口</b>怎么办

    浅谈电表双向计量

    电表双向计量 规格型号 电表双向计量 主体技术参数 模块技术参数 其他技术参数 电表双向计量 作用   随着分布式发电和储能技术的不断发展,电网逐渐向着分布式的方向发展。传统上,电力系统是由中心化
    的头像 发表于 12-18 14:42 1040次阅读
    浅谈电表<b class='flag-5'>双向</b>计量

    供应ETA4553/4位双向电压电平转换器IC

    描述 ETA4554 是四位同相转换器,是一种双向电压电平转换器,可用于建立混合电压系统之间的数字开关兼容性。它使用四个独立的可配置电源轨,其中 A 端口支持 1.65V 至 5.5V 的工作电压
    发表于 12-17 09:37