菜鸟初入FPGA之三态门

来源:本站
导读:目前正在解读《菜鸟初入FPGA之三态门》的相关信息,《菜鸟初入FPGA之三态门》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《菜鸟初入FPGA之三态门》的详细说明。
简介:本文章是关于FPGA中三态门的。

三态指其输出既可以是一般二值逻辑电路的正常的高电平(逻辑1)或低电平(逻辑0),又可以保持特有的高阻抗状态(Hi-Z)。处于高阻抗状态时,输出电阻很大,相当于开路,没有任何逻辑控制功能。高阻态的意义在于实际电路中不可能断开电路。三态电路的输出逻辑状态的控制,是通过一个输入引脚 实现的

在之前的实验中,我们所接触到的 IO 都是单纯的输入( input) 或者输出(output)类型,而我们的一些总线协议如 IIC 等,要求信号为三态类型,也就是我们所说的输入输出( inout) 类型。接下来,我们就来看一下这类信号的具体用法,输入输出类型,顾名思义就是既可以作为输入,也可以作为输出

我们可以通过如下代码学习这类信号的赋值驱动方式

代码:

modulestate_3(clk,rst_n,sda);inputclk,rst_n;inoutsda;regflag;//三态门开关regsda_buf;//待发送数据寄存器assignsda=(flag==1)?sda_buf:1'bz;always@(posedgeclkornegedgerst_n)if(!rst_n)beginflag<=0;sda_buf<=1;endelsebeginflag<=1;endendmodule`timescale1ns/1ns`defineclock_period20modulestate_3_tb;regclk,rst_n;wiresda;initialclk=1;always#(`clock_period/2)clk=~clk;initialbeginrst_n=1'b0;#(`clock_period*5)rst_n=1'b1;#(`clock_period+1);#(`clock_period*200);$stop;endstate_3state_3(.clk(clk),.rst_n(rst_n),.sda(sda));endmodule

rtl:

菜鸟初入FPGA之三态门

仿真:

菜鸟初入FPGA之三态门

典型的三态门应用:

如果你的设备端口要挂在一个总线上, 必须通过三态缓冲器。 因为在一个总线上同时只能有一个端口作输出, 这时其他端口必须在高阻态, 同时可以输入这个输出端口的数据。 所以你还需要有总线控制管理, 访问到哪个端口, 那个端口的三态缓冲器才可以转入输出状态。

提醒:《菜鸟初入FPGA之三态门》最后刷新时间 2024-03-14 00:55:59,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《菜鸟初入FPGA之三态门》该内容的真实性请自行鉴别。