




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建农林大学本科毕业论文论文题目: 函数信号发生器的FPGA设计 学 院: 专业年级: 学 号: 姓 名: 指导教师、职称: 2010 年 5 月 16 日Design Of Signal Generator based on FPGA College: Computer and Information Science Specialty and Grade: Electronic Information Engineering ,2006 Number: Name: Advisor: Submitted time: May 16, 2010 目录摘要IAbstractII1 引言- 1 -1.1 编写函数信号发生器的目的及意义- 1 -1.2本设计的主要内容- 2 -2 FPGA概述- 3 -2.1 FPGA技术的发展历程和动向- 3 -2.2 FPGA的设计方法- 3 -2.3 FPGA的设计流程- 4 -2.3.1 基于“自顶向下”设计方法的FPGA设计流程- 4 -2.3.2 基于“自顶向下”设计流程的优点- 5 -2.4 VHDL硬件描述语言介绍- 5 -2.4.1 VHDL语言的发展历史- 5 -2.4.2 VHDL语言的特点- 6 -2.4.3 VHDL语言的开发流程- 7 -2.4.4 VHDL语言设计总结- 7 -2.5 Quartus II软件介绍- 9 -2.5.1 Quartus II 概述- 9 -2.5.2 Quartus II的设计流程- 10 -2.5.3 Quartus II设计方法- 10 -3 函数信号发生器的FPGA设计- 12 -3.1 三角波信号发生器的设计- 12 -3.1.1 三角波的VHDL描述- 12 -3.1.2 三角波信号发生器的逻辑电路图- 13 -3.2 正弦波信号发生器的设计- 14 -3.2.1 正弦波的VHDL描述- 14 -3.2.2 正弦波信号发生器的逻辑电路图- 17 -3.3 方波信号发生器的设计- 18 -3.3.1 方波的VHDL描述- 18 -3.3.2 方波信号发生器的逻辑电路图- 20 -3.4 波形选择模块的设计- 20 -3.4.1 波形选择模块的VHDL描述- 20 -3.4.2 波形选择模块的逻辑电路图- 22 -3.5 顶层模块的设计- 22 -3.5.1 顶层模块的VHDL描述- 22 -3.5.2 顶层模块的逻辑电路图- 24 -4 函数信号发生器的仿真结果及分析- 25 -4.1 三角波信号发生器的仿真结果及分析- 25 -4.2 正弦波信号发生器的仿真结果及分析- 26 -4.3 方波信号发生器的仿真结果及分析- 26 -5 结束语- 27 -5.1 总结- 27 -5.2 下一步展望- 27 -参考文献- 28 -致 谢- 29 -摘要函数信号发生器是各种测试和实验过程中不可缺少的工具,在通信、测量、雷达、控制、教学等领域应用十分广泛。在科技飞速发展的今天,FPGA在函数信号发生器的领域的应用已经非常普遍。随着我国经济和科技的发展,对相应的测试仪器和测试手段也提出了更高的要求,信号发生器己成为测试仪器中至关重要的一类,因此开发信号发生器具有重大意义。函数信号发生器能够产生正弦波、方波、三角波等等各波形信号,还能够将其中任意两种信号或三种信号叠加产生叠加波形。波形频率可以调节,通过拨码开关可以选择波形以不同频率输出。输出的波形信息是8位二进制数字量,可通过D/A期间转换为模拟量后进行放大输出。设计通过硬件描述语言VHDL来实现,并使用 Altera的QuartusII软件进行编译、调试与仿真,验证了函数信号发生器完全可以实现预定的功能。关键词:函数信号发生器;FPGA;VHDL;Quartus II软件AbstractFunction signal generator is the most essential tool in all kinds of test and experiment. It is very widely used in communications, measuring, radar, control, teaching etc .In the days of rapid development of science and technology, FPGA has been prevalently applied in the field of function signal generator . Along with the fast development of economy and science in our country, the corresponding testing instrument and test method entail higher speed and quality, signal generator has become a vital category , thus developing signal generator is of great significance.Function signal generator can generate sine wave, triangular, square, etc. various waveform signal, including superposition waveform produced by any two or three kinds of signals. Because wave frequency is adjustable so dial through code switch it can output different frequency waveform . The output waveform information is 8 binary Numbers,also it can be transformed to analog through the D/A to be amplified and then output. The design is accomplished by the VHDL hardware description language and use QuartusII software for compile, debug and simulation. It is verified to prove that the function signal generator can achieve predetermined function.Key words: Function signal generator; FPGA;VHDL; QuartusII software.- 30 -1 引言1.1 编写函数信号发生器的目的及意义函数信号发生器是各种测试和实验过程中不可缺少的工具,在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域,应用十分地广泛;并且在这些技术领域,经常需要用到各种各样波形的函数信号发生器。不论是在生产、科研还是教学上,信号发生器都是电子工程师信号仿真实验的最佳工具,而且,信号发生器的设计方法多,设计技术也越来越先进。随着集成电路的迅速发展,用集成电路可很方便地构成各种波形的函数信号发生器。用集成电路实现的各种波形的函数信号发生器与其它各种波形的函数信号发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高。同时,随着我国经济和科技的发展,对相应的测试仪器和测试手段也提出了更高的要求,信号发生器己成为测试仪器中至关重要的一类,因此开发信号发生器具有重大意义。但传统的信号发生器大多采用专用芯片或单片机或模拟电路,成本高或控制方式不灵活或波形种类较少等不能满足要求。函数信号发生器能够产生正弦波、方波、三角波等等各波形信号,还能够将其中任意两种信号或三种信号叠加产生叠加波形。波形频率可以调节,通过拨码开关可以选择波形以不同频率输出。输出的波形信息是8位二进制数字量,可通过D/A期间转换为模拟量后进行放大输出。目前我国在研制函数信号发生器等方面有可喜的成果。但总的来说,我国函数信号发生器还没有形成真正的产业。中国在函数信号发生器这个产业的发展中,出现了很多的问题。如产业结构不合理、产业集中于劳动力密集型产品;技术密集型产品明显落后于发达工业国家;生产要素决定性作用正在削弱;产业能源消耗大、产出率低、环境污染严重、对自然资源破坏力大;企业总体规模偏小,技术创新能力薄弱、管理水平落后等。就目前国内的成熟产品来看,核心部分多为专用芯片,存在着成本高、控制不灵活等特点,并且我国目前函数信号发生器的种类和性能都与国外同类产品存在着较大的差距。因此,开发出高性价比的函数信号发生器,保持与国外同类产品在性价比上的优势,打破国外技术垄断和封锁,对发展我国电子产业有非常重大的意义,具有广泛的应用前景,加紧对这类产品的研制显得非常紧迫。本课题利用FPGA(Filed Programmable Gate Array的缩写,即现场可编程逻辑门阵列)技术进行设计;使用超高速集成电路硬件描述语言(VHSIC Hardware Description Language),简称VHDL语言实现;同时,利用Altera的QuartusII软件进行编程、调试、仿真,其可提供一个非常容易适应特定设计所需要的完整的多平台设计环境。本设计验证了函数信号发生器的完全可以实现预定的功能,具有一定的实用性。1.2本设计的主要内容在熟悉FPGA设计相关知识的基础上,设计一种函数信号发生器,能稳定地产生方波、正弦波、三角波等等各波形,并设置一个波形选择开关,通过此开关可以选择以上各波形之一并输出。本设计采用自上而下的切割重组设计方法。因此,设计的第一个步骤就是划分确定整体的结构,将设计划分为几个小块,然后把这些小块一一实现,最后再把这些小块组合起来,实现整个FPGA预定的功能。同时研究函数信号发生器的原理,编写相应的代码,利用Quartus II软件工具进行仿真调试。2 FPGA概述2.1 FPGA技术的发展历程和动向FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列9,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。作为一种可编程逻辑器件,FPGA的出现是可编程逻辑器件发展变化的必然,它的出现推动着可编程逻辑器件的进一步发展。因此说,了解了可编程逻辑器件的发展历程,也就了解了FPGA的发展历程。可编程逻辑器件5(Programmable Logic Device,PLD)是20世纪70年代发展起来的一种新型器件。它的应用不仅简化了电路设计,降低了成本,提高了系统的可靠性,而且给数字系统的设计方式带来了革命性的变化。可编程逻辑器件的发展是以微电子制作技术的不断进步为基础的,其结构和工艺的变化经历了一个不断发展变革的过程。20世纪70年代,早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(EEPROM)3种。随后,出现了一类结构稍微复杂的可编程芯片,即可编程逻辑阵列(Programmable Logic Array,PLA)。PLA在结构上由一个可编程的与阵列和可编程的或陈列构成,阵列规模小,编程过程复杂繁琐。PLA既有现场可编程的,也有掩膜可编程的。在这之后出现了可编程阵列逻辑(Programmable Array Logic,PAL)器件。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但由于其结构过于简单,因此,只能用于实现较小规模的电路设计。为了弥补这一缺陷,20世纪80年代中期,著名的可编程逻辑器件厂商Altera和Xilinx分别推出了扩展型的复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)和类似于标准门阵列的现场可编程门阵列(Field Programmable Gate Array,FPGA)。如今,FPGA器件已成为当前主流的可编程逻辑器件之一。经过近20年的发展,可编程逻辑器件已经取得了长足的进步,资源更加丰富,使用越来越方便。将来的可编程逻辑器件,密度会更高、速度会更快、功耗会更低,同时还会增加更多新的功能,向着集成了可编程逻辑、CPU、存储器等组件的可编程单片系统(System On Programmable Chip ,SOPC)方向发展。2.2 FPGA的设计方法FPGA的常用设计方法包括“自顶向下”和“自下而上”6。目前大规模FPGA设计一般选择“自顶向下”的设计方法。所谓“自顶向下”设计方法,简单地说,就是采用可完全独立于芯片厂商及其产品结构的描述语言,在功能级对设计产品进行定义,并结合功能仿真技术,以确保设计的正确性,在功能定义完成后,利用逻辑综合技术,把功能描述转换成某一具体结构芯片的网表文件,输出给厂商的布局布线器进行布局布线。布局布线结果还可反标回同一仿真器,进行包括功能和时序的后验证,以保证布局布线所带来的门延时和线延时不会影响设计的性能。“自顶向下”设计方法的优越性是显而易见的。首先,由于功能描述可完全独立于芯片结构,在设计的最初阶段,设计师可不受芯片结构的约束,集中精力进行产品设计,进而避免了传统设计方法所带来的重新再设计风险,大大缩短了设计周期。其次,设计的再利用得到保证。目前的电子产品正向模块化方向发展。所谓模块化就是对以往设计成果进行修改、组合和再利用,产生全新的或派生设计。而“自顶向下”设计方法的功能描述可与芯片结构无关。因此,可以以一种IP(Intelligence Property 知识产权)的方式进行存档,以便将来重新利用。第三,设计规模大大提高。简单的语言描述即可完成复杂的功能,而不需要手工绘图。第四,芯片选择更加灵活。设计师可在较短的时间内采用各种结构芯片来完成同一功能描述,从而在设计规模、速度、芯片价格及系统性能要求等方面进行平衡,选择最佳结果。目前,最为常用的功能描述方法是采用均已成为国际标准的两种硬件描述语言VHDL和Veilog HDL。2.3 FPGA的设计流程2.3.1 基于“自顶向下”设计方法的FPGA设计流程FPGA开发采用的是一种高层次设计方法4,这是一种“自顶向下”的方法,适应了当今芯片开发的复杂程度提高、上市时间紧迫的特点。这种设计方法首先从系统设计入手,在顶层进行功能方框的划分和结构设计,在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统进行描述,在系统一级(层)进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物理实现级(层)可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利于早期发现结构设计上的错误,避免设计工作的浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。其设计流程步骤如下:(1)按照“自顶向下”的设计方法进行系统划分。(2)输入VHDL代码。这是高层次设计中最为普遍的输入方式,用任何文本编辑器都可以。此外,还可以采用图形输入方式(如框图、状态图等),这种输入方式具有直观、容易理解的优点。(3)将以上的设计输入编译成标准的VHDL文件,然后将文件调入仿真软件进行功能仿真,检查逻辑功能是否正确。对于大型设计,进行代码级的功能仿真主要是检验系统功能设计的正确性,因为对于大型设计,综合、试配要花费数小时,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。(4)利用综合器对源代码进行综合优化处理,生成门级描述的网表文件,即将源文件调入逻辑综合软件进行逻辑分析处理。(5)如果整个设计超出器件的宏单元或I/0单元资源,可以将设计划分到多片同系列的器件中。(6)将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片FPGA中。2.3.2 基于“自顶向下”设计流程的优点基于“自顶向下”设计流程的优点7如下:(1)设计流程从功能描述开始到物理实现的完成与设计人员的开发思路符合,方便设计人员进行开发。(2)功能设计完全独立于物理实现。(3)设计再利用较方便。设计结果完全可以以一种知识产权(Intellectual Property,IP)的方式作为设计成果,应用于其他电子产品设计中,做到设计成果再利用。(4)易于设计的更改。(5)设计并处理大规模、复杂电路。目前的FPGA器件正向高集成度、深亚微米工艺发展。为设计系统的小型化、低功耗、高可靠性等提供了集成的手段。(6)设计周期缩短,生产率大大提高,产品上市时间提前,性能明显提高,产品竞争力加强。据统计,采用“自顶向下”设计流程的生产率可达到传统设计方法的2-4倍。FPGA是近几年集成电路中发展最快的产品。随着可编程逻辑器件的高速发展,可编程逻辑器件将进一步扩大其领地,向着更高密度和更大容量方向迈进。2.4 VHDL硬件描述语言介绍目前,硬件描述语言可谓是百家争鸣,有VHDL、Superlog、Verilog、SystemC、Cynlib、C+、C Level等。本设计采用VHDL语言来编写程序的。2.4.1 VHDL语言的发展历史VHDL语言的基础知识与其他高级语言有许多相同之处1,但因VHDL语言是一种描述硬件电路的语言,故其基础知识也有自己的特点,如VHDL语言中信号是一种特有的对象。VHDL语言还可以由设计人员自己定义数据类型,这一点也是其他高级语言做不到的。自从硬件描述语言产生以后,众多EDA公司和科研单位纷纷研制开发了适应自身EDA开发工具的硬件描述语言。这些硬件描述语言具有很大的差异,并且只能在本公司的EDA开发工具上使用,这大大限制了硬件描述语言的使用。因些电路设计人员需要一种强大的面向设计的多层次、多领域并得到了广大EDA厂商认同的标准化硬件描述语言。(1)20世纪70年代末和80年代初,美国国防部提出了VHSIC(Very High Speed Integrated Circuit)计划,VHSIC计划的目标是为下一代集成电路的生产、实现阶段性的工艺极限以及完成10万门级以上的设计,建立一项新的描述方法。(2)1981年,美国国防部提出了一种新的硬件描述语言超高速集成电路硬件描述语言(VHSIC Hardware Description Language),简称VHDL语言。这个语言只是一个使电路文体化的一种标准,目的是使文本描述的电路设计能够为其他人所理解,同时也可以作为一种模型语言并能采用软件进行模拟。(3)1986年,IEEE致力于VHDL语言的标准化工作,并成立了一个VHDL语言标准化小组。经过多次反复的修改与扩充,直到1987年12月,VHDL语言才被接纳为IEEE 1076标准。1988年,Milstd454规定所有为美国国防部设计的ASIC产品必须采用VHDL语言来进行描述。1993年,IEEE 1076标准被修订,更新为新的VHDL语言标准IEEE 1164。1996年,IEEE1076.3成为VHDL语言的综合标准。2.4.2 VHDL语言的特点VHDL语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。但是它也并不是一种完全理想的硬件描述语言。同样,它也具有一些自身的缺点,或者说VHDL语言还有一些需要不断完善的地方。图21为VHDL硬件描述语言的优缺点对照。优点缺点1.VHDL语言功能强大,设计方式多样1. VHDL语言有时不能准确地描述硬件电路2.VHDL语言具有强大的硬件描述能力3. VHDL语言具有强大的移植能力2. VHDL语言的系统级抽象描述能力较差4. VHDL语言的设计描述与器件无关5. VHDL语言程序易于共享和复用3. VHDL语言不能描述模拟电路图2-1 VHDL优缺点对照2.4.3 VHDL语言的开发流程VHDL语言作为一种标准化的硬件描述语言3,在对硬件电路进行描述的过程中应该遵循一定的流程。对于设计人员来说,掌握VHDL语言的开发流程图和开发步骤是具有普遍指导意义的。采用VHDL语言进行硬件电路设计的流程图如图22所示。图2-2 VHDL设计流程图2.4.4 VHDL语言设计总结通过前面对VHDL的学习,基本掌握了基于FPGA的VHDL语言的设计方法和理念。以下是基于FPGA的VHDL设计的一些经验。养成良好的编程习惯是非常重要的2,特别是在刚开始学习VHDL设计时,一定要注意编写代码的格式和风格,这对以后的学习和工作都有重大的促进意义。良好的编程习惯就是在满足功能和性能目标的前提下,增强代码的可读性、可移植性。良好的代码编写风格的通则简要地概括如下:(1)对所有的信号名、变量名和端口名都用小写,这样做是为了和业界的习惯保持一致;对常量名和用户定义的类型用大写。(2)使用有意义的信号名、端口名、函数名和参数名。(3)信号名长度不要太长,要注意简洁明了。对于超过28个字符的信号名,有些EDA工具不能够识别,再者太长的信号名也不容易记忆。因此,在描述清楚的前提下,根据信号本身的功能,尽可能采用较短的信号命名,最好是利用信号功能的英文单词缩写来命名。(4)对于时钟信号使用clk作为信号名,如果设计中存在多个时钟,使用clk作为时钟信号的前缀,如clk1、clk2、clk_interace等。(5)对来自同一驱动源的信号,在不同的子模块中采用相同的名字,这要求在芯片总体设计时就定义好顶层子模块间连线的名字,端口和连接端口的信号尽可能采用相同的名字。(6)对于低电平有效的信号,应该以一个下划线跟一个小字母b或n表示(a2b_req_n、a2b_req_b)。注意,在同一个设计中要使用同一个小写字母表示低电平有效。(7)对于复位信号使用rst作为信号名,如果复位信号是低电平有效,建议使用rst_n。(8)尽量遵守业界已经习惯的一些约定。如*_r表示寄存器输出,*_a表示异步信号等等一些习惯的约定。(9)在源文件、批处理文件的开始处应该包含一个文件头,文件头是程序中很重要的一部分,有助于程序阅读者对程序的理解,提高程序的可读性。文件头一般包含如下的内容:文件名,设计者,模块名,模块的实现功能概述,使用的仿真软件以及软件运行的平台,使用的综合工具以及工具运行的平台,文件创建时间,文件修改时间。(10)使用适当简短的语句注释所有的进程、函数、端口含义、信号含义、变量含义及信号组、变量组的意义等。注释应在代码附近,要求简明扼要,只要足够说明设计意图即可,避免过于复杂。(11)每一行语句独立成行。(12)建议采用缩进提高续行和嵌套语句的可读性。(13)在RTL源码的设计中任何元素,包括端口、信号变量函数、任务、模块等的命名都不能取Verilog和VHDL的保留字。例如:将输出端口命名为out,就和VHDL的保留字OUT相同,编译时就会报错。(14)在进行模块的端口申明时,每行只申明一个端口,并建议采用以下顺序:输入信号的clk、rst、enables other control signals、data and adderss signals,然后再申明输出信号的clk、rst、enables other control signals、data signals。(15)在例化模块时,使用名字显式映射而不要采用位置相关的映射,这样可以提高代码的可读性和避免编译连线错误。(16)如果同一段代码要重复多次,尽可能使用函数,如果有可能,可以将函数通用化,以使得它可以复用。(17)尽可能使用循环语句和寄存器组来提高源代码的可读性,这样可以有效地减少代码行数。(18)代码编写时的数据类型只使用IEEE定义的标准类型。(19)在设计中不要直接使用数字,作为例外,可以使用0和1。(20)不要在源代码中使用嵌入式的dc_shell综合命令。(21)在设计中避免实例化具体的门级电路。2.5 Quartus II软件介绍2.5.1 Quartus II 概述Quartus II是Altera公司的综合性PLD开发软件8,支持原理图、VHDL、Verilog-HDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Altera公司的Quartus II软件提供完整的多平台设计环境,能够直接满足特定的设计需要,为FPGA/CPLD开发提供全面的设计环境。设计软件提供完整的多平台设计环境,能够直接满足特定设计需要,为可编程芯片系统(SOPC)提供全面的设计环境。Quartus II软件含有FPGA和CPLD设计所有阶段的解决方案。在Quartus II软件中,设计者可以依照个人偏好,自定义开发环境的布局、菜单、命令和图表等。Quartus II的前身MAX+plus II,虽然是一个非常成功的开发环境,但是随着集成电路的发展,规模的飞速扩大,MAX+plus II这种基于底层的开发环境越来越不能满足现在对系统级开发的要求,随着用户要求的不断提高,Altera公司终于发布了它的替代产品Quartus II。Quartus II软件的一些特性及功能如下:编译和时序逼近的增强特性。时序估算迅速提高时序性能。SOPC Builder提高设计效率。I/O引脚分配和确认。HardCopy II结构化ASIC HardCopy II移植支持。OS支持。Quartus II软件增加的器件支持。2.5.2 Quartus II的设计流程用户首先对所做项目进行设计10,明确设计目的、设计要求。然后利用原理图输入方式或文本输入方式进行设计输入。输入完成后进行编译,若编译过程中发现错误,则应检查设计输入以修改错误,直至没有错误产生。编译完成后进行仿真,检查是否达到设计要求,若未达到要求,需重新检查设计输入及编译过程,不断迭代、收敛直至满足设计要求。最后将设计配置到目标器件中进行硬件验证与测试。Quartus II的设计流程图如图23所示。图2-3 Quartus II的设计流程图2.5.3 Quartus II设计方法在建立新设计时,应重视和考虑Quartus II软件提供的设计方法,包括自上而下或自下而上的渐进式设计流程,以及基于模块的设计流程。不管是否使用EDA设计输入和综合工具,都可以使用这些设计流程。自上而下与自下而上的设计方法比较:Quartus II软件同时支持自上而下和自下而上的编译过程。在自上而下的编译过程中,一个设计人员或工程负责人在软件中对整个设计进行编译。不同的设计人员或者IP提供者设计并验证设计的不同部分,工程负责人在设计实体完成后将其加入到工程中。工程负责人从整体上编译并优化顶层工程。在设计中完成的部分得到适配结果,当设计的其他部分改动时,其性能保持不变。在自下而上的设计过程中,每个设计人员在各自的工程中对其设计进行优化后,将每一个底层工程集成到一个顶层工程中。渐进式编译提供导出和导入功能来实现这种设计方法。作为底层模块设计人员,可以针对设计,导出优化后的网表和一组分配。然后,工程负责人将每一个设计模块作为设计分区导入到顶层工程中。在这种情况下,工程负责人必须指导底层模块设计人员,保证每一分区使用适当的器件资源。在完整的渐进式编译流程中,如果以前出于保持性能不变的原因而采用自下而上的方法,那么现在可以采用自上而下方法来达到同样的目的。这一功能之所以重要出于两方面的原因。第一,自上而下流程要比对应的自下而上流程执行起来简单一些。第二,自上而下的方法为设计软件提供整个设计的信息,因此,可以进行全局优化,而在自下而上的设计方法中,软件在编译每一个底层分区时,并不知道顶层设计其他分区的情况,因此,必须进行资源均衡和时序预算。3 函数信号发生器的FPGA设计3.1 三角波信号发生器的设计3.1.1 三角波的VHDL描述delta.vhd:设定一个变量n,定义其范围为“00000111”到“11111000”,每到一个脉冲,分别对它进行+8或-8,然后把改变后的n送到输出y,生成了三角波信号。三角波产生电路的VHDL描述如下。-delta.vhd(三角波) -LIBRARY IEEE;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY delta IS PORT(clk,clr:in std_logic; y:OUT std_logic_vector(7 DOWNTO 0);END delta;ARCHITECTURE rtl OF delta ISBEGIN PROCESS(clk,clr) VARIABLE n:std_logic_vector(7 DOWNTO 0); VARIABLE f:std_logic; BEGIN IF clr=0THEN n:=00000000; ELSIF CLKEVENT AND clk=1THEN IF f=0THEN IF n=11111000THEN n:=11111111; f:=1; ELSE n:=n+8; END IF; ELSE IF n=00000111THEN n:=00000000; f:=0; ELSE n:=n-8; END IF; END IF; END IF; y=n; END PROCESS;END rtl;3.1.2 三角波信号发生器的逻辑电路图通过电路观察器(RTL Viewer)可查看设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中建集团招聘项目经理面试题及答案宝典
- 2025年军工涉密监控报警资质考试热点解析
- 2025年中国工商银行招聘笔试模拟试题及解析
- 2025年三甲医院医疗技术人员招聘面试模拟题详解
- 安全培训发票课件
- 国防人防知识课件
- 10月外科学试题+答案
- 国家邮政局安全培训课件
- 反恐安全教育进入校园
- 天然气管道防腐施工技术方案
- 2025年“学宪法讲宪法”主题活动知识竞赛题库附答案
- 印章U盾管理办法
- 2025年重庆市永川区社区工作者招聘考试笔试试题(含答案)
- 电气自动化基础知识课件
- 家畜繁殖员上岗证考试题库及答案
- DG-TJ08-2097-2025 地下管线探测技术标准
- 数学鲁教版九年级上学期分层计划
- 甘肃省合理用药管理办法
- 新解读《建筑工程消防施工质量验收规范 DBJ-T 15-248-2022》
- 第十三章 三角形 单元测试 2025-2026学年人教版(2024)八年级数学上册
- 女生的青春期健康教育
评论
0/150
提交评论