(毕业论文)基于FPGA的UART设计.doc
《(毕业论文)基于FPGA的UART设计.doc》由会员分享,可在线阅读,更多相关《(毕业论文)基于FPGA的UART设计.doc(53页珍藏版)》请在沃文网上搜索。
1、摘要 通用串口是远程通信接口,在数字系统使用很普遍,是一个很重要的部件。本论文使用Verilog HDL 语言描述硬件功能,利用QuartusII 5.0在 FPGA 芯片上的综合描述,采用模块化设计方法设计UART(通用异步收发器)的各个模块。其中包括波特发生器,程序控制器,UART数据接收器和UART数据发送器,本文采用的外部时钟为48MHZ,波特率为9600。在QuartusII 5.0和Modelsim6.0环境下进行设计、编译和仿真。最后的程序编译仿真表明系统数据完全正确。关键词:VerilogHDL; UART;帧格式;FPGA;AbstractIn this paper, the
2、 use of hardware description languages Verilog VHDL function, the use of Alteras FPGA chips, the design of modular design method of UART (Universal Asynchronous Receiver Transmitter) of each module, including Porter, generators, process controllers, UART receiver data and the UART transmitter data.
3、QuartusII 5.0 and Modelsim6.0 in environment design, compilation, simulation and downloading. Finally, simulation results show that the procedures for compiling data entirely correct. Key words: VerilogHDL; UART; frame format; FPGA目录第一章 绪论1 1.1引言11.2 什么是Verilog HDL?11.3 历史21.4 主要能力21.5 模块41.6 数据流描述方
4、式5第二章片上系统SOC与FPGA的现状62.1 片上系统SOC介绍62.2 FPGA技术介绍62.3 FPGA 核心设计流程72.3.1 设计流程图72.3.2关键步骤的实现82.3.2.1 功能仿真82.3.2.2 逻辑综合92.3.2.3 前仿真92.3.2.4 布局布线102.3.2.5 后仿真(时序仿真)11第三章UART设计123.1 UART的帧格式123.2 UART模块133.2.1主要引脚功能介绍133.2.2UART主体程序143.3UART发送模块153.3.1UART的数据发送服务153.3.2UART的数据发送操作163.3.3UART的数据发送模块程序173.3.
5、4UART的数据发送模块程序仿真图203.4UART接收模块213.4.1UART数据接收服务213.4.2UART数据接收操作223.4.3UART的数据接收模块程序223.4.4UART的数据接收模块程序功能仿真图253.5UART控制器263.5.1UART控制器服务263.5.2UART控制器模块程序263.5.3UART控制器模块程序仿真图283.6UART波特发生器293.6.1UART波特发生器服务293.6.2UART波特发生器模块程序293.6.13UART波特发生器程序仿真图30结论31参考文献32致谢33附录34外文资料原文35译文43电子科技大学成都学院毕业设计论文绪论
6、1.1引言 21世纪,电子技术迅猛发展,高新技术日新月异。传统的设计方法正逐步退出历史舞台,取而代之的是基于EDA技术的芯片设计技术,它正在成为电子系统设计的主流。大规模可编程器件现场可编程门阵列FPGA(Field Programmable Gate Array)和复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)是当今应用最广泛的两类可编程专用集成电路(ASIC)。其性能好、可靠性高、容量大、体积小,微功耗、速度快、使用灵活、设计周期短、开发成本低,静态可重复编程、动态在系统重构、硬件功能可以像软件一样通过编程来修改,极大地提高了电子系统设计的
7、灵活性和通用性。电子工程师和科学研究人员利用该类器件可以在办公室或实验室设计出所需要的专用集成电路,大大缩短产品的研发周期和降低成本。近年来,可编程逻辑器件的开发生产和销售规模以惊人的速度增长,且广泛地应用于航空航天、网络通信、军用雷达、仪器仪表、工业控制、医用CT、家用电器、手机和计算机等各个领域。它的广泛应用,使传统的设计方法正在进行一场巨大的变革。异步串行通信要求的传输线少,可靠性高,传输距离远,被广泛应用于微机和外设的数据交换。通常都由通用异步收发器UART(Universal AsynchronousReceiver- Transmitter)来实现该功能,如IBM PC 机中作为串
8、行接口芯片的National INS 8250。在实际应用中,往往只需要UART 的几个主要功能,专用的接口芯片会造成资源浪费和成本提高,特别是近来电子设计领域中日趋成熟的SOC 技术,由于要在单块或极少数的几块芯片中实现整个系统的功能,设计者就可以将类似UART的功能模块集成到FPGA 中。1.2 什么是Verilog HDL? Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。Verilog HDL 语言具有下
9、述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外, Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。 因此,用这种语言编写的模型能够使用Ve r i l o g仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于
10、学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。1.3 历史 Verilog HDL语言最初是于1 9 8 3年由Gateway Design Automation 公司为其模拟器产品开发的硬件建模语言。那时它只是一种专用语言。 由于他们的模拟、仿真器产品的广泛使用,Verilog HDL 作为一种便于使用且实用的语言逐渐为众多设计者所接受。在一次努力增加语言普及性的活动中, Verilog HDL语言于1 9 9 0年被推向公众领域。Open Verilog International(O V I)是促进Ve r i l o
11、g发展的国际性组织。1 9 9 2年, O V I决定致力于推广Verilog OVI标准成为I E E E标准。这一努力最后获得成功, Verilog 语言于1 9 9 5年成为I E E E标准,称为IEEE Std1 3 6 41 9 9 5。完整的标准在Ve r i l o g硬件描述语言参考手册中有详细描述。1.4 主要能力 下面列出的是Ve r i l o g硬件描述语言的主要能力: 基本逻辑门,例如a n d、o r和n a n d等都内置在语言中。 用户定义原语( U D P)创建的灵活性。用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。 开关级基本结构模型,例如p
12、m o s 和n m o s等也被内置在语言中。 提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。 可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式使用过程化结构建模;数据流方式使用连续赋值语句方式建模;结构化方式使用门和模块实例语句描述建模。 Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。 能够描述层次设计,可使用模块实例结构描述任何层次。 设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。 Verilog HDL不再是某些公司的专有语言而是I E
13、 E E标准。 人和机器都可阅读Verilog 语言,因此它可作为E D A的工具和设计者之间的交互语言。 Verilog HDL语言的描述能力能够通过使用编程语言接口( P L I)机制进一步扩展。P L I是允许外部函数访问Verilog 模块内信息、允许设计者与模拟器交互的例程集合。 设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级( RT L)到算法级,包括进程和队列级。 能够使用内置开关级原语在开关级对设计完整建模。 同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。 Verilog HDL 能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控
14、和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。 在行为级描述中, Verilog HDL不仅能够在RT L级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述。 能够使用门和模块实例化语句在结构级进行结构描述。建模能力,即在一个设计中每个模块均可以在不同设计层次上建模。 Verilog HDL 还具有内置逻辑函数,例如&(按位与)和|(按位或)。 对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用。 可以显式地对并发和定时进行建模。 提供强有力的文件读写能力。 语言在特定情况下是非确定性的,即在不同的模拟器上模型可以产生不同的结果;
15、例如,事件队列上的事件顺序在标准中没有定义。1.5模块模块是Verilog 的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口。一个设计的结构可使用开关级原语、门级原语和用户定义的原语方式描述; 设计的数据流行为使用连续赋值语句进行描述; 时序行为使用过程结构描述。一个模块可以在另一个模块中使用。一个模块的基本语法如下:Module modulename(portlist);Declarations;reg, wire, parameter,input, output, inout,function, task, . . .Statements:Initial state
16、mentAlways statementModule instantiationGate instantiationUDP instantiationContinuous assignmentendmodule说明部分用于定义不同的项,例如模块描述中使用的寄存器和参数。语句定义设计的功能和结构。说明部分和语句可以散布在模块中的任何地方;但是变量、寄存器、线网和参数等的说明部分必须在使用前出现。为了使模块描述清晰和具有良好的可读性, 最好将所有的说明部分放在语句前。本书中的所有实例都遵守这一规范。图1- 2为建模一个半加器电路的模块的简单实例。Module halfadder(A,B,Sum,C
17、arry);Input: A, B;Output: Sum, Carry;assign #2 Sum = A B;assign #5 Carry = A & B;endmodule图1-2半加法器模块的名字是halfadder。模块有4个端口: 两个输入端口A和B,两个输出端口S u m和C a rry。由于没有定义端口的位数, 所有端口大小都为1位;同时, 由于没有各端口的数据类型说明, 这四个端口都是线网数据类型。模块包含两条描述半加器数据流行为的连续赋值语句。从这种意义上讲,这些语句在模块中出现的顺序无关紧要,这些语句是并发的。每条语句的执行顺序依赖于发生在变量A和B上的事件。在模块中,
18、可用下述方式描述一个设计:1) 数据流方式;2) 行为方式;3) 结构方式;4) 上述描述方式的混合。1.6 数据流描述方式用数据流描述方式对一个设计建模的最基本的机制就是使用连续赋值语句。在连续赋值语句中,某个值被指派给线网变量。连续赋值语句的语法为:a s s i g n d e l a y L H S n e t = RHS_ expression;右边表达式使用的操作数无论何时发生变化, 右边表达式都重新计算, 并且在指定的时延后变化值被赋予左边表达式的线网变量。时延定义了右边表达式操作数变化与赋值给左边表达式之间的持续时间。如果没有定义时延值, 缺省时延为0。1.6 行为描述方式设计
19、的行为功能使用下述过程语句结构描述:1)initial语句:此语句只执行一次。2) always语句:此语句总是循环执行, 或者说此语句重复执行。只有寄存器类型数据能够在这两种语句中被赋值。寄存器类型数据在被赋新值前保持原有值不变。所有的初始化语句和a l w a y s语句在0时刻并发执行。电子科技大学成都学院毕业设计论文第二章片上系统SOC与FPGA的现状2.1 片上系统SOC介绍 SOC(systemonChip)称为片上系统。它最早产生于20世纪90年代中期,是一种将一个完整系统所有不同的功能块一次直接集成于一颗硅片上的技术。根据这种技术所制造出的芯片,就叫做片上系统,也称为系统级芯片
20、。SOC由可设计复用的IP核组成,采用超深亚微米工艺技术制造。这种结构使得在芯片设计过程中,能做到各种资源的最优化利用,使设计周期缩短,资源利用率最高。在一般设计过程中,设计人员要做的只是前端设计,如系统结构设计、硬件编程、功能仿真、时序仿真,然后向芯片制造商提供生成的网表。芯片制造商则负责芯片的物理设计、封装、测试等工作。但是随着系统集成度的不断提高以及终端用户需求的多样化,系统功能愈来愈复杂,如何确定系统结构并完成软硬件的划分,传统的系统设计方法己经不能很好满足设计的需求。为了提高芯片的设计效率,缩短设计周期,系统设计需要新的设计理论体系和设计方法,以克服传统设计方法中前端设计和后端设计相
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 基于 FPGA UART 设计
