欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    三态门(总线).doc

    • 资源ID:69952007       资源大小:122.54KB        全文页数:6页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    三态门(总线).doc

    三态门(总线)2。2 三态门1基本原理在数字系统中,常常需要把多个门电路的输出端连接在一起,比如接到数据总线上。但一般的门电路都只有两个输出状态:输出高电平状态与输出低电平状态。把这些门电路的输出端连接在一起,在某一个时刻,可能会出现一个以上的门电路的输出同时为高电平状态或者低电平状态,这样就会引起逻辑电平的不确定。使用三态门可以很好地解决这个问题。三态门电路有三个输出状态:输出高电平状态、输出低电平状态,以及输出高阻状态。当三态门电路输出为高阻状态时,三态门的输出端相当于开路,对总线上连接的其它器件没有影响.我们可以利用三态门的这个优点对需要通过总线的数据进行分时传送,这样数据的传送就不会出现混乱了。简单的三态门电路如图2。2.1a所示,图2。2.1b是它的代表符号。其中EN为片选信号输入端,A为数据输入端,L为数据输出端。图2。2。1 三态门电路 (a) 电路图 (b) 代表符号当EN=0时,TP2和TN2同时导通,为正常的非门,输出L=;当EN=1时,TP2和TN2同时截止,输出为高阻状态。所以,这是一个低电平有效的三态门。三态门的真值表如表2。2。1所示。由真值表可以得出逻辑表达式:当EN=0时,L=;当EN=1时,L=Z。其中Z表示高阻状态.表2.2.1 三态门的真值表EN数据输入端输出端LAL010011x高阻2实现方案通过FPGA来实现三态门的功能有以下几种方式:(1) 用case语句和if.else语句来实现。先判断EN是否等于1,如果EN等于1,则输出端L=Z;如果不等于1,再判断A是否等于0,如果等于0,则输出端L=1,如果不等于0,则输出端L=0.(2) 用if。else语句来实现。先判断EN是否等于1,如果EN等于1,则输出端L=Z;如果不等于1,则输出L=A.(3) 用“? :”语句来实现,输出端L=EN ? 1bZ : (A)。3FPGA的实现下面以第三种方案为例来进行FPGA的实现。(1) 创建工程并设计输入 在E:project目录下,新建名为notif的新工程器件族类型(Device Family)选择“Virtex2P”,器件型号(Device)选“XC2VP30 ff896 7",综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”,仿真器(Simulator)选“ISE Simulator(VHDL/Verilog)”。 设计输入在源代码窗口中单击右键,在弹出的快捷菜单中选择“New Source”,在弹出的对话框中选择“Verilog Moudle",在右端的File name中输入源文件名“notif”,再依次点击“Next-Next-Finish”,然后在弹出的源代码编辑框内输入下面的源代码并保存即可。Verilog HDL 代码如下:module notif(A,EN,L);input A,EN;output L;wire L;assign L=EN?1bZ:(A);endmodule(2) 功能仿真 在sources窗口的“sources for”中选择“Behavioral Simulation"。 由Test Bench WaveForm添加激励源,如图2。2.2所示。仿真结果如图2。2。3所示。图2。2.2 激励波形图2。2.3 仿真结果从仿真的结果中我们可以看到:当使能端EN为低电平时,输出端L=,当EN为高电平时,输出端呈现高阻状态,这就实现了三态门电路的功能。(3) 进行ChipScope在线调试 生成ICON核和VIO核并添加到工程.这里使用的是核生成法。因为ICON核只需要控制VIO核,所以控制端口数为1,如图2。2。4所示.VIO核使用异步输入、输出端口,异步输入位宽为1,异步输出位宽为2,如图2.2。5所示。图2。2.4 操作示意图1图2。2.5 操作示意图2最后得到的代码如下:module notif(A,EN,L);wire A,EN;output L;wire L;wire 35 : 0 CONTROL0;wire 1 : 0 ASYNC_OUT;wire 0 : 0 ASYNC_IN;ICON I_ICON( .CONTROL0(CONTROL0);VIO I_VIO( 。CONTROL(CONTROL0), 。ASYNC_IN(ASYNC_IN), .ASYNC_OUT(ASYNC_OUT));assign ASYNC_IN=L;assign A=ASYNC_OUT0;assign EN=ASYNC_OUT1;assign L=EN?1'bZ:(A);endmodule 在ISE里进行综合和实现,然后生成bit文件。 在ChipScope里观测调试。在Processes窗口中选择双击“Analyze Design Using Chipscope"进入ChipScope Pro Analyzer窗口,点击图标检查连接情况,然后下载bit文件进行在线观测。调试结果如图2.2.6和图2.2.7所示。图2。2.6 调试结果1图2.2.7 调试结果2从上面的调试结果可以看出三态门的设计是正确的.4总结上面采用的是数据流描述方式来实现三态门的功能,这种方式相对于其他两种方式来说,思路更简单、清晰,它只用了一个条件运算符“? :”就描述了三态门的功能.使用这种方式需要注意的是assign赋值语句中等号左边的变量是wire类型的。

    注意事项

    本文(三态门(总线).doc)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开