文档介绍:目录
【内容摘要】 2
【关键词】 2
一、FPGA 3
(一)FPGA设计流程及概述 3
(二)自顶向下原理 4
二、UART 4
(一)UART简述 4
(二)RS-232串口通信 4
4
5
三、设计软件 5
(一)Synplify的性能特点 5
(二)ModelSim的性能特点 5
四、UART实现原理 6
(一)UART各个小模块的功能和实现程序 6
6
7
8
9
10
11
(二)UART内核模块状态机的实现 11
(FSM)简介 11
12
12
、电路图及仿真图 13
(三) UART工作流程 15
15
16
五、设计小结 17
[参考文献及相关资料] 17
【Abstract 】 18
【Key words】 19
基于FPGA/CPLD的通用异步通信接口UART建模与设计
电子信息工程 2003080264 廖泽雷指导教师冯昌昆
【内容摘要】FPGA/CPLD是大规模集成电路技术发展的产物,是一种半定制的集成电路。结合计算机软件技术(EDA技术)可以快速、方便地构建数字系统。FPGA是电子设计领域中最具有活力和发展前途的一项技术,它的影响丝毫不亚于20世纪70年代单片机的发明和使用。可以毫不夸张地讲,FPGA能完成任何数字器件的功能。随着EDA软件和硬件描述语言(HDL)的进步, FPGA的开发周期越来越短,产品功能越来越强。FPGA在复杂逻辑电路以及数字信号处理领域中扮演者越来越重要的角色。
UART(通用异步接受/发送器)是一种短距离串行传输接口。在数字通信和控制系统中得到广泛应用。本设计采用了多模块化实现方法,介绍了采用Verilog DHL硬件描述语言来开发基于FPGA/CPLD的通用异步通信接口UART的设计。系统结构进行了模块化分解,使之适应自顶向下的设计方法。核心部分采用有限状态机(FSM)实现,使控制逻辑直观简单,大幅度提高了设计效率。设计、。
【关键词】FPGA/CPLD;UART;多模块;有限状态机
随着EDA技术的发展,FPGA/CPLD已经在许多方面得到了广泛的应用,而UART(Universal Asynchronous Receiver/ Transmitter,通用异步接受/发送器),是一种广泛使用的串行数据传输协议,它允许在串行链路上进行全双工通信。串行外设中用到的如RS232异步串行接口等,一般可以采用专用的集成电路即UART来实现,比如8250、8251等芯片都是常见的UART器件,但这些芯片速度较慢,难以满足一些高速应用的场合,虽然也有新型的UART可以满足高速的要求,但所有的UART芯片都存在引脚较多、体积较大的缺点、与其他器件的接口较为复杂等缺点,从而会使设计的成本和难度加大。因此可以将需要的UART功能集成到FPGA/CPLD内部。利用Verilog DHL语言将UART核心功能集成,不仅可以解决传统芯片的缺点,也使整个设计更加紧凑、稳定且可靠。
FPGA
(一) FPGA设计流程及概述
总的来说,要实现一个数字系统,有两种常用的方式,一种基于PLD器件,另一种则采用ASIC来实现。基于FPGA/CPLD器件的EDA设计流程,主要包括设计输入、综合、FPGA/COLD适配、仿真等步骤。其中设计输入是设计将所要设计的电路以开发软件要求的某种形式表达出来,并输入到相应软件中的过程,最常用的是原理图方式和HDL文本方式两种。综合是一个很重要的步骤,指的是将较高层次的设计描述自动转化为较低层次描述的过程。仿真是对设计电路的功能验证,可以在设计的过程中对整个系统和各个模块进行仿真,若有问题可以随时进行修改。仿真包括功能仿真(又称前仿真)和时序仿真(又称后仿真)。经过设计输入、综合、仿真、布局布线后,再利用FPGA来具体实现。具体的流程图如下:
(1) 设计定义
(2) HDL实现
逻辑仿真器
(3) 功能仿真
逻辑综合器
(4) 逻辑综合
逻辑仿真器
(5) 前仿真
FPGA厂家工具
(6) 布局布线
逻辑仿真器
(8)静态时序分析
(7) 后仿真
(8) 在系统测试
说明:
(1) 逻辑仿真器主要指 modelsim,Verilog-XL等。
(2) 逻辑综合器主要指 Snyplify、FPGA Express/p