VIVADO IOBUF应用_通俗易懂篇!!

本文详细介绍了FPGA中IOBUF的配置和应用,包括输入、输出及inout类型的信号处理。在定义inout信号时,需要手动配置IOBUF,并通过.T()信号控制输入和输出状态。当外部信号进入FPGA时,.T()设为1,内部逻辑使用.O()获取外部信号,而.I()为高阻态;当内部逻辑输出到外部时,.T()设为0,.I()提供输出信号,.O()则处于高阻态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇文章为个人学习记录,欢迎讨论更正。

        FPGA的顶层信号,定义为input/output的管脚,编译器会自动分配ibuf/obuf,但是定义为inout的信号由于需要额外的控制信号来控制输入,输出,高阻三个状态,所以需要手动分配,详细的应用方法如下:

在Language Template中能找到IOBUF的标准实例:
IOBUF #(
 
      .DRIVE(12), // Specify the output drive strength
 
      .IBUF_LOW_PWR("TRUE"),  // Low Power - "TRUE", High Performance = "FALSE"
 
      .IOSTANDARD("DEFAULT"), // Specify the I/O standard
 
      .SLEW("SLOW") // Specify the output slew rate
 
   ) IOBUF_inst (
 
      .O(O),     // Buffer output
 
      .IO(IO),   // Buffer inout port (connect directly to top-level port)
 
      .I(I),     // Buffer input
 
      .T(T)      // 3-state enable input, high=input, low=output
 
   );

1、当外部端口信号输入进FPGA内部逻辑时:

        .O()  :  括号内填写从inout口输入到FPGA内部的,供用户在内部逻辑使用的逻辑信号名。

        .IO():括号内填写顶层的inout端口信号名。

        .I()   :括号内填写内部逻辑需要送至外部端口的信号(此时为高阻

        .T()  :  括号内填写三态的控制信号,此时填写“1”,表示外部输入有效, .O() 接口将外部IO端口的信号引入逻辑;  // 3-state enable input, high=input(外部信号输入内部有效), low=output(内部信号输出到外部有效)

2、当内部FPGA内部逻辑信号输出到外部inout端口时:

        .O()  :  括号内填写从inout口输入到FPGA内部的,供用户在内部逻辑使用的逻辑信号名。(此时为高阻

        .IO():括号内填写顶层的inout端口信号名。

        .I()   :括号内填写内部逻辑需要送至外部端口的信号

        .T()  :  括号内填写三态的控制信号,此时填写“0”,表示内部信号输出有效, .IO() 接口将内部,  .I()  接口的送入信号发送到外部;  // 3-state enable input, high=input(外部信号输入内部有效), low=output(内部信号输出到外部有效)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值