在1980至1990年代,提供FPGA数万逻辑门的FPGA器件主要被系统设计人员用作“连接逻辑”,将电路板上的不同元器件连接到一起,或用来修正ASIC不方便处理的问题。但在1990年代末期,百万门现场可编程门阵列(FPGA)产品的出现使在单块可编程芯片中集成系统级功能成为可能。目前市场上出售的最大规模FPGA产品有600万系统门和1.4亿个晶体管,已经跻身于最复杂的半导体器件之列。
而如今,FPGA的一些新的技术发展趋势不仅使其越来越多地替代ASIC,成为可编程逻辑领域的主流产品,从ASIC市场抢夺越来越多的市场份额;同时,还为自身不断带来新的利润增长点和广阔的市场前景。
串行外设都会用到RS232-C异步串行接口,传统上采用专用的集成电路即UART实现,如TI、EXAR、EPIC的550、452等系列,但是我们一般不需要使用完整的UART的功能,而且对于多串口的设备或需要加密通讯的场合使用UART也不是最合适的。如果设计上用到了FPGA/CPLD器件,那么就可以将所需要的UART功能集成到FPGA内部。
FPGA的发展也促进了PLD设计方法的进步,基于硬件描述语言(HDL)高级综合的电子设计自动化(EDA)方法已成为FPGA的主流设计技术,使得用户能够高效地完成复杂地大型设计任务,并直接生成FPGA的ASIC器件。
本论文的任务就是在FPGA技术的基础上,用VHDL语言来描述UART功能,使之能完成UART的一些主要功能:
1)写数据 将数据总线上的一个数据写入发送寄存器。
2)读数据 数据从输出寄存器发送到数据总线上。
3)数据接收控制 当数据接收端RxD出现低电平,一个数据启动位到来时,一个接收计数周期开始,当计数到7时,计数器清零等待下一个启动位的到来。
4)数据发送控制 当一个数据写入到发送寄存器时,其控制计数器开始一个发送的计数周期,当一个数据发送结束,计数器清零,等待下一个发送数据到来。
5)接收数据移位控制 进行数据的串并变换。
6)发送数据的并串变化。