《微型计算机接口技术知识课件》第13章 FPGA设计基础.ppt

《微型计算机接口技术知识课件》第13章 FPGA设计基础.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《微型计算机接口技术知识课件》第13章 FPGA设计基础.ppt

* 计算机接口技术 * 8255A的FPGA总体设计框图,如图13.7 所示。 图13.7 8255A FPGA总体设计框图 * 计算机接口技术 * // 实例化语句,信号端口通过位置关联 T8255A T(reset,nCS,nRD,nWR,A,Din,PAin,PBin,PCin,DEn,PAEn,PBEn,PCEn,Dout,PAout,PBout,PCout); //内核模块 IOB BD(Dout,Din,Den,D); // 内部数据总线的传输方向控制模块 IOB BA(PAout, PAin,PAEn,PA); // A口的传输方向控制模块 IOB BB(PBout, PBin,PBEn,PB); // B口的传输方向控制模块 IOB1 BC(PCout, PCin,PCEn,PC); // C口的传输方向控制模块 13.4.2 顶层主模块设计 ●主模块定义了芯片的外部接口,同时还定义了若干内部连线,用于连接内核模块和其他外围模块。 ●采用元件例化语句,将8255A内核设计和外围逻辑设计组装起来,形成完整的8255A功能。主要代码如下: * 计算机接口技术 * module IOB( Din, Dout, InEn, Dbus ); input[7:0] Din; input InEn; // InEn等于0时输入,等于1时输出 output[7:0] Dout; inout[7:0] Dbus; assign Dbus = (InEn)? Din:8hzz; assign Dout = (InEn)? Dout:Dbus; endmodule 13.4.3 IOB模块和IOB1模块设计 ●IOB模块将内核的单向数据总线综合设计成双向的数据总线,该模块8位数据一起输入/出; ●IOB1模块将内核口C的单向数据总线设计成双向的数据总线,该模块是按位控制的。IOB模块代码如下: * 计算机接口技术 * 13.4.4 8255A内核模块设计 ●控制模块 ●多路数据模块 ●A口模块 ●B口模块 ●C口模块 * 计算机接口技术 * ●控制模块 ●作用:管理内部、外部数据信息、控制字、状态字的传送过程;解析CPU送来的控制信号。 ●输入:复位信号reset,片选nCS,端口选择A[1-0],写nWR,读nRD,输入数据Din,Pcin。 ●输出:选路信号DoutSelect。 锁存允许信号PAInLd,PAOutLd,PBInLd,PBOutLd和PCOutLd控制。 ●各个口是否接受输入或输出:输入输出选择信号Den,PAEn,PBEn和PCEn,输出给外围逻辑模块。 ●控制信号CtrlData。 * 计算机接口技术 * ●多路数据选择模块 本质上是一个多路选择器,接受来自控制模块的选路信号后将选中的数据输出,包括PAin,PAInBuf,PBInBuf,PCin和PC_Status等。 ●口A口B输入/输出模块 口A和口B都有一个输入和输出模块、8位的输入数据锁存器/缓冲器、8位输出数据锁存器/缓冲。 ●C口输出和控制模块 可作为普通的数据通道,又可作为控制和状态信息的通道,负责C口的数据输入输出以及准确的产生接收和联络信号,在不同的工作方式、IO方向下产生相应的逻辑一位一位控制PCout,PCStatus。 * 计算机接口技术 * 各个模块间的数据流,如图13.8所示。 图13.8 内核模块间数据流图 * 计算机接口技术 * assign reset = (nCS)?1b1:rst; //实例化 CtrlLogic U1 (reset, nCS, nRD, nWR,A,Din, PCin[4],PCin[2], PCin[6], PCin[2], DEn, PAEn,PBEn,PCEn, PAInLd, PBInLd, PAOutLd, PBOutLd, PCOutLd, CtrlData, DoutSelect); DoutMux U2(PAin,PAInBuf,PBin,PBInBuf,PCStatus,DoutSelect,Dout); PCIO U3 (reset, nRD, nWR,A,Din, PCin,CtrlData, PCOutLd,PCStatus, Pcout); PAIn U4( reset, PAin, PAInLd, PA

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档