双向既做输入又做输出的FPGA管脚

双向既做输入又做输出的FPGA管脚

ID:40796668

大小:18.69 KB

页数:7页

时间:2019-08-07

双向既做输入又做输出的FPGA管脚_第1页
双向既做输入又做输出的FPGA管脚_第2页
双向既做输入又做输出的FPGA管脚_第3页
双向既做输入又做输出的FPGA管脚_第4页
双向既做输入又做输出的FPGA管脚_第5页
资源描述:

《双向既做输入又做输出的FPGA管脚》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、双向信号既做输出又做输出-FPGA双向电路设计经验[导读] 2)双向信号既做输出又做输出上例是最简单的双向信号应用的特例.在实际的工程中,双向信号既做信号的输入,又做信号的输出,常见的数据总线就是这种操作在工程应用中,双向电路是设计者不得不面对的问题.在实际应用中,数据总线往往是双向的.如何正确处理数据总线是进行时序逻辑电路设计的基础.在程序设计过程中,关键技术在于:实体部分必须对端口属性进行申明,端口属性必须为Inout类型,在构造体需要对输出信号进行有条件的高阻控制.在双向电路的处理问题上,常用的处理方式有两种,在介绍双向电路的处理方式之前,先看看双向电路的基本格式:  ENTITYBid

2、ir_pinIS  (  Bidir:INOUTStd_logic;  Oe,Clk,From_core:INStd_logic;  To_core:OUTStd_logic;  ……  ENDBidir_pin;  ARCHITECTUREBehaviorOFBidir_pinIS  BEGIN  Bidir<=From_coreWHENOe=‘1’ELSE“ZZZZ”;  To_core<=Bidir;  _  _  _  ENDBehavior;  该程序揭示了双向电路的处理技巧,首先在实体部分Bidir属于双向信号,在端口定义时,端口属性为Inout类型,即把Bidir信号作为输入三态

3、输出.语句“Bidir<=From_coreWHENOe=‘1’ELSE“ZZZZ”;”表示Bidir信号三态输出,语句”To_core<=Bidir;”把Bidir信号作为输入信号.  由此可见,双向电路在程序设计中,Didir输入当着普通的In类型,而在输出时,需要加一定的控制条件,三态输出.问题的关键在于:如何确定这个条件?  1)双向信号作一个信号的输入,作另一信号的输出  ENTITYBidirIS  PORT(  Bidir:INOUTSTD_LOGIC_VECTOR(7DOWNTO0);  Oe,Clk:INSTD_LOGIC;  From_core:INSTD_LOGIC_VE

4、CTOR(7DOWNTO0);  To_core:OUTSTD_LOGIC_VECTOR(7DOWNTO0)  );  ENDBidir;  ARCHITECTURELogicOFBidirIS  SIGNALA:STD_LOGIC_VECTOR(7DOWNTO0);  SIGNALB:STD_LOGIC_VECTOR(7DOWNTO0);  BEGIN  PROCESS(Clk)  BEGIN  IFClk=''1''ANDClk''EVENTTHEN  A<=From_core;  To_core<=B;  ENDIF;  ENDPROCESS;  PROCESS(Oe,Bidir)  B

5、EGIN  IF(Oe=''0'')THEN  Bidir<="ZZZZZZZZ";  B<=Bidir;  ELSE  Bidir<=A;  B<=Bidir;  ENDIF;  ENDPROCESS;  ENDLogic;  这种设计方式叫做寄存双向信号的方法.本设计中Bidir为双向信号,From_core为数据输入端,To_core为数据输出端,Oe为三态输出使能,Clk为读写数据的时钟.在程序设计中,需要定义两个SignalA和B信号.A信号用于输入数据From_core的寄存器,B用于输出数据To_core的寄存器.采用寄存器的方法需要设计两个进程,一个进程把A,B信号在时钟的控制

6、下负责端口的输入信号From_core和端口输出信号To_core的连接,这一步实现了寄存双向的功能.另外一个进程则负责信号A,B和双向口之间的赋值关系.本设计只揭示了简单的双向信号操作方式,即Bidir既可以作为From_core的输出,又可以作为To_core的输入2)双向信号既做输出又做输出  上例是最简单的双向信号应用的特例.在实际的工程中,双向信号既做信号的输入,又做信号的输出,常见的数据总线就是这种操作模式.  LibraryIEEE;  UseIEEE.STD_LOGIC_1164.All;  EntityDir_dataIs  Port(  Clk:InSTD_LOGIC;  

7、Rst:InSTD_LOGIC;  Rw:InSTD_LOGIC;  Address:InSTD_LOGIC_VECTOR(1Downto0);  Data:InoutSTD_LOGIC_VECTOR(7Downto0)  );  EndDir_data;  ArchitectureArc_dirOfDir_dataIs  SignalData_in:STD_LOGIC_VECTOR(7Downt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。