




已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于TLC5620的FPGA波形发生器设计毕业论文目 录摘要IAbstractII第1章 绪论11.1 课题背景11.1.1 研究背景11.1.2 研究的目的及意义21.1.3发展现状31.2设计的目的及意义41.3论文主要研究内容及结构安排6第2章 系统硬件72.1 FPGA基本原理72.2FPGA开发板92.2.1EP2C5T144核心板92.2.2PERI1-8KD外设板102.2.3PERI2-4DI外设板122.3本章小结15第3章 开发软件163.1 VHDL硬件编程语言163.2 开发软件QUARTUS II173.3基于VHDL综合的FPGA设计流程183.4本章小结22第4章 设计成果234.1总体设计思想234.2分模块设计244.2.1主控模块设计244.2.2波形发生模块设计274.2.3显示驱动模块设计294.2.4TLC5620驱动模块设计314.3最终设计成果334.3.1软件部分334.3.2硬件成果364.4本章小结38结论39参考文献40致谢41附录142附录246附录350附录456I第1章 绪论 第1章 绪论1.1 课题背景1.1.1 研究背景 波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。早在20年代,当电子设备刚出现时,他就出现了。随着通信和雷达技术的发展,40年代出现了主要用于测试各种接收机的标准信号发生器,使信号发生器从定性分析的测试仪器成为定量分析的测量仪器。同时还出现了可用来测试脉冲电路或用作脉冲调试器的脉冲信号发生器。由于早期的信号发生器的机械结构比较复杂,功率比较大,电路比较简单,因此发展比较缓慢。直到1964年才出现了第一台全晶体管的信号发生器。自60年代以来,信号发生器有了迅速的发展,出现了函数发生器、扫频信号发生器、合成信号发生器、程控信号发生器等新种类。各类信号发生器的性能指标也有了大幅度的提高,同时在简化机械结构、小型化、多功能等各方面也有了显著的发展。在70年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。在70年代后,微处理器的出现,可以利用处理器、A/D/和D/A,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。90年代末,出现几种真正高性能、高价格的函数发生器、但是HP公司推出了型号为HP770S的信号模拟装置系统,它由HP8770A任意波形数字化和HP1776A波形发生软件组成。HP8770A实际上也只能产生8中波形,而且价格昂贵。不久以后,Analogic公司推出了型号为Data-2020的多波形合成器,Lecroy公司生产的型号为9100的任意波形发生器等。到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过GHz的DDS芯片,同时也推动了函数波形发生器的发展,2003年,Agilent的产品33220A能够产生17种波形,最高频率可达到20M,2005年的产品N6030A能够产生高达500MHz的频率,采样的频率可达1.25GHz。1.1.2 研究的目的及意义当今世界在以电子信息技术为前提下推动了社会跨跃式的进步,科学技术的飞速发展日新月异带动了各国生产力的大规模提高。由此可见科技已成为各国竞争的核心,尤其是电子信息技术更显得尤为重要,在国民生产各部门电子信息技术得到了广泛的应用。FPGA(Field Programmable Gate Array)是目前广泛采用的一种可编程器件1,随着微电子技术的发展,现场可编程门阵列(FPGA)得到了飞速发展。FPGA的时钟延迟可达到纳秒级,结合其并行工作方式,在超高速、实时测控方面有非常广阔的应用前景,具有工作速度快、集成度高和现场可编程的优点。它的应用不仅使得数字电路系统的设计非常方便,并且还大大缩短了系统研制的周期,缩小了数字电路系统的体积和所用芯片的品种。而且它的时钟频率已可达到几百兆赫兹,加上它的灵活性和高可靠性几乎可将整个设计系统下载于同一芯片中,实现片上系统(SOC),非常适合用于实现波形发生器的数字电路。这说明基于FPGA的波形发生器,有着广阔的前景。培养FPGA应用人才,特别是在工程技术人员中普及FPGA知识有着重要的现实意义。波形发生器是信号源的一种,主要给被测电路提供所需要的己知信号,然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它的应用非常广泛。它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。随着科技的发展,对相应的测试仪器和测试手段也提出了更高的要求,波形发生器己成为测试仪器中至关重要的一类。传统的波形发生器采用专用芯片,成本高,控制方式不灵活。本设计充分利用FPGA灵活的控制、丰富的外设处理能力,实现频率、幅值可调的信号的输出,同时可以根据需要方便地实现各种比较复杂的调频、和调幅功能,具有良好的实用性。1.1.3发展现状过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。波形发生器通常允许州一系列的点、直线和同定的函数段把波形数据存入储器。同时可以利用一种强有力的数学方程式输入方式,复杂的波形可以由几个比较简单的公式复合成产生。从而促进了函数波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。日前可以利用可视化编程语言(如Visual Basic,Visual C等等)编写任意波形发生器的软而板,这样允许从计算机显示屏上输入任意波形,来实现波形的输入。 波形发生器与VXI资源结合。波形发生器由独立的台式仪器和适用于个人计算机的插卡及新近开发的VXI模块。由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量产生复杂的波形,VXI的系统资源提供了明显的优越性,但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使州,使得波形发生器VXI模块仅限于航空、军事及国防等人型领域。在民用方面,VXI模块远远不如台式仪器更为方便。 随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的同类产品减少了一半。 早在1978年,由美国Wavetek公司和日本东亚电波工业公司公布了最高取样频率为5MHz,可以形成256点(存储长度)波形数据,垂直分辨率为8bit,主要用于振动、医疗、材料等领域的第一代高性能信号源,经过将近30年的发展,伴随着电子元器件、电路、及生产设备的高速化、高集成化,波形发生器的性能有了飞速的提高。变得操作越来越简单而输出波形的能力越来越强。波形操作方法的好坏,是由波形发生器控制软件质量保证的,编辑功能增加的越多,波形形成的操作性越好。 波形发生器是信号源的一种,主要给被测电路提供所需要的己知信号,然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它的应用非常广泛。它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。日前我国己经开始研制波形发生器,并取得了可喜的成果。但总的来说,我国波形发生器还没有形成真正的产业。就日前国内的成熟产品来看,多为一些PC仪器插卡,独立的仪器和VXI系统的模块很少,并且我国目前在波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。当今世界在以电子信息技术为前提下推动了社会跨跃式的进步,科学技术的飞速发展日新月异带动了各国生产力的大规模提高。由此可见科技已成为各国竞争的核心,尤其是电子信息技术更显得尤为重要,在国民生产各部门电子信息技术得到了广泛的应用。 1.2设计的目的及意义EDA的关键技术之一就是要求用形式化方法来描述数字系统的硬件电路,即要用所谓硬件描述语言来描述硬件电路。所以硬件描述语言以及相关的仿真、综合等技术的研究是当今EDA领域的一个重要课题2。在教学实验和测试中,经常需要用到含有特定频率和幅度的任意函数波形,而这时候往往需要使用波形发生器作为信号源,在其他领域,包括自动控制系统设计通信等领域,经常需要高精度高频率且频率可方便调节的正弦波方波三角波等信号作为信号源。但目前常见的函数发生器要么是采用分立元件,但系统不够稳定,要么是采用专用芯片,但成本过高,均有很大的局限性。在现代数字系统设计中,现场可编程器件FPGA和CPLD的使用越来越广泛3。同时,基于大规模可编程逻辑器件的EDA(电子设计自动化)硬件解决方案也被广泛采用。一般地说,EDA解决方案均采用计算机自顶向下的设计方式,在底层设计时对逻辑进行必要的描述,并依赖特定的软件执行逻辑优化与器件映射,最后再使用由各芯片生产厂商提供的编译器执行布线和网格优化。虽然对于简单的逻辑,采用原始逻辑图或布尔方程输入可获得非常好的效果,但对于复杂的系统设计,应用以上方案就容易产生错误,而必须依靠一种高层的逻辑,这样就产生了硬件描述语言HDL,其中符合IEEE 1076标准的VHDL的应用成为新一代EDA解决方案中的首选,是整个电子逻辑系统设计的核心4。VHDL最初是美国国防部为其超高速集成电路研究计划提出的硬件描述语言,目的是为了把电子电路的设计意义以文字或文件的方式保存下来,便于其他人能轻易地了解电路的设计意义。现在已成为BEG INIEEE的工业标准硬件描述语言之一5。波形发生器又叫信号发生器。在现代电子仪器中,信号发生器是一类十分重要的仪器,随着电子测量技术与计算机技术的紧密结合,EDA技术的逐渐娴熟,各种波形发生器应运而生。这次的开发基于TLC5620的FPGA波形发生器,利用了VHDL硬件描述语言的形式来进行数字系统的设计,并且利用了EDA软件QUARTUS II进行编译优化仿真,极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。通过对本设计项目的研究,可以掌握EDA设计流程,提高工程实践能力。使得所学的专业知识得到了实践和运用。1.3论文主要研究内容及结构安排针对课题的要求,结合FPGA控制、LCD字符显示、DAC芯片驱动等相关知识,运用VHDL语言描述了一个波形、幅度、频率均可显示,而且波形可变、幅度可控、频率可调的波形发生器。论文的结构安排如下:第1章介绍了课题的研究背景,并对国内外研究现状进行了概述,介绍了本次课题的目的及意义。第2章介绍了FPGA工作原理,并对这次设计使用的开发板进行了简要的介绍。第3章主要描述了在设计中用到的软件部分,主要介绍了VHDL硬件编程语言和QUARTUS II软件,并介绍了基于VHDL综合的FPGA设计流程。第4章主要介绍了本次设计的思想,并描述了各个子模块的设计方式。最后给出了设计成果。5 第2章 系统硬件第2章 系统硬件2.1 FPGA基本原理现场可编程门阵列(Field Programmable Gate Arrays,FPGA)是一种可编程使用的信号处理器件,用户可通过改变配置信息对其功能进行定义,以满足设计需求。与传统数电路系统相比,FPGA具有可编程、高集成度、高速和高可靠性等优点,通过配置器内部的逻辑功能和输入/输出端口,将原来电路板级的设计放在芯片中进行,提高了电路性能,降低了印刷电路板设计的工作量和难度,有效提高了设计的灵活性和效率6。FPGA的应用使得数字电路系统设计变的非常的方便,它不但可以缩短开发周期,还可以进行片上系统设计,提高了系统的可靠性等,目前在电子设计领域有着广泛的应用。用FPGA 完成函数发生器的方法与传统的方法相比较,硬件结构是简单的,大大减小了它的体积和重量,省去了传统的烦琐的硬件设计7。 图2-1芯片逻辑单元通常 FPGA 由布线资源分隔的可编程逻辑单元构成阵列,又由可编程 I/O 单元围绕阵列构成整个芯片,排成阵列的逻辑单元由布线通道中的可编程内连线连接起来实现一定的逻辑功能。目前使用的FPGA 的可编程逻辑单元一般由查找表和触发器构成8。如图2-1芯片逻辑单元所示即为Cyclone系列FPGA芯片的逻辑单元(LE)组成。查找表(Look-Up-Table)简称为 LUT,其本质上就是一个静态存储器 SRAM。查找表是这样实现的:首先 FPGA 开发软件会自动计算逻辑电路的所有可能的结果,然后把结果事先写入查找表中,FPGA工作时,输入信号所进行的逻辑运算就等于输入一个地址进行查表,找出地址对应的内容后输出,即实现了该逻辑功能。 当然,对于复杂的设计,一个LUT是无法完成的,FPGA可以通过进位逻辑将多个LUT相连起来,实现 n 输入的查找表,实现设计要求。通俗地说,FPGA就是由查找表、触发器和布线资源组成。下图是一个Cyclon系列FPGA芯片的内部结构,其中一对查找表和触发器构成逻辑单元LE,若干个 LE 组成逻辑阵列块LAB,最后再配上各种布线资源,就是一个 FPGA芯片了。 图2-2 FPGA芯片内部结构2.2FPGA开发板2.2.1EP2C5T144核心板这次设计我们采用ZRtech的EP2C5T144核心板作为开发板,这种开发板都是经过设计师与专业PCB设计人员精心设计而成的,外观大方,美观,科学,PCB的焊盘都是采用沉金工艺的,贴片机焊接加工而成。并且,该开发板采用了核心板与子板的方式,提高了开发板的兼容性与扩展性,开发板可以结合新的外设板,能够方便的实现功能的扩展。该开发板采用了EP2C5主芯片,大约有5000个的逻辑资源。这些逻辑资源对学习研究FPGA开发板已经足够。而且主板采用EPCS4的配置芯片,足够学习研究使用,而且尽可能的将芯片的管脚节省了出来,用来接插外设板,使板子的扩展功能更加强大。 图2-3 核心板实物图本次所使用的开发板还有以下几个特点:首先FPGA主芯片采用了Altera公司高性价比FPGA,CycloneII系列EP2C5Q208,CycloneII是Altera第二代业界领先的低成本Cyclone FPGA,成本比第一代器件低30,而密度是其三倍以上,在低成本FPGA市场上的领先地位。其次,板载了EPCS4N串行配置芯片,同时支持JTAG和AS两种下载模式。还有,本开发板板载了50MHz有源晶振,可通过FPGA片内PLL产生各种所需频率。再就是,本开发板采用了大功率LDO电源管理芯片,最大支持3A的3.3V电压输出。而且开发板上还采用大量去耦电容还精心设计了去耦电路。最值得一提的事,这个开发板巧妙的将核心板与外设板分离,带2个外设板插槽,可以同时插接两块外设板,而且外设板上也有相应的扩张插槽,很方便的就能加入其它硬件设备。2.2.2PERI1-8KD外设板PERI1-8KD 外设板又称为基础接口板,这款外设板默认由核心板提供驱动电源,提供了常用的输入与显示输出的基本外设,如按键, 数码管,液晶显示屏等。这些输入输出外设是任一个实验都不可或缺的。其主要硬件资源有,8位LED发光二极管,8位8段LED数码管,1个蜂鸣器,8个独立轻触按键,2路拨码开关,8位LED发光二极管,LCD12864液晶屏接口,LCD5110液晶屏接口,外部电源接口,LCD1602液晶屏接口和1个电源指示灯及一个可调电位器。图2-4 PERI1-8KD外设板实物图在波形发生器的设计过程中,选用了该板的8个独立轻触按键和2路拨码开关,还用到了LCD1602液晶屏接口。在这次设计中,LCD1602需要显示产生信号的波形、频率、幅值等信息,也是波形发生器中必不可少的部分,接下来将对LCD1602做一个详细的介绍。本实验板采用了深圳亚斌电子有限公司生产的蓝色背光的双芯片YB1602A 液晶模块。YB1602A采用COB工艺制作,结构稳定,使用寿命长,可以应用于智能仪器仪表,通讯,办公自动化以及军工领域。字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚)其控制原理与14脚的LCD完全一样,这次采用的是16引脚的LCD,其与FPGA连接如下。 图2-5 LCD1602与FPGA连接图如果要写入指令或者数据,首先要使RS与R/W 线的电平变化,RS 的高低分别表示即将写入的是数据还是指令。R/W 分别控制是读写,对于写,则 R/W 应该保持为低电平。然后在确保 RS,RW 稳定后送入使能信号E,使其为高电平,在使能信号稳定后,就可以在数据线 D0-D7 上送入需要写入的命令或者数据了。对于一次读写操作,最短的周期在 500-1000ns,也就是不到 1 微秒,这个时间是足够短了。实际使用时,可以适当放慢写入的速度,也可以足够时间显示了,并可以达到理想的效果。LCD1602的控制器SPLC780,内置了DDRAM(显示数据存储器)、CGROM(自定义字符存储器)和AC(地址指针计数器)CGROM功能主要是存储用户自定义的字符,在这里我们主要介绍AC与DDRAM。 地址指针计数器AC是可读可写计数器。他是DDRAM和CGRAM共用的地址指针计数器,由当前的最近写入的地址设置指令的标识码来确定。可设置成加一计数器和减一计数器,当读/写操作后地址指针计数器会自动迚行修正。AC 还作为光标和闪烁的位置地址指针,指示当前光标和闪烁的位置地址。 DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕地址一一对应。也就是说想要在LCD1602屏幕的第一行第一列显示一个A字,就要向DDRAM的00H地址写入“A”字的代码就行了。 由于控制写入时D7固定为1,也就是如果你要想在DDRAM的00H地址处显示数据,则必须将00H加上80H,即80H,若要在DDRAM的01H处显示数据,则必须将01H加上80H即81H,依次类推。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。SPLC780C的指令集有11条,根据指令集,可以对DDRAM的内容和地址迚行操作和配置。2.2.3PERI2-4DI外设板PERI2-4DI外设板专为ZRtech核心板配套使用,该默认子卡由核心板提供驱动电源,并提供了常用的接口与采集器件,如串口,PS2,模数,数模转换器等,详细如下。 PERI2-4DI外设板含有一个LM75温度传感器,一个PCF8563实时时钟,一个TLC549 AD转换器,一个TLC5620 DA转换器,2个PS2接口,一个256色VGA接口,一个RS232串口,一个32.768基准晶振,一个2.5V电压基准源,一个可调电位器,一个外部电源接口和一个电源指示灯。 图2-6外设板实物图在设计波形发生器时,选用了该外设板的TLC5620DA转换器,TLC5620是波形发生器的主要部分,各种波形的产生,都是基于TLC5620的模数转换功能,以下是对TLC5620的详细介绍。TLC5620是带有高阻抗缓冲输入的4通道8位电源输出数模转换器集合。这些转换器可以产生单调的、一至两倍于基准电压和接地电压差值的输出。通常情况下TLC5620的供电电压为一个5V电源。器件内集成上电复位功能,确保启动时的环境是可重复的。对TLC5620C的数字控制是通过一根简单的3路串行总线实现的。该总线兼容CMOS,并易于向所有的微处理器和微控制器设备提供接口。11位的命令字包括8位数据位,2位DAC选择位和1位范围位,后者用来选择输出范围是1倍还是2倍。DAC寄存器采用双缓存,允许一整套新值被写入设备中。通过LDAC实现DAC输出值的同时更新。数字量的输入采用史密斯触发器,从而有效降低噪声。TLC5620有以下几个特点,具有4通道8位电压输出D/A转换器,采用5V单电源和串行接口,具有高阻抗的基准输入可编程实现1至2倍的输出范围。内置上电复位 ,具有半缓冲输出。引脚名称引脚序号输入/输出功能描述描述CLK7I串行接口时钟。引脚出现下降沿时将输入的数字量转发到串行接口寄存器里DACA12ODACA模拟信号输出DACB11ODACB模拟信号输出DACC10ODACC模拟信号输出DACD9ODACD模拟信号输出DATA6I存放数字量的串行接口GND1I地回路及参考终端LDAC13I加载DAC。当引脚出现高电平时,即使有数字被读入串行口也不会对DAC的输出迚行更新。只有当引脚从高电平变为低电平时,DAC输出才更新。LOAD8I串口加载控制。当LDAC是低电平,并且LOAD引脚出现下降沿时数字量被保存到锁存器,随后输出端产生模拟电压。REFA2I输入到DACA的参考电压。这个电压定义了输出模拟量的范围。REFB3I输入到DACB的参考电压。这个电压定义了输出模拟量的范围。 表2-1 引脚及对应的序号功能引脚及对应的序号功能如上表,其中VREF为2.5V基准源,四个通道都采用其作为基准源,输入5V电压不输出电压都经过滤波,保证精度。TLC5620是串联型8位D/A转换器(DAC),它有4路独立的电压输出D/A转换器,具备各自独立的基准源,其输出还可以编程为2倍或1倍,在控制TLC5620时,只要对该芯片的DATA、CLK、LDAC、LOAD端口控制即可,TLC5620控制字为11位,包括8位数字量2位通道选择,1位增益选择。其中命令格式第1位、第2位分别为A1、A0,A1,A0共有四个值00、01、10、11分别代表着DA的四个输出端口DCAA、DCAB、DCAC、 15第2章 系统硬件15 第3章 开发软件DCAD。第3位为RNG,即可编程放大输出倍率,第4到11位为数据位,高位在前,低位在后。TLC5620中的每个DAC的核心是带有256个抽头的单电阻,每一个DAC的输出可配置增益输出放大器缓冲,上电时,DAC被复位且代码为0。每一通道输出电压值都是基准电压与八位数据位转化成的十进制数与256的比值的乘积。其中,基准电压由RNG位控制,RNG是串行控制字内的0或1。管脚DATA为芯片串行数据输入端,CLK为芯片时钟,数据在每个时钟下降沿输入DATA端,数据输入过程中LOAD始终处于高电平,一旦数据输入完成,LOAD置低,则转换输出。 图2-7 TLC5620与FPGA连接图2.3本章小结本章详细介绍了FPGA工作原理,并对这次设计使用的开发板进行了简要的介绍。此外,本章还主要介绍了PERI2-4DI外设板中的TLC5620 DA转换器和PERI1-8KD外设板的LCD1602。TLC5620是波形发生器的主要部分,各种波形的产生,都是基于TLC5620的模数转换功能。LCD1602是信号的频率值、波形、幅值等信息的输出设备在设计中也必不可少的部分。 15第3章 开发软件3.1 VHDL硬件编程语言 VHDL是一种随着电子技术的不断发展,为满足电路系统化和高度集成化要求而发展起来的一种新型硬件描述语言。VHDL具有广泛的应用范围,在芯片及电路系统设计等方面发挥着日益重要的作用9 。与其他硬件描述语言相比,VHDL具有以下特点:首先,功能强大、设计灵活。VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计,既支持模块化设计,又支持层次化设计。其次支持广泛、易于修改。由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。再次,它有强大的系统硬件描述能力。VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。除此之外它还有独立于器件的设计。设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。再就是,它有很强的移植能力。VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。而且易于共享和复用。VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。由VHDL语言这些特点,决定了VHDL硬件编程语言,在其他一些语言中有很大的优势。与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。它的语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。3.2开发软件QUARTUSIIQuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎10。Quartus II有如下功能。Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件。可以对芯片(电路)进行平面布局连线编辑。用户可以采用LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块。除此之外,Quartus II具有功能强大的逻辑综合工具,高效的期间编程与验证工具,可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件,而且还能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。Quartus II具有完备的电路功能仿真与时序逻辑仿真工具,能够进行定时/时序分析与关键路径延时分析,可以使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析,并且支持软件源文件的添加和创建,并将它们链接起来生成编程文件,使用组合编译方式可一次完成整体设计流程。3.3基于VHDL综合的FPGA设计流程一般来说,完整的FPGA设计流程包括电路设计与输入、功能仿真、综合等,下面作简单介绍。首先需要设计输入,设计输入包括使用硬件描述语言HDL、状态图与原理图输入三种方式。它是指通过某些规范的描述方式,将工程师电路构思输入给EDA工具。最常用的设计方法是HDL设计输入法,比较流行的HDL主要有VHDL、ABELHDL、AHDL等。其中VHDL为描述能力最强,已被IEEE确定为标准HDL,并得到目前所有流行EDA软件的支持11。进而成为系统设计领域最佳的硬件描述语言。用VHDL设计电路系统,可以把任何复杂的电路系统视为一个模块,对应一个设计实体。在VHDL层次化设计中,它所设计的模块既可以是顶层实体,又可以是较低层实体,但对不同层次模块应选择不同的描述方法(如行为描述或结构描述)12。再次要进行,设计综合。设计综合就是针对给定的电路实现功能和实现此电路的约束条件,如速度、功耗、成本及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的电路设计方案。也就是说,被综合的文件是HDL文件(或相应文件等),综合的依据是逻辑设计的描述和各种约束条件,综合的结果则是一个硬件电路的实现方案,该方案必须同时满足预期的功能和约束条件。对于综合来说,满足要求的方案可能有多个,综合器将产生一个最优的或接近最优的结果。因此,综合的过程也就是设计目标的优化过程,最后获得的结构与综合器的工作性能有关。 FPGA Compiler II是一个完善的FPGA逻辑分析、综合和优化工具,它从HDL形式未优化的网表中产生优化的网表文件,包括分析、综合和优化三个步骤。其中,分析是采用Synopsys标准的HDL语法规则对HDL源文件进行分析并纠正语法错误;综合是以选定的FPGA结构和器件为目标,对HDL和FPGA网表文件进行逻辑综合;而优化则是根据用户的设计约束对速度和面积进行逻辑优化,产生一个优化的FPGA网表文件,以供FPGA布局和布线工具使用。 利用FPGA Compiler II进行设计综合时,应在当前Project下导入设计源文件,自动进行语法分析,在语法无误并确定综合方式、目标器件、综合强度、多层保持选择、优化目标等设置后,即可进行综合与优化。在此可以将两步独立进行,在两步之间进行约束指定,如时钟的确定、通路与端口的延时、模块的算子共享、寄存器的扇出等。如果设计模型较大,可以采用层次化方式进行综合,先综合下级模块,后综合上级模块。在进行上级模块综合埋设置下级模块为Dont Touch,使设计与综合过程合理化。综合后形成的网表以EDIF格式输出,也可以用VHDL或Verilog HDL格式输出,将其导入FPGA设计厂商提供的可支持第三方设计输入的专用软件中,就可进行后续的FPGA芯片的实现。综合完成后可以输出报告文件,列出综合状态与综合结果,如资源使用情况、综合后层次信息等。接下来要进行仿真验证。从广义上讲,设计验证包括功能与时序仿真和电路验证。仿真是指使用设计软件包对已实现的设计进行完整测试,模拟实际物理环境下的工作情况。前仿真是指仅对逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程没有加入时序信息,不涉及具体器件的硬件特性,如延时特性;而在布局布线后,提取有关的器件延迟、连线延时等时序参数,并在此基础上进行的仿真称为后仿真,它是接近真实器件运行的仿真。 再接下来就是进行设计实现。实现可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能连接的布线通道进行连线,并产生相应文件(如配置文件与相关报告)。通常可分为如下五个步骤。转换,将多个设计文件进行转换并合并到一个设计库文件中。映射,将网表中逻辑门映射成物理元素,即把逻辑设计分割到构成可编程逻辑阵列内的可配置逻辑块、输入输出块 、及其它资源中的过程。布局与布线,布局是指从映射取出定义的逻辑和输入输出块,并把它们分配到FPGA内部的物理位置,通常基于某种先进的算法,如最小分割、模拟退火和一般的受力方向张弛等来完成;布线是指利用自动布线软件使用布线资源选择路径试着完成所有的逻辑连接13。最新的设计实现工具是时序驱动的,即在器件的布局布线期间对整个信号通道执行时序分析,因此可以使用约束条件操作布线软件,完成设计规定的性能要求。在布局布线过程中,可同时提取时序信息形成报靠。时序提取:产生一反标文件,供给后续的时序仿真使用。配置,产生FPGA配置时的需要的位流文件。在实现过程中可以进行选项设置。因其支持增量设计,可以使其重复多次布线,且每次布线利用上一次布线信息以使布线更优或达到设计目标。在实现过程中应设置默认配置的下载形式,以使后续位流下载正常。 在设计实现过程中,在映射后需要对一个设计的实际功能块的延时和估计的布线延时进行时序分析;而在布局布线后,也要对实际布局布线的功能块延时和实际布线延时进行静态时序分析。从某种程序来讲,静态时序分析可以说是整个FPGA设计中最重要的步骤,它允许设计者详尽地分析所有关键路径并得出一个有次序的报告,而且报告中含有其它调试信息,比如每个网络节点的扇出或容性负载等。静态时序分析器可以用来检查设计的逻辑和时序,以便计算各通中性能,识别可靠的踪迹,检测建立和保持时间的配合,时序分析器不要求用户产生输入激励或测试矢量。虽然Xilinx与Altera在FPGA开发套件上拥有时序分析工具,但在拥有第三方专门时序分析工具的情况下,仅利用FPGA厂家设计工具进行布局布线,而使用第三方的专门时序分析工具进行时序分析,一般FPGA厂商在其设计环境下皆有与第三方时序分析工具的接口。Synopsys公司的PrimeTime是一个很好的时序分析工具,利用它可以达到更好的效果。将综合后的网表文件保存为db格式,可在PrimeTime环境下打开。利用此软件查看关键路径或设计者感兴趣的通路的时序,并对其进行分析,再次对原来的设计进行时序结束,可以提高工作主频或减少关键路径的延时。与综合过程相似,静态时序分析也是一个重复的过程,它与布局布线步骤紧密相连,这个操作通常要进行多次直到时序约束得到很好的满足。 在综合与时序仿真过程中交互使用PrimeTime进行时序分析,满足设计要求后即可进行FPGA芯片投片前的最终物理验证。下载是在功能仿真与时序仿真正确的前提下,将综合后形成的位流下载到具体的FPGA芯片中,也叫芯片配置15。FPGA设计有两种配置形式:直接由计算机经过专用下载电缆进行配置;由外围配置芯片进行上电时自动配置。因FPGA具有掉电信息丢失的性质,因此可在验证初期使用电缆直接下载位流,如有必要再将烧录配置芯片中(如Xilinx的XC18V系列,Altera的EPC2系列)。使用电缆下载时有多种下载方式,如对Xilinx公司的FPGA下载可以使用JTAG Programmer、Hardware Programmer、PROM Programmer三种方式,而对Altera公司的FPGA可以选择JTAG方式或Passive Serial方式。因FPGA大多支持IEEE的JTAG标准,所以使用芯片上的JTAG口是常用下载方式14。 将位流文件下载到FPGA器件内部后进行实际器件的物理测试即为电路 23验证,当得到正确的验证结果后就证明了设计的正确性。3.4本章小结本设计以QUARTUS II软件做为FPGA硬件开发平台,应用VHDL语言描述了一个波形、幅度、频率均可显示,而且波形可变、幅度可控、频率可调的波形发生器。本章主要描述了在设计中用到的软件部分,主要介绍了VHDL硬件编程语言和QUARTUS II软件,并介绍了基于VHDL综合的FPGA设计流程。 23第4章 设计成果第4章 设计成果4.1总体设计思想 图4-1 波形发生器结构原理框图 这次设计的波形发生器最终实现功能为:可以通过按键输入,控制D/A芯片产生频率可调、幅值可控的正弦波、方波、三角板及锯齿波,LCD液晶显示器显示出产生波形的形状、频率和幅值。输出波形频率的控制,就是对分频器的控制。由于硬件参数的影响,基于TLC5620设计的波形发生器频率只在2Hz到1000Hz之间时能产生比较好的波形。保留两位小数,控制波形频率的精度为2.00Hz到1000.00Hz。在这么大的范围内,很难保证在使用一个按键的情况下,频率能够灵活的调节。所以选择六个按键,分别控制频率中千位、百位、十位、个位、十分位、百分位中的一位,进行对频率精确控制。这次设计的波形发生器,所能产生的波形只在正弦波、三角波、方波、锯齿波中切换,只有四个状态。在核心板上有两个拨码开关,这两个拨码开关组合,正好可以产生四种状态,所以用两个拨码开关就足可以满足设计要求。波形幅值的控制所以用一个按键控制一个四进制累加器,将累加器的四个状态做为波形切换的控制信号,就足以控制产生波形的形状。电子设备中的复位键很重要,几乎在每个电子设备中都有复位键的存在。复位键只有两个状态1进行复位,0不进行复位。所以只需要简单的介入一个按键就可以控制复位。4.2分模块设计4.2.1主控模块设计主控模块是按键和拨码开关与FPGA的接口。主控模块需要读出按键或拨码开关的变化,来要实现对输出信号的波形、幅度、频率的以及LCD1602显示内容的控制。 图4-2 频率控制流程图TLC5620输出信号的改变需要8个按键和2个拨码开关来控制,取一个按键作为复位信号,当按键按下时,输出为1,其余情况为0。再取一个按键控制输出信号的幅值,这个按键控制着一个从0到9的计数器,当主控模块检测到按键按下时计数器加1,最后将计数的结果转换成四位二进制数输出到下一个模块。拨码开关的位置可以直接控制其接入FPGA接口的高低电平,所以拨码开关可以直接输出给下一个模块。剩下的6个按键来控制输出信号的频率,同幅值控制的原理相同,每个按键都控制一个是从0到9的计数器,当主控模块检测到按键按下时计数器加1。将每个计数器当前的结果分别乘以1、10、100、1000、10000、100000、100000,然后累加,就可以作为控制频率的参数。 图4-3主控模块仿真波形图频率的控制,就是对分频器分频参数的控制,系统时钟为50MHz,输出信号每个周期为256个采样点,由于VHDL语言规范的限制,为了保证输出结果更加精确,在设计中将频率参数扩大了一百倍,所以输出信号的频率为系统时钟频率与采样点的比值,再比上控制频率的参数再比上一百。显示的控制比较简单,我们只要将频率控制按键的六个计数器的结果转
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院检验专业试题及答案
- 专业数学考试题库及答案
- 植保专业试题及答案
- 湖北省孝感市2025-2026学年高二上学期9月起点考试日语试卷(含音频)
- 黑吉辽蒙金太阳2026届高三9月开学联考(26-1002C)政治试题及答案
- 考古专业试题及答案
- 车床专业试题及答案
- 湖北省云学名校联盟2024-2025学年高一上学期12月月考英语试卷(含答案无听力原文及音频)
- 苗木清表施工方案
- 怒江清水混凝土施工方案
- 情侣自愿转账赠与协议书范本
- 河北省2025届高三年级9月阶段测试语文试题(含答案)
- 中福在线鹰潭销售厅营销诊断方案
- 光伏组件回收再利用建设项目可行性研究报告写作模板-拿地申报
- 舞蹈培训机构用工合同
- 自检自查表范表
- 高空蜘蛛人施工专项施工方案
- 游泳池水循环净化项目方案
- 幕墙工程-技术标
- (2024年)医疗法律法规知识培训课件
- 事故隐患报告举报奖励制度培训
评论
0/150
提交评论