(利用VHDL语(论文)本.docx
《(利用VHDL语(论文)本.docx》由会员分享,可在线阅读,更多相关《(利用VHDL语(论文)本.docx(40页珍藏版)》请在课桌文档上搜索。
1、论文题目摘要Philips开发的Fc总线是一个简洁的双向串行总线,能实现有效的IC之间限制,全部符合FC总线的器件组合了一个片上接口,使器件之间干脆通过FC总线通讯。因而解决了很多在设计数字限制电路时遇到的接口问题。WiShbone总线最先是由SiliCOn公司提出,它通过在IP核之间建立一个通用接口完成互连,优势是处理器核与外设共享总线。本文介绍了Fc总线和WiShbOne总线协议,通过设计一个基于片上系统的Wishbone总线的C限制器核心与带外设的总线相连接,从而达到总线互联通信的目的。从IC总线入手,通过VerilOg语言对其寄存器堆的读写操作进行编译并编写测试代码,运用ModeISi
2、m软件进行仿真验证,对设计的IC限制器进行波形仿真,验证了各个模块的功能和工作状态,仿真了执行过程和波形输出的状况。关键词:PC总线、WiShbOne总线、寄存器、Verilog语言、波形仿真AbstractWiththedevelopmentofmicroelectricandEDA(electronicdesignautomation)technology,FPGA(fieldprogrammablegatesarray)canrealizethefunctionofdigitalcircuitsystemdesign.FPGAhavethemeritoffiledprogrammabil
3、ityandHighintegrationrate,thereforeishighlyrecognizedforengineering.I2Cbusiswidelyappliedinthedigitalsystemassimpleinterface,expedientuse,lowcostandgoodexpansibility.VHD1.isconsideredasacoreofdigitalsystemdesignandakeytechniqueofimplementdigitalsystem.ThedesignrealizesthefunctionofI2Cbusinterfaceont
4、heFPGA.AtfirstthethesisdeeplyresearchI2Cbusspecification,thenbrieflyintroducetheQuartusIIdesignenvironmentandthedesignmethod,aswellasFPGAdesignflow.Inthisfoundation,I2CbuscontrollerdesignschemeandthetimingsimulationunderQuartusIIisparticularlyintroduced.KeywordsQuartusIIJ2Cbuscontroller;FPGA;timings
5、imulation摘要错误!未定义书签。AbstractII第1章绪论51.1 课题背景51.2 I2C总线的产生及发展61.3 FPGA的现状与展望61.4 相关工作6第2章I2C总线技术的探讨82.1 I2C总线的概念82.2 12C总线的传输错误!未定义书签。2.2.1 数据的有效性102.2.2 I2C总线数据传送的起先和停止条件112.2.3 12C总线传输过程中的应答信号112.2.4 I2C总线数据传送的重复起先条件112.2.5 12C总线的传输过程中的字节格式132.2.6 I2C总线的器件子地址182.2.7 12C总线传输信号的时序192.3 本章小结22第3章VHD1.
6、语言的基础学问233.1 VHD1.语言的概述233.2 VHD1.语言的特点233.3 VHD1.语言的程序结构243.3.1 VHD1.程序的库243.3.2 包集合243.3.3 实体说明253.3.4 构造体263.3.5 酉己置263.4 本章小结26第4章设计工具和设计方法274.1 设计工具274.2 基于FPGA的数字电路的设计流程284.3 本章小结29第5章I2C总线的功能设计315.1 12C总线完成的功能315.2 用VHD1.语言实现写操作时的串行转并行325.3 用VHD1.语言实现依次读操作时的并行转串行325.4 I2C总线限制器的顶层设计335.5 本章小结3
7、4第6章I2C总线的硬件时序仿真356.1 器件的选择356.2 硬件仿真366.2.1 用VHD1.语言实现写字节周期376.2.2 用VHD1.语言实现依次读字节周期386.2.3 用VHD1.语言实现选择性读字节周期386.3 本章小结39结论40致谢41参考文献42第1章绪论1.1 课题背景近年来,随着社会的发展,电子产品越来越多的进入人们的生活和工作中,成为了我们生活中必不行少的一部分,随着计算机的普及,以及电子设备之间相互沟通的更加频繁,为了更便利的实现器件与器件之间的通信,研发人员发觉消费者电子电讯和工业电子中,看上去不相关的设计里常常有很多相像的地方。为了使这些相像之处对系统设
8、计者和器件厂商都得益,而且使硬件效率最大、电路最简洁,Philips开发了一个简洁的双向串行总线,实现有效的IC之间限制,这个总线就称为InterlC或RC总线。随着超大规模集成电路的快速发展,半导体工业进入微米时代。随着集成亿万个晶体管的片上系统变得多见,设计困难性随之不断增加,因而设计要求也越来越高。如何进行总线之间的互联成为了迫切须要解决的问题。开发者们起先运用基于片上系统的IP设计方法进行片上系统总线与其他总线互联。他们研发了很多Wishbone总线的兼容IP核,我们通过设计I2C限制器把I2C总线和Wishbone总线相联以进行相互通信。另一方面,由于如今集成电路大规模、高密度、高速
9、度的需求,芯片的集成度和设计的困难度都大大增加,芯片的集成密度已达到一百万个晶体管以上,使电子设计愈来愈困难。为使如此困难的芯片变得易于人脑的理解,用一种高级语言来表达其功能性而隐藏具体实现的细微环节是很必要的,万门以上的设计须要制定一套新的方法就是采纳硬件描述语言。VerilogHD1.是一种硬件描述语言,是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Verilog语言供应特别简洁、可读性很强的句法,运用Verik)g语言已经胜利地设计了很多大规模的硬件。1.2 Wishbone总线的特点及应用Wishbon
10、e总线最先是由Silicon公司提出,现在己被移交给C)PenCoreS组织维护,它通过在IP核之间建立一个通用接口完成互连。可以用于在软核、固核以及硬核之间进行互联。Wishbone规范具有如下特点:它是一个轻量级的规范,接口简洁紧凑,接口须要的互联逻辑特别少;它支持用户定义的标签。完整的一般数据传输总线协议,相对于其他的IP核接口规范来说,Wishbone接口规范具有简洁、开放、高效、利于实现等特点而且完全免费,并没有专利爱护。基于上述优点,因此采纳Wishbone总线进行接口设计。WISHBONE地址和数据位都是32位(假如小于32位也可以进行通信),最多可以连接8个主设备,16个从设备
11、,当多个主设备申请限制时,通过仲裁机制确定什么时候哪个主设备能访问共享总线。Wishbone总线支持的互联类型1,点对点互联2,共享总线互联3,十字交叉互联4,基于交换的互联结构Wishbone支持的数据操作1,单次读/写操作;2,块读/写操作;3,读改写(RMW)操作;1.3 PC总线的发展和基本特征l2C(lnter-IntegratedCirC3t)总线是一种由PHI1.IPS公司开发的两线式串行总线,用于连接微限制器及其外围设备。I2C总线产生于在80年头,最初为音频和视频设备开发,之后又经过多次的修改,成为近年来在微电子通信限制领域广泛采纳的一种总线标准。它是同步通信的一种特殊形式,
12、具有接口线少,限制方式简化,器件封装形式小,通信速率较高等优点。在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。I2C总线的另一个优点是,它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够限制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。基本特征: 只要求两条总线线路一条串行数据线(SDA);一条串行时钟线(SC1.). 每个连接到总线的器件都可以通过唯一的地址和始终存在的简洁的主机/从机关系软件设定地址;主机可以作为主机发送器或主机接收器. 它是一个真正的多主机总线假如两个或更多主机同时
13、初始化数据传输可以通过冲突检测和仲裁防止数据被破坏 串行的8位双向数据传输位速率在标准模式下可达100kbiVs,快速模式下可达400kbits,高速模式下可达3.4Mb计/s 片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整 连接到相同总线的IC数量只受到总线的最大电容400PF限制1.4 相关工作为了设计基于wishbone设备的I2C总线限制器。首先要深化探讨总线和WiShbOne总线的协议规范,分析它们之间的差异。本课题设计了一个主/从模式结构,使ControllerIP与Wishbone总线相联,并通过I2C总线输出得到结果。在Modelsim平台上,对设计进行波形仿真,验证设计
14、结果。第2章Pc总线技术的具体探讨2.1FC总线的概念I2C总线是一种比较流行的总线,它的接受和发送在同一条数据线上。I2C由串行数据(SDA)和串行时钟(SC1.)两根线构成的。总线上允许连接的设备数主要确定于总线上的电容量,一般设定为400pf以下。PC总线上数据的传输速率在标准模式下可达100kbit/s,在快速模式下可达400kbits,在高速模式下可达3.4Mbits0SDA和SC1.都是双向总线,它们都通过上拉电阻连接到电源上。当总线处于停止(ID1.E)状态,两根线都是高电平。对于Pc总线来说,总线上连接的设备,例如1.CD驱动器、存储器等都是有一个唯一的地址识别,而且都可以作为
15、一个发送器或接收器。至于是作为发送器还是接收器,主要取决于连接设备的具体功能。例如1.CD驱动只是一个接收器,而存储器则既可以接受又可以发送数据。除了发送器和接收器外,设备在执行数据传输时也可以被看作是主机或从机。主机是初始化总线的数据传输,并产生允许传输的时钟信号的设备,这时任何被寻址的期间都被认为是从机。由于总线运用两线的硬件接口简洁,FC总线的应用越来越广泛山。下面,将I2C总线的通用术语进行介绍,如表21所示;Pc总线的典型接法如图2-1所示。术语发送器主机从机Vdd主机从机表2-112c总线的通用术语描述发送数据到总线的器件从总线接收数据的期间初始化发送、产生时钟信号和终止发送的器件
16、被主机寻址的器件多主机同时有多于一个主机尝试限制总线,但不破坏报文仲裁是一个在有多个主机同时尝试限制总线,但只允许其中一个限制总线并使报文不被破坏的过程同步两个或多个器件同步时钟信号的过程图2-1Pc总线信号连接示意图PC总线支持任何IC生产工艺,两线一一串行数据线SDA和串行时钟线SC1.都是双向线路,在连接到总线的器件间传递信息。SDA和SC1.都是通过一个电流源或着上拉电阻连接到正的电源电压,当总线空闲时这两条线路都是高电平,连接到总线的器件输出级必需是漏极开路或集电极开路才能执行线与的功能。连接到RC总线上的每个器件都有一个唯一的地址识别,而且都可以作为一个发送器或接收器。除了发送器和
17、接收器外,器件在执行数据传输时也可以被看作是主机或从机。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。2.2I2C总线的传输由于I2C总线的器件有不同种类的工艺(CMOS、NMOS双极性),逻辑0(低)和1(高)的电平不是固定的。在FC总线每传输一位数据就有一个时钟脉冲相对应,其逻辑“0”或“1”的信号电平取决于该节点的正端电源Vdd的电压。数据的有效性在工作过程中,数据有效要求串行数据(SDA)线上的数据必须要在串行时钟(SC1.)的高电平常钟周期期间保持稳定。而只有在串行时钟(SC1.)线的时钟信号是低电平的时候串行数据(SDA)上的数据才
18、能发生变更(如图3所示)Pc总线数据传送的起始与停止条件在Pc总线数据传送的整个过程中,须要先有起先条件引发,并由停止信号结束,这两个条件在数据线上的表示如图4所示。起始条件(三):当SC1.线是高电平常,SDA线从高电平向低电平切换。停止条件(P):当SC1.线是高电平常,SDA线由低电平向高电平切换。不是在数据有效性中规定在SDA只能在SC1.的低电平的时候变更,为何STAR,STOP不一样?首先STAR和STOP不是数据,所以可以不遵守数据有效性中的规定,其它数据都遵守,而STAR和STOP“不遵守”导致STAR和SToP更简洁被识别。这样不是不遵守而是更有优势。SDASC1.START
19、conditionSTOPndition图4起始和停止条件起始和停止条件一般由主机产生总线在起始条件后被认为处于忙的状态在停止条件的某段时间后总线被认为再次处于空闲状态。假如产生重复起始(Sr)条件而不产生停止条件,总线会始终处于忙的状态。此时的起始条件(三)和重复起始(Sr)条件在功能上是一样的。I2C总线数据传送的重复起先条件主机与从机进行通信时,有时须要切换数据的收发方向。例如,访问某一具有FC总线接口的存储器时,主机先向存储器输入存储单元的地址信息(发送数据),然后再读取其中的存储内容(接收数据)。在切换数据的传输方向时,可以不必先产生停止条件再起先下次传输,而是干脆再一次产生起先条件
20、。FC总线在已经处于忙的状态下,再一次干脆产生起始条件的状况被称为重复起始条件。正常的起始条件和重复起始条件在物理波形上并没有什么不同,区分仅仅是在逻辑方面。在进行多字节数据传输过程中,只要数据的收发方向发生了切换,就要用到重复起始条件。四、数据传输ac总线传输过程中的字节格式总线传输时要依据规定的数据格式,发送到SDA线上的每个字节必需为8位,每次传输可以发送的字节数量不受限制,每个字节后必需跟一个应答信号。首先传输的是数据的最高位MSB(见图5)。在起先条件发出之后,SDA输入端发送一个7位的从机地址,然后第8位为数据方向位(读/写位),数据方向表明主机和从机的数据传输方向。“0”表示主机
21、发送数据(写),“1”表示从机发送数据(读)。假如从机要完成一些其他功能后才能接受或者发送下一个完整的数据字节,可以使时钟SC1.保持低电平迫使主机进入等待状态。当从机打算好接受下一个数据字节并释放时钟SC1.后,数据传输接着。数据传输由主机产生停止条件。acknwledgensignafromBitSDA大1ryyr/OoC二30(aCknowledfledentSigralfromreceiverbytecomplete,interruptwithinslaveclocklineheldlowwhileinterruptsareservicedscl-11-7uGV.7V.a一/HfSTA
22、RTor:dSTARTditio11STOPorrealedSTARTcondition图5I2C总线数据传输数据传输必需带响应相关的响应时钟脉冲由主机产生在响应的时钟脉冲期间发送器释放SDA线(高)。在响应的时钟脉冲期间接收器必需将SDA线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平(见图6)当然必需考虑建立和保持时间。当从机不能响应从机地址时(例如它正在执行一些实时函数不能接收或发送),从机必需使数据线保持高电平。主机然后产生一个停止条件终止传输或者产生重复起始条件起先新的传输。假如从机接收器响应了从机地址但是在传输了一段时间后不能接收更多数据字节,主机必需再一次终止传输。这个状况
23、用从机在第一个字节后没有产生响应来表示。从机使数据线保持高电平,主机产生一个停止或重复起始条件。假如传输中有主机接收器,它必需通过在从机不产生时钟的最终一个字节不产生一个响应,向从机发送器通知数据结束从机发送器必需释放数据线,允许主机产生一个停止或重复起始条件。图6I2C总线响应I2C总线传输过程中的应答信号数据传输必需带应答。相应的时钟脉冲由主机产生。在应答的时钟脉冲器件,发送机SDA输入端保持高电平,接收机将SDA输出端拉低,使它在这个时钟脉冲的高电平器件保持稳定的低电平。当从机不能应答从机地址时,从机必需使数据线保持高电平,主机产生一个停止条件,终止传输或者产生重复起始条件起先新的传输。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 VHDL 论文
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-1364322.html