基于FPGA的高频信号发生器设计
- 格式:doc
- 大小:94.00 KB
- 文档页数:17
目录摘要.......................................................... I II Abstract ........................................................ I V 1 绪论.. (1)1.1课题来源及意义 (1)1.2国内外DDS的研究现状及发展 (1)1.3本文研究的主要内容与结构 (4)2 需求分析与总体设计 (6)2.1 任务分析 (6)2.2 方案选择 (6)2.3 本章小结 (8)3 系统原理分析 (9)3.1 DDS技术的特点 (9)3.2 DDS技术的工作原理 (9)3.3 FPGA的工作原理 (11)3.4 FPGA的特点 (11)3.5 本章小结 (12)4主控电路设计 (13)4.1单片机选型及其最小系统设计 (13)4.2按键输入接口设计 (15)4.3液晶显示接口设计 (16)4.4 DAC芯片选型及其接口电路 (17)4.5 本章小结 (19)5 软件设计及其调试 (20)5.1显示接口驱动设计及调试 (20)5.2输入接口驱动程序及调试 (21)5.3 SPI通信接口设计及调试 (22)5.4 MCU联机仿真及调试 (26)5.5 基于FPGA的SPI通信接口 (28)5.6 DDS相位累加器实现 (29)5.7 FPGA联机测试 (31)5.8 本章小结 (33)结束语 (34)参考文献 (35)致谢 (36)基于FPGA的通用频率信号发生器的设计摘要直接数字频率合成(Direct Digital Frequency Synthesis,简称DDS)技术是近年来发展起来的一种新的频率合成技术。
它将先进的数字处理理论与方法引入到信号合成领域,标志着第三代频率合成技术的出现。
随着数字电路和微电子技术的发展,DDS技术日益显露出它的优越性。
目前,DDS技术己经在雷达系统、通信系统、仪器仪表和电子对抗等领域得到了十分广泛的应用。
基于FPGA的DDS信号发生器设计随着数字信号处理(DSP)技术的发展,直接数字频率合成器(DDS)逐渐取代了传统的频率合成器,成为一种高性能的信号发生器。
DDS信号发生器通过数字信号直接产生模拟信号,具有频率精度高、可编程性强和快速调频等优点。
本文将通过FPGA实现DDS信号发生器的设计。
首先,我们需要了解DDS信号发生器的基本原理。
DDS信号发生器的核心是相位累加器、查找表和数模转换器(DAC)。
通过累加器产生相位累积,将相位累积的结果通过查找表得到对应的振幅值,并经过数模转换器输出模拟信号。
1.确定需要生成的信号的参数,包括输出频率、相位步进精度、振幅等。
根据这些参数,计算累加器的增量值,即每个时钟周期累加器需要累加的值。
2.在FPGA中设计相位累加器。
相位累加器的宽度取决于相位步进精度,一般为32位或64位。
通过在每个时钟周期加上增量值,实现相位的累加。
3.设计查找表。
查找表的大小取决于数字信号的分辨率,一般为2^N 位。
通过输入相位值查找对应的振幅值。
4.设计数模转换器(DAC)。
通过DAC将数字信号转换为模拟信号输出。
5.在FPGA中实现控制逻辑,包括控制相位累加器和查找表的读写操作,使其按照设定的参数进行相位累加和振幅输出。
6.将设计好的FPGA模块进行综合、布局和时序约束,生成比特流文件。
通过以上步骤,基于FPGA的DDS信号发生器的设计就完成了。
设计好的FPGA模块可以实现高精度、高稳定性的信号发生器,广泛应用于通信、雷达、医疗设备等领域。
需要注意的是,在设计过程中需要考虑到FPGA的资源限制,包括LUT资源的利用、频率分辨率和输出频率的限制等。
此外,还可以通过增加相位累积周期、使用多路查找表和多路DAC等方法进一步优化设计。
综上所述,基于FPGA的DDS信号发生器设计是一个较为复杂的过程,需要对DDS原理有深入的理解,并结合FPGA的特点进行设计。
通过合理的设计和优化,可以实现高性能的DDS信号发生器。
2013年全国大学生电子设计竞赛基于FPGA的信号发生器设计题目:信号发生器班级: xxxxxxxxxxxx成员: xxx指导老师: xxx2013年7月30日目录一、设计要求 (4)1. 基本要求 (4)二、设计方案 (4)三、系统基本原理 (5)3.1函数信号发生器的几种实现方式 (5)3.1.1程序控制输出方式 (5)3.1.2 DMA输出方式 (6)3.1.3可变时钟计数器寻址方式 (6)3.1.4直接数字频率合成方式 (7)3.2频率合成器简介 (7)3.2.1频率合成技术概述 (7)3.2.2频率合成器主要指标 (8)2.3 DDS原理 (9)3.3.1相位累加器 (9)3.3.2波形ROM (11)3.3.3 DDS频率合成器优缺点 (11)四、单元模块设计 (12)4.1系统框图 (12)4.2相位累加器与相位寄存器的设计 (13)4.3波形ROM的设计 (14)4.4频率控制模块的设计 (17)4.5 D/A转换器 (18)4.6滤波模块 (20)五、系统源程序 (20)5.1 Verilog HDL 源程序: (20)5.2 STM32 源程序: (24)摘要直接数字频率合成DDS(Direct Digital Synthesizer)是基于奈奎斯特抽样定理理论和现代器件生产技术发展的一种新的频率合成技术。
与第二代基于锁相环频率合成技术相比,DDS具有频率切换时间短、频率分辨率高、相位可连续变化和输出波形灵活等优点,因此,广泛应用于教学科研、通信、雷达、自动控制和电子测量等领域。
该技术的常用方法是利用性能优良的DDS专用器件,“搭积木”式设计电路,这种“搭积木”式设计电路方法虽然直观,但DDS专用器件价格较贵,输出波形单一,使用受到一定限制,特别不适合于输出波形多样化的应用场合。
随着高速可编程逻辑器件FPGA的发展,电子工程师可根据实际需求,在单一FPGA上开发出性能优良的具有任意波形的DDS系统,极大限度地简化设计过程并提高效率。
基于FPGA的信号发生器设计1 引言电子产业瞬息万变,越来越多的设计开始以ASIC转向FPGA(现场可编程门阵列),FPGA正以各种电子产品的形式进入了我们日常生活的各个角落。
随着新一代FPGA芯片工艺和设计方法的进步及新的应用领域和市场需求的变化, EDA技术有了突飞猛进的发展,数字系统设计也有了革命性的变化。
芯片的复杂程度越来越高,人们对数万门乃至数百万门设计的需求也越来越多,采用硬件描述语言VHDL的设计方式就应运而生,设计工作从行为、功能级开始,并向着设计的高层次发展。
VHDL具有多层次描述系统硬件功能的能力,支持自顶向下和基于库的设计的特点,从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的FPGA器件中去,可以实现可编程的专用集成电路(ASIC)的设计。
在电子技术飞速发展的今天,信号发生器在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,或者电路实验和设备检测中具有十分广泛的用途。
基于FPGA的信号发生器的设计,以简单、廉价的元器件构筑,能够产生高精度的正弦波、方波、三角波、锯齿波,同时可以实现波形自由选择。
本设计以花费小、集成度高、性能稳定、使用方便为指导,在功能上力求完善实用,同时兼顾商业价值与应用价值的体现。
2 设计方案2.1 方案介绍正弦波和方波使用MegaWizard Plug-In Manager定制宏功能模块,然后在顶层文件中例化。
锯齿波和三角波采用VHDL语言编程的文本输入方式。
使用分频器将输入的高频脉冲降频得到各模块所需的低频脉冲,使用四选一数据选择器选择波形的输出。
对程序进行编译仿真,成功后下载文件到FPGA实验箱来测试。
通过FPGA软件扫描方式将波形数据读出传输给DAC0832,通过外接示波器显示波形输出。
基于FPGA的实用多功能信号发生器的设计与制作基于FPGA的实用多功能信号发生器的设计与制作摘要多功能信号发生器已成为现代测试领域应用最为广泛的通用仪器之一,代表了信号源的发展方向。
直接数字频率合成(DDS)是二十世纪七十年代初提出的一种全数字的频率合成技术,其查表合成波形的方法可以满足产生任意波形的要求。
由于现场可编程门阵列(FPGA)具有高集成度、高速度、可实现大容量存储器功能的特性,能有效地实现DDS技术,极大的提高函数发生器的性能,降低生产成本。
本文首先介绍了函数信号发生器的研究背景和DDS的理论。
然后详尽地叙述了利用Verilog HDL描述DDS模块的设计过程,以及设计过程中应注意的问题。
文中详细地介绍了多种信号的发生理论、实现方法、实现过程、部分Verilog HDL代码以及利用Modelsim仿真的结果。
文中还介绍了Altera公司的DE2多媒体开发平台的部分功能及使用,并最终利用DE2平台完成了多功能信号发生器的大部分功能。
包括由LCD显示和按键输入构成的人机界面和多种信号的发生。
数字模拟转换器是BURR-BROWN 公司生产的DAC902。
该信号发生器能输出8种不同的信号,并且能对输出信号的频率、相位以及调制信号的频率进行修改设定。
关键词:信号发生器;DDS;FPGA;DE2Practical FPGA-based multi function signal generatordesign and productionAbstractMulti function signal generator has become the most widely used in modern testing field of general instrument, and has represented one of the development direction of the source. Direct digital frequency synthesis (DDS) is a totaly digital frequency synthesis technology, which been put forward in the early 1970s. Using a look-up table method to synthetic waveform, it can satisfy any requirement of waveform produce. Due to the field programmable gates array (FPGA) with high integrity, high speed, and large storage properties, it can realize the DDS technology effectively, increase signal generator’s performance and reduce production costs.Firstly, this article introduced the function signal generator of the research background and DDS theory. Then, it described how to design a DDS module by Verilog HDL, and introduced various signal occurs theory, method and the implementation process, Verilog HDL code and simulation results.This paper also introduces the function of DE2 multimedia development platform, and completed most of the functions of multi-function signal generator on DE2 platform finally. Including the occurrence of multiple signal and the man-machine interface which composed by LCD display and key input. Digital-to-analog converters is DAC902, which produced by company BURR-BROWN.This signal generator can output eight different kinds of signals, and the frequency of the output signal, phase and modulation frequency signal also can be modifyed.Key Words: Signal generator; DDS; FPGA; DE2目录论文总页数:34页1 引言 (1)1.1课题背景 (1)1.2国内外波形发生器的发展现状 (1)1.3本文研究的主要内容 (2)2 信号发生器原理 (2)2.1直接数字频率合成技术的基本原理 (2)2.2相位偏移控制 (3)2.3多种信号的发生 (3)2.3.1方波的发生 (3)2.3.2三角波发生 (4)2.2.3锯齿波发生 (4)2.3.4 PWM信号发生 (4)2.3.5 SPWM信号发生 (5)2.3.6 AM信号发生 (5)2.3.7 FM信号发生 (6)2.4DDS的特点 (7)2.4.1 DDS 的优点 (7)2.4.2 DDS 系统的缺点 (7)3 系统整体设计 (8)3.1硬件部分 (8)3.1.1 DE2实验板 (8)3.1.2 LCD模块 (9)3.1.2 DAC902 (11)3.2基于VERILOG的FPGA设计 (12)3.3软件工具 (12)3.3.1 Modelsim (12)3.3.2 Quartus (12)3.4系统设计 (13)3.4.1 系统初始化模块 (13)3.4.2按键模块和LCD模块 (13)3.4.3 RAM模块 (14)3.4.4数据转换模块 (15)3.4.5 DAC驱动模块 (15)3.4.6系统的运行 (15)4 VERILOG HDL代码实现与仿真 (15)4.1信号发生器模块 (15)4.1.1频率控制字和相位累加器 (15)4.1.2 相位偏移控制 (16)4.1.3正弦波发生模块 (17)4.1.4 方波发生模块 (17)4.1.5 三角波发生模块 (18)4.1.6 锯齿波发生模块 (18)4.1.7 PWM信号发生模块 (19)4.1.8 SPWM信号发生模块 (19)4.1.9 AM信号发生模块 (20)4.1.10 FM信号发生模块 (21)4.2按键输入模块 (22)4.3LCD显示模块 (23)4.4RAM模块 (24)4.5数据转换模块 (25)5 系统测试 (26)5.1控制及显示部分测试 (27)5.2输出频率测试 (27)5.3信号发生测试 (28)5.3.1 正弦波、方波、三角波、锯齿波测试 (28)5.3.2 PWM信号测试 (29)5.3.3 SPWM信号测试 (29)5.3.4 AM信号测试 (29)5.3.5 FM信号测试 (30)结论 (31)参考文献 (32)致谢...................................................... 错误!未定义书签。
基于FPGA的函数信号发生器设计摘要在信号发生器的设计中,传统的用分立元件或通用数字电路元件设计电子线路的方法设计周期长,花费大,可移植性差。
本设计是利用EDA技术设计的电路,该信号发生器可以输出四种信号,分别是正玄波、方波、三角波、锯齿波,可以通过外部的按键选择波形并调节波形的幅度、相位和频率。
侧重叙述了用FPGA来完成直接数字频率合成器(DDS)的设计,通过调用四个ROM 里面的数据来实现,这里需要一个加法器和一个累加器来产生 ROM 的地址。
通过不断让地址累加,从而不断地从 ROM 中读取波形数据,然后将数据送往 DACTLC5615的驱动模块中,这样最终便输出模拟的波形,最后通过示波器演示仿真结果。
与传统的频率合成方法相比,DDS合成信号具有频率切换时间短、频率分辨率高、相位变化连续等诸多优点。
使用FPGA器件的高性能、高集成度相结合,可以克服传统DDS 设计中的不足,从而设计开发出性能优良的DDS系统。
关键词:FPGA;函数信号发生器;DDS;DAC;The design of function generator based on FPGAAbstractIn the signal generator design , the traditional method of using discrete long design cycle components or general purpose digital circuit component design of electronic circuits , expensive, poor portability . This design is the use of EDA technology designed circuit , the signal generator can output four signals , which are sine wave, square wave , triangle wave , sawtooth wave, you can select and adjust the waveform amplitude, phase and frequency of the waveform by an external button.Emphasis describes the use of FPGA to complete direct digital frequency synthesizer (DDS) design , by calling four ROM inside the data to achieve here need an adder and an accumulator to generate ROM address. By constantly make address accumulate, thereby continuously reads the waveform data from the ROM , and then the data is sent to DACTLC5615 drive module , so that the final output will be analog waveforms, and finally through the oscilloscope display simulation results.Compared with the conventional method of frequency synthesis , DDS frequency synthesized signal having a short switching time , high frequency resolution, and many other advantages of continuous phase change . FPGA devices using high-performance, highly integrated combination of design can overcome the shortcomings of traditional DDS , which designed and developed the excellent performance of the DDS system .Keywords: FPGA; function signal generator; DDS; DAC;目录第一章绪言 (1)1.1 课题背景 (1)1.2 课题研究的目的和意义 (1)1.3 国内外的研究状况 (2)1.3.1波形发生器的发展状况 (2)1.3.2 国内外波形发生器产品比较 (3)1.3.3 本课题在国内外的研究现状 (3)第二章信号发生器的方案设计 (4)2.1硬件组成部分 (4)2.1.1 FPGA实验板 (4)2.2外围电路 (6)2.2.1TLC5615芯片 (6)2.2.2 TLC5615工作原理 (8)2.3 RC低通滤波电路 (9)第三章直接数字合成技术(DDS) (11)3.1 直接数字合成技术(DDS) (11)3.2 DDS 的基本原理 (11)3.3 DDS 的性能分析 (12)3.3.1 DDS理想抽样频谱 (12)3.4 DDS 杂散频谱分析 (13)3.4.1相位截断对输出信号频谱的影响 (13)3.4.2 D/A 非理想特性及参考时钟相位噪声对输出信号频谱的影响 (13)3.5基于DDS的信号函数发生器 (14)3.5.1 整体框图及其说明 (14)3.5.2 按键消抖模块 (14)3.5.3 按键编码 (16)3.5.4 DDS 信号发生器 (18)3.5.5 RTL电路图 (20)第四章实验分析 (21)4.1 实验过程 (21)4.1.1 程序调试 (21)4.2 实验结果 (23)4.3 实验总结 (24)致谢 (24)参考文献 (25)第一章绪言1.1 课题背景在一些电子设备的电路板故障检测仪中,往往需要频率、幅度都能由计算机自动调节的信号源。
前言信号发生器是实验室的常用仪器之一,设计信号发生器具有实际应用的意义。
而采用FPGA的方法设计信号发生器可以产生频率比较高的信号,例如频率为几M的正弦波。
通常正弦波产生的方法是采用MCU+DDS的方法,但是由于DDS 的造价比较高,所以在指标要求不高的情况下,可以使用FPGA来实现DDS频率合成的原理来产生较高频率的正弦波,任意波形的信号也是如此。
课题《基于FPGA的信号发生器的设计》主要研究容为DDS基数及其FPGA 的实现。
其目的在于让设计者能掌握DDS的原理及其设计思路,具体的了解EDA 技术流程,熟悉硬件描述语言设计功能电路,并最终检验设计的设计能力。
随着我国的经济日益增长,社会对电子产品的需求量也就越来越大,目前,我国的电子产品市场正在迅速的壮大,市场前景广阔。
FPGA(Field Programmable Gate Array,现场可编程门阵列)在现代数字电路设计中发挥着越来越重要的作用。
FPGA/CPLD(Complex Programmable Logic Device)所具有的静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,这样就极大地提高了电子系统设计的灵活性和通用性,缩短了产品的上市时间并降低可电子系统的开发成本,且可以毫不夸地讲,FPGA/CPLD能完成任何数字器件的功能,从简单的74电路到高性能的CPU。
它的影响毫不亚于20世纪70年代单片机的发明和使用。
现在随着电子技术的发展,产品的技术含量越来越高,使得芯片的复杂程度越来越高,人们对数万门乃至数百万门设计的需求也越来越多,特别是专用集成电路(ASIC)设计技术的日趋进步和完善,推动了数字系统设计的迅速发展。
仅靠原理图输入方式已不能满足要求,采用硬件描述语言VHDL的设计方式应运而生,解决了传统用电路原理图设计大系统工程时的诸多不便,成为电子电路设计人员的最得力助手。
设计工作从行为、功能级开始,并向着设计的高层次发展。
郑州轻工业学院电子技术课程设计题目基于FPGA的信号发生器设计基于FPGA的函数发生器设计主要内容、基本要求、主要参考资料等:主要内容:要求学生使用硬件描述语言设计信号发生器的FPGA源程序,实现如下功能:设计智能信号发生器,要求实现正弦波、方波、三角波、递增、递减斜波和阶梯波六种波形。
基本要求:1、掌握FPGA 的程序设计方法。
2、掌握硬件描述语言语法。
3、程序设计完成后要求在软件中实现功能仿真。
主要参考资料:1、姜雪松,吴钰淳.VHDL设计实例与仿真.机械工业出版社, 2007.2、黄志伟.FPGA系统设计与实践[M].北京:电子工业出版社,2005.完成期限:2013.6.21—2013.6.25指导教师签名:课程负责人签名:2013年6月18日目录摘要 (I)1 题目分析 (1)2 方案选择 (2)2.1 波形函数发生方案对比选择 (2)2.2 波形函数输出控制方式选择 (2)3 系统细化框图 (4)4 各模块程序设计及仿真 (5)4.1 递增斜波模块 (5)4.2 递减斜波模块 (6)4.3 三角波模块 (7)4.4 阶梯波模块 (8)4.5 正弦波模块 (10)4.6 方波模块 (11)4.7 输出波形选择模块 (12)5 系统联调测试分析 (14)6 设计总结 (16)参考文献 (17)附录 (1)基于FPGA的函数发生器设计摘要随着基于CPLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制及计算机等领域的重要性日益突出。
作为一个学电子信息专业的学生,我们必须不断地去了解更多的新产品信息,这就更加要求我们对EDA有个全面的认识。
信号发生器在我们的日常中有很重要的应用,用VHDL语言去实现设计将会使我们对本学科知识可以更好地掌握。
函数发生器是一种多波形的信号源,它可以产生方波、三角波、锯齿波,甚至任意波形。
本设计是一个基于VHDL的采用自顶向下设计方法实现的信号发生器,该设计方法具有外围电路简单,程序修改灵活和调试容易等特点,并通过计算机仿真和实验证明了设计的正确性。
基于FPGA的函数信号发生器的设计报告课题要求1、技术要求(EDA技术,VHDL语言,层次化设计)(1)EDA发展概况电子设计技术的核心就是EDA技术,EDA是指以计算机为工作台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。
EDA技术已有30年的发展历程,大致可分为三个阶段。
70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。
80年代为计算机辅助工程(CAE)阶段。
与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。
CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。
90年代为电子系统设计自动化(EDA)阶段。
中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PC主板和小型ASIC领域,仅有小部分(约11%)的设计人员开发复杂的片上系统器件。
为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购入一些最新的EDA技术。
在EDA软件开发方面,目前主要集中在美国。
但各国也正在努力开发相应的工具。
日本、韩国都有ASIC 设计工具,但不对外开放。
中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。
相信在不久的将来会有更多更好的设计工具有各地开花并结果。
据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了50%和30%。
EDA技术发展迅猛,完全可以用日新月异来描述。
EDA技术的应用广泛,现在已涉及到各行各业。
EDA水平不断提高,设计工具趋于完美的地步。
EDA市场日趋成熟,但我国的研发水平还很有限,需迎头赶上(2)VHDL语言简介VHDL是一种全方位的硬件描述语言,包括系统行为级。
基于FPGA的信号发生器设计 以FPGA 芯片为载体,通过QuartusII 的LPM_ROM 模块和VHDL 语言为核心设计一个多功能信号发生器,根据输入信号的选择可以输出递增锯齿波、递减锯齿波、三角波、阶梯波和方波等5 种信号,通过QuartusII 软件进行波形仿真、定时分析,仿真正确后,利用实验板提供的资源,下载到芯片中实现预定功能。
信号发生器又称为波形发生器,是一种常用的信号源,广泛应用于电子电路、通信、控制和教学实验等领域。
它是科研及工程实践中最重要的仪器之一,以往多用硬件组成,系统结构比较复杂,可维护性和可操作性不佳。
随着计算机技术的发展,信号发生器的设计制作越来越多的是用计算机技术,种类繁多,价格、性能差异很大。
用FPGA 或CPLD 来实现,它的优点是可以进行功能仿真,而且FPGA 和CPLD 的片内资源丰富,设计的流程简单。
用FPGA 所构成的系统来产生波形信号,这个系统既能和主机系统相连,用相应的上层软件展示波形信号,又方便程序的编写,而且还有A/D0809接口可以产生模拟信号的输出和外面的示波器相连。
1 正弦信号发生器的LPM 定制 正弦信号发生器由计数器或地址发生器(6 位)、正弦信号数据ROM (6 位地址线,8 位数据线,含有64 个8 位数据,一个周期)、原理图顶层设计和8 位D/A (实验中用DAC0832 代替)。
其框图如图1 所示。
其中信号产生模块将产生所需的各种信号,这些信号的产生可以有多种方式,如用计数器直接产生信号输出,或者用计数器产生存储器的地址,在存储器中存放信号输出的数据。
信号发生器的控制模块可以用数据选择器实现,用8 选1 数据选择器实现对5 种信号的选择。
图1 信号发生器结构框图 最后将波形数据送入D/A 转换器,将数字信号转换为模拟信号输出。
用示波器测试D/A 转换器的输出,可以观测到5 种信号的输出。
1.1 定制初始化数据文件 QuartusII 能接受的LPM_ROM 模块中的初始化数据文件的格式有两种:。
摘要信号发生器是数字设备运行工作中必不可少的一部分,没有良好的信号源,最终就会导致系统不能够正常工作,更不必谈什么实现其它功能了。
本次论文主要研究了基于FPGA的函数信号发生器的设计思路与软硬件实现。
首先介绍了本次设计任务的总体设计方案,以及该方案中涉及的知识点,所使用的软件及硬件基本知识。
在此基础上进行了硬件电路的设计,主要采用DDS(直接数字频率合成)方案,采用了Altera 公司的低成本cyclone II系列FPGA的EP2C5QC8作为核心芯片,构建了外围的0832DA转换电路,以及1MHZ低通滤波电路。
再次介绍系统软件的设计过程,给出了FPGA自底向上的设计思路,以及各个底层模块的设计原理与思路分析,最后介绍了相关软件的应用知识。
最后一段介绍了论文的相关结论,进行仿真调试的过程。
实现了设计任务的频率从100HZ到1MHZ可调,幅度从0.1V到5V可调的功能。
系统的设计方案和设计过程具有参考和学习价值。
关键词:信号发生器FPGA Modelsim Verilog语言AbstractThe signal generator is an essential part of the work of digital equipment operation, without a good source, and ultimately will cause the system to work properly, not to talk about the achievement of other features. This thesis studied the software and hardware design of the FPGA-based Signal Generator. First introduced the overall design of the design task, and knowledge involved in the program, use basic software and hardware knowledge. On this basis, the hardware circuit design, using DDS (Direct Digital Frequency Synthesizer) program, using Altera's low-cost cyclone II FPGA series EP2C5QC8 core chip to build a peripheral 0832DA conversion circuit, and 1MHZ low pass filter circuit. Re-introduce the system software design process, given FPGA design ideas from the bottom up, as well as the design principles and ideas of the bottom module, and finally introduced a software application knowledge. The last paragraph of the conclusions of the paper, simulation debugging process. Design task frequency is adjustable from 100HZ to 1MHZ function of the adjustable range from 0.1V to 5V. System design and design process has a reference and learning value.Keywords: Signal generator,FPGA,Modlesim,Verilog HDL目录摘要 (I)ABSTRACT (II)目录.............................................................................................................. I II 前言. (1)1 概述 (3)1.1FPGA简介 (3)1.2 MODELSIM简介 (8)1.3DDS基本原理介绍 (9)2 设计方案 (12)2.1总体设计思路 (12)2.2方案论证 (13)2.2.1方案一 (13)2.2.2方案二 (13)2.2.3方案三 (14)2.3方案确定 (14)3 硬件电路设计 (16)3.1硬件设计注意事项 (16)3.2DA电路 (16)3.3滤波电路 (18)3.4硬件电路实现 (20)4 软件设计 (21)4.1波形产生模块 (21)4.1.1正弦波 (21)4.1.2 矩形波 (23)4.1.3 三角波 (24)4.2频率控制模块 (24)4.3相位累加模块 (25)4.3选择波形模块 (26)4.4幅度控制模块 (27)5 调试 (32)5.1设计及仿真调试使用设备 (32)5.2调试方法 (32)5.2.1 硬件调试 (32)5.2.2 软件调试 (32)5.2.3 综合调试 (33)5.3调试结果 (33)5.3.1 软件仿真结果及分析 (33)5.3.2 综合调试结果 (38)总结 (39)致辞 (40)参考文献 (41)附件1 ROM生成元程序 (42)附件2 40位流水线加法器程序 (44)前言随着我国的经济日益增长,社会对电子产品的需求量也就越来越大,目前我国的电子产品市场正在迅速的壮大,市场前景广阔。
前言信号发生器是实验室的常用仪器之一,设计信号发生器具有实际应用的意义。
而采用FPGA的方法设计信号发生器可以产生频率比较高的信号,例如频率为几M的正弦波。
通常正弦波产生的方法是采用MCU+DDS的方法,但是由于DDS 的造价比较高,所以在指标要求不高的情况下,可以使用FPGA来实现DDS频率合成的原理来产生较高频率的正弦波,任意波形的信号也是如此。
课题《基于FPGA的信号发生器的设计》主要研究内容为DDS基数及其FPGA 的实现。
其目的在于让设计者能掌握DDS的原理及其设计思路,具体的了解EDA 技术流程,熟悉硬件描述语言设计功能电路,并最终检验设计的设计能力。
随着我国的经济日益增长,社会对电子产品的需求量也就越来越大,目前,我国的电子产品市场正在迅速的壮大,市场前景广阔。
FPGA(Field Programmable Gate Array,现场可编程门阵列)在现代数字电路设计中发挥着越来越重要的作用。
FPGA/CPLD(Complex Programmable Logic Device)所具有的静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,这样就极大地提高了电子系统设计的灵活性和通用性,缩短了产品的上市时间并降低可电子系统的开发成本,且可以毫不夸张地讲,FPGA/CPLD能完成任何数字器件的功能,从简单的74电路到高性能的CPU。
它的影响毫不亚于20世纪70年代单片机的发明和使用。
现在随着电子技术的发展,产品的技术含量越来越高,使得芯片的复杂程度越来越高,人们对数万门乃至数百万门设计的需求也越来越多,特别是专用集成电路(ASIC)设计技术的日趋进步和完善,推动了数字系统设计的迅速发展。
仅靠原理图输入方式已不能满足要求,采用硬件描述语言VHDL的设计方式应运而生,解决了传统用电路原理图设计大系统工程时的诸多不便,成为电子电路设计人员的最得力助手。
设计工作从行为、功能级开始,并向着设计的高层次发展。
引言信号发生器是一种常用的信号源,广泛应用于电子电路、自动控制和科学试验等领域。
传统的信号发生器一般基于模拟技术,但基于模拟技术的传统信号发生器能生成的信号类型比较有限,一般只能生成少数的规则波形信号。
如果需要生成较复杂的波形信号,电路的复杂度以及设计难度都将大大增加。
任意波形发生器就是为了解决这个问题而去研究的,任意波形发生器是利用DDS(直接数字频率合成)技术,通过在波形存储器内存储待输出信号的波形采样数据,并对波形存储器进行顺序的循环寻址来合成波形。
只要改变波形存储器中的波形采样数据,就可以方便的得到需要波形的信号。
因此任意波形发生器不仅能产生正弦、余弦、方波、三角波和锯齿波等常见信号,还可以通过各种编辑手段生成任意的波形采样数据,方便的合成传统信号发生器所不能生成的任意波形信号,从而满足各种测试和实验的需要。
当今时代微电子技术的进步以及各应用领域多样化的要求,促使集成电路向高速、高集成度、低功耗的系统集成方向发展。
在单芯片上集成嵌入式CPU、DSP、存储器和其他功能的片上系统(SOC)正处于高速发展中。
Altera公司提出的片上可编程系统(SOPC)解决方案,使得FPGA在嵌入式系统设计领域中的地位越来越重要。
SOPC(System On Programmable Chip可编程片上系统)是一种特殊的嵌入式微处理器系统。
首先,它是片上系统(SOC, System On Chip),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,以FPGA为硬件基础,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件系统在线可编程的功能。
本设计就是采用SOPC方案,以DDS技术为核心技术构建了波形发生器的整个系统,这样可以避免了传统信号发生器的缺点,方便地实现了信号的产生。
1 总体设计概述FPGA(现场可编程门阵列)是一项非常前沿和有发展前景的技术。
FPGA的芯片实际上就是一片已经制造好的大规模集成电路芯片。
基于fpga的dds信号发生器实现方法基于FPGA的DDS信号发生器可以实现高精度、高速率、高可靠性的信号发生。
DDS即直接数字频率合成技术,通过数字控制实现对信号的精确控制,从而生成各种复杂的信号。
其基本原理是将频率可调的数字信号直接进行混频、加权求和等数学处理,得到所需的复杂信号。
在实现基于FPGA的DDS信号发生器时,需要进行如下步骤:
1. 确定FPGA芯片型号和开发环境:根据需求选择合适的FPGA 芯片,同时选择相应的开发环境,如Quartus II、Xilinx ISE等。
2. 编写Verilog/VHDL代码:根据DDS原理,编写相应的Verilog/VHDL代码,实现数字控制和信号处理等功能。
3. 设计电路板:根据芯片的引脚布局,设计相应的电路板,包括时钟电路、功率供应电路、信号输入/输出接口等。
4. 调试和验证:对设计好的电路板进行调试和验证,确保实现的DDS信号发生器能够正常工作。
5. 优化和扩展:根据需求,对实现的DDS信号发生器进行优化和扩展,如增加信号处理模块、扩大频率范围等。
综上所述,基于FPGA的DDS信号发生器是一种高效、高精度、高可靠性的信号发生器,可广泛应用于通信、电子、航空、军事等领域。
其实现方法包括选型、编写代码、设计电路板、调试验证和优化扩展等步骤。
- 1 -。
数字信号发生器实验设计报告摘要:使用数字芯片特别是可编程逻辑器件来实现看似复杂的功能电路往往既简单又节省资源。
典型信号如:方波,锯齿波,三角波,正弦波等在实验或工程中应用极广,所以本实验使用VHDL 及原理图相结合的方法在FPGA 上实现数字信号的发生。
关键字:VHDL,FPGA,信号发生 一、设计方案:(1)方波,锯齿波,三角波均由计数器结合条件语句实现; (2)正弦波采用定制ROM,然后通查找表的方法实现; (3)使用多选一选择器选择四种波型之一;(4)输出波型的频率由分频程序对输入波频率进行分频而得,分频数由按键输入二进制数实现。
二、方案实现: ①方波:library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity pulse isport(fclk,reset: in std_logic;d_out: out std_logic_vector(7 downto 0)输入方波信号分频模块方波锯齿波三角波正弦波四选一多路选择器D A 转换模拟 波形分频数2341按键);end pulse;architecture behave of pulse issignal a: std_logic;beginprocess(fclk,reset)variable tmp: std_logic_vector(7 downto 0); beginif reset='1' thena<='0';elsif rising_edge(fclk) thenif tmp="11111111" thentmp:="00000000";elsetmp:=tmp+1;end if;if tmp<="10000000" thena<='1';elsea<='0';end if;end if;end process;process(fclk,a)beginif rising_edge(fclk) thenif a='1' thend_out<="11111111";elsed_out<="00000000";end if;end if;end process;end behave;②锯齿波:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity juchi isport(fclk: in std_logic;reset: in std_logic;d_out: out std_logic_vector(7 downto 0) );end juchi;architecture arch of juchi issignal da: std_logic_vector(7 downto 0);beginprocess(fclk,reset,da)beginif reset='1' thenda<="00000000";elseif fclk='1' and fclk'event thenif da<255 thenda<=da+1;else da<="00000000";end if;end if;end if;end process;d_out<=da;end arch;③三角波:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity rectangle isport(fclk,reset: in std_logic;d_out: out std_logic_vector(7 downto 0));end rectangle;architecture behave of rectangle isbeginprocess(fclk,reset)variable tmp: std_logic_vector(7 downto 0);variable a: std_logic;beginif reset='1' thentmp:="00000000";elsif rising_edge(fclk) thenif a='0' thenif tmp="11111110" thentmp:="11111111";a:='1';elsetmp:=tmp+1;end if;elseif tmp="00000001"thentmp:="00000000";a:='0';elsetmp:=tmp-1;end if;end if;end if;d_out<=tmp;end process;end behave;④正弦波:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sinadd isport(fclk,reset: in std_logic;address: out std_logic_vector(5 downto 0));end sinadd;architecture behave of sinadd isbeginprocess(fclk,reset)variable cnt: std_logic_vector(5 downto 0):="000000"; beginif reset='1' thencnt:="000000";elseif fclk='1' and fclk'event thencnt:=cnt+1;end if;end if;address<=cnt;end process;end behave;⑤分频:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenpin isport ( clk: in std_logic;reset: in std_logic;fclk: out std_logic;keyya,keyyb,keyyc,keyyd: in std_logic);end entity;architecture behave of fenpin issignal fclkk:std_logic;signal cnt: std_logic_vector(3 downto 0);signal cntt: std_logic_vector(3 downto 0);begincntt<=keyya&keyyb&keyyc&keyyd;process(clk,reset)variable cnt: std_logic_vector(3 downto 0);beginif(reset='1') thenfclkk<='0';cnt:=(others=>'0');elseif(clk'event and clk='1') thenif(cnt=cntt) thencnt:=(others=>'0');fclkk<= not fclkk;elsecnt:=cnt+1;end if;end if;end if;fclk<=fclkk;end process;end behave;e;⑥波形选择:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity wav_sel isport(keya,keyb: in std_logic;d_in0,d_in1,d_in2,d_in3: in std_logic_vector(7 downto 0); d_out: out std_logic_vector(7 downto 0));end wav_sel;architecture behave of wav_sel issignal key: std_logic_vector(1 downto 0);beginkey<=keya&keyb;with key selectd_out<=d_in0 when "00",d_in1 when "01",d_in2 when "10",d_in3 when "11","00000000" when others;end behave;⑦顶层设计文件(原理图):三、实验现象(使用Signal Tap II):正弦波:方波:锯齿波:三角波:四、实验数据:时钟输入为50MHz:波形参数方波最小频率:最大频率:锯齿最小频率:最大频率:三角最小频率:最大频率:正弦最小频率:最大频率:五、芯片资源占用情况:。
收稿日期:2007-11-0632007年全国大学生电子大赛湖北赛区二等奖。
作者简介:武军娜(1986— ),女,河北石家庄人,2005级电子信息工程技术专业学生。
文章编号:1008-8245(2008)02-0034-04基于FPG A 的信号发生器设计3武军娜 魏金春 钟桂勇(黄石理工学院电气与电子信息工程学院,湖北黄石435003)摘 要:利用单片FPG A 完成了正弦波、方波和三角波信号的发生及其性能调节功能。
该系统主要由四个模块组成:电源模块、控制模块、LCD 显示模块、D /A 转换及功率放大模块。
电源模块提供FPG A 的5V 工作电压和DAC 芯片的±12V 工作电压;用VHDL 语言实现直接数字频率合成技术(DDS ),实现波形选择等多种控制功能;利用FPG A 内嵌32位NoisII 软核设计了一种键盘控制LCD 显示的处理器;D /A 转换及功率放大模块主要采用高速宽带运放。
整个系统稳定度高,控制方便,可扩展性强。
关键词:现场可编程门阵列;硬件描述语言;N i osII 嵌入式系统;直接数字频率合成技术中图分类号:T N431.2 文献标识码:ADesi gn of Si gnal Generator Based on FPGAWU Junna W EI J inchun ZHONG Guiyong(School of Electric and ELectronic Infor mation Engineering,Huangshi Institute of Technology,Huangshi Hubei 435003)Abstract:This syste m accomp lishes the occurrence and the perfor mance regulate of the sine wave,the rectangular wave and the triangle wave using single FPG A chi p.It is made up of f our modules:the electrical s ource module,the contr ol module,the LCD dis p lay module and the D /A conversi on and power magnified module .The electrical s ource module supp lies 5volt for the FPG A chi p and ±12volt for the DAC chi p.W ith VHDL (VHSI C Hard ware Descri p 2ti on Language )the direct digital frequency synthesize (DDS )and many contr ol functi on are realized,for instance the wave choice .W ith FPG A e mbedded 32bit Nois II s oft core the CP U is designed,which uses keyboard t o contr ol the LC D dis p lay .The D /A conversi on and power magnified module is operated by the high s peed br oad band operati on magnifier .The whole syste m holds high stabilizati on,convenient contr ol and str ong feasibility t o expand .Key words:FPG A;VHDL;N i os II e mbedded syste m;DDS1 方案论证与比较1.1 系统功能分析本论文是笔者参加2007年全国大学生电子大赛的参赛论文,设计的核心是信号的控制问题,其中包括信号频率、信号种类以及信号幅度的控制。
基于FPGA的高频信号发生器设计摘要随着科学技术的不断发展与进步,我们进入了数字化时代,产品的数字化已是大势所趋。
FPGA(现场可编程门阵列)具有的现场可编程的特性,可以让它的硬件的性能,通过如同软件程序一样实时修改程序代码来改变功能,反复修改错误,这种方式极大地提升了电子设计的灵活性,节约了时间成本和开发成本。
本文使用的FPGA芯片,采用的是Altera公司生产的低成本,Cyclone系列的CycloneIIEP2C8Q208C8N做为核心,完成波形的产生功能,利用内部的ROM来存储波形数据,做出简易的信号发生器,然后通过嵌入锁相环(PLL)来倍频时钟信号,改变信号发生器的频率,达到需要的高频100MHZ以上,使用SignalTapII 对输出数据进行采样,观察波形输出。
关键词:FPGA;信号发生器;PLL;100MHZ;SignalTapII目录第一章前言 (3)1.1研究背景 (3)1.2研究的意义 (3)1.3研究内容 (4)1.4本文主要工作 (4)第二章概述FPGA与PLL (5)2.1FPGA简介 (5)2.1.1FPGA的结构与组成 (5)2.1.2FPGA与ASIC设计的区别 (5)2.2FPGA开发流程 (6)2.3锁相环(PLL)简介 (7)2.3.1PLL的组成 (7)2.3.2PLL应用:频率合成 (7)2.3.3FPGA内嵌功能模块PLL (8)第三章硬件平台 (9)3.1开发板核心板资源介绍 (9)3.2存储器SDRAM电路 (9)3.3电源电路 (9)3.4独立按键及LED电路 (10)3.5时钟和复位电路 (10)第四章设计的软件部分 (11)4.1开发工具软件的简介 (11)4.1.1quartus简介 (11)4.1.2modelsim简介 (11)4.2设计的系统框图说明 (12)4.3波形数据存储ROM的定制 (12)4.3.1波形数据的产生 (12)4.3.2波形数据存储模块的设计 (12)4.4频率控制模块的设计 (13)4.5计数器模块的设计 (13)第五章设计验证与总结 (14)5.1功能仿真 (14)5.2 SignalTapII观察波形 (14)5.3总结 (15)参考文献 (16)致谢 (17)第一章前言1.1研究背景FPGA是由美国公司Xilinx在1980年代中期率先推出的。
伴随半导体生产制造工艺技术的不断进步,FPGA在组成、速度和性能等方面有了非常大的改善和提升,和它相对应的是设计方法学和自动化设计工具也得到了飞速的发展。
其中,设计工具的自动化为FPGA的应用和发展起到了推波助澜的效果。
FPGA是一种可编程的数字IC,拥有较短的开发周期、强大的功能和很好的保密性等特点,被大规模的应用于各个领域。
就在此时期,FPGA应用版图的面积在不断扩大和半导体生产制造工艺技术的不断发展,都促进了FPGA飞速发展,当中的Altera和Xilinx公司生产的产品在整个FPGA/CPLD市场上占有很大比重。
信号发生器是一种历史久远的测量仪器,在20年代早期,电了设备刚出现时就有了。
40年代,有了重点使用在测试各种接收机的标准信号发生器。
70年代前,信号发生器重点有两大类:正弦波和脉冲波。
这时多运用模拟电子技术,模拟元件设计的电路存在着尺寸大、功耗也大等缺点,电路组成非常复杂,产生的波形也少。
70年代后,因为微处理器的出现,可使用处理器、A/D和D/A,硬件和软件结合使波形发生器的性能扩宽了,产生进一步复杂的波形。
这时多以软件为主,本质是处理器对DAC芯片的程序控制,就可得到各类简单的波形。
80年代后,数字技术日益成熟,信号发生器基本上都是运用数字电路。
90年代末,应运而生了几种真正高性能、高价格的波形发生器。
HP公司推出了型号为HP 770S的信号模拟装置系统,它由HP 8770A任意波形数字化和HP 1776A 波形发生软件构成。
HP 8770A事实上也只可以产生8种波形,并且价格非常昂贵。
二十一世纪,伴随集成电路技术的飞速发展,出现了多种工作频率可过GHz 的DDS(直接数字频率合成)芯片,又推动了信号发生器技术的发展。
1.2研究的意义伴随着电子技术的飞速发展,频率不同、幅度不同的各种规则或不规则的可调节电信号常常被需要,而产生这种电信号的仪器就是信号发生器。
它作为一种通用的信号源,大规模应用于自动化控制等领域。
与万用表、频谱仪、示波器等仪器一样,是作为最普通、最广泛使用的电子测量仪器之一。
绝大多数系统电参量的测量,都会用到它,将它产生的信号作为输入的激励信号,以观察整个系统的反馈。
它是数字设备使用中不可缺少的一部分,假如缺少不错的信号源,那么会导致系统不能正常运行,更不必说什么实现其它什么功能了。
FPGA产品的应用版图面积已经飞速的由以前的通信方面扩大到消费电子、工控、测量等大规模的版面上来了。
由于应用的变化,FPGA产品在近几年的发展趋势也越来越鲜明:一边是FPGA制造商从事于使用当下最先进的工艺技术来提升产品的性能,降低产品的成本;另一边是为了满足客户产品快速上市的需求,愈来愈多通用IP(知识产权核)或客户定制IP被引进到FPGA当中。
另外,FPGA企业都在努力促进产品功耗的降低,满足业界愈来愈严格的低功耗要求。
将原本机械构造,高功耗的高频信号发生器数字化,设计低功耗,便捷实用的信号发生器是势在必行的趋势。
1.3研究内容正文是基于FPGA技术,通过以硬件描述语言,Verilog设计高频信号发生器,以开发工具软件QuartusII与Modelsim辅助设计,采用FPGA锁相环(PLL)技术合成高频,设计完成频率为100MHZ以上的高频信号发生器。
本文使用WIN10操作系统,使用的开发工具软件是Quartus II 12.0和Modelsim SE 10.01a。
1.4本文主要工作本文主要完成了如下几个方面的工作:(1)简介FPGA及开发流程(2)简介PLL(锁相环)与在频率合成的应用(3)硬件部分,开发板部分介绍(4)设计的软件部分,工具软件介绍,各个模块的设计(5)设计的验证过程(6)总结第二章概述FPGA与PLL2.1FPGA简介什么是FPGA?FPGA即现场可编程门阵列,英文全称FieldProgrammableGateArray,是一种可编程的集成电路(IC)芯片。
2.1.1FPGA的结构与组成一般而言,FPGA是布线资源分隔的可编程的逻辑单元(LE)组成的阵列,通过可编程I/O单元围绕整个阵列组成整个芯片,排成阵列的LE透过布线通道里面的可编程内连线连接起来促成相对应的逻辑功能。
时下,通常使用的FPGA芯片的可编程LE,是查找表(LUT)和触发器组成。
LUT它的庐山真面目就是一个静态存储器SRAM。
左边的电路,查找表的实现:首先FPGA开发工具会自行计算逻辑电路的全部会存在的结果,然后把结果提前写进查找表,在FPGA工作时,输入信号进行的逻辑运算就当于输入一个地址进行查表,然后把地址对应的内容输出,就能够实现逻辑功能。
假如设计的是时序电路,需要触发器,则FPGA开发工具会自行将触发器配备在查找表的后面,促成组合逻辑时就把触发器旁路掉。
对于错综复杂的设计,一个LUT是没有办法做成设计的,FPGA会采用进位逻辑把许多个LUT连接起来,促成n输入的查找表,实现设计要求。
简单的理解,FPGA是由LUT、触发器和布线资源构成。
是一个Cyclone系列的FPGA芯片的内部组成,它当中的一对LUT和触发器组成LE,多个LE组成逻辑阵列块LAB,然后加上各类布线资源,组成一个FPGA 芯片。
2.1.2FPGA与ASIC设计的区别ASIC即专用集成电路,英文全称为Application Specific Integrated Circuit。
ASIC和FPGA都是属于SOC(Systemonchip片上系统)的两个不同的发展方向,对比两者的唯一区别在于,ASIC的逻辑电路是固化在它的芯片当中,简单的可以把ASIC看成是不可编程的FPGA。
出于FPGA基于固定的硬件组成设计结构(如存储器、锁相环等),而ASIC 设计结构因地制宜,目标不胜枚举,因此ASIC设计的代码格调和FPGA设计的代码格调是有明显不同的,尤其是在功耗、速度、时序要求上。
例如,在ASIC设计中根据要求会有意识的使用一些元件和电路方法来达到降低功耗或提高速度的目的。
2.2FPGA开发流程HDL即硬件描述语言,英文全称HardwareDesignLanguage,是最常用的数字硬件电路描述方法之一,相对于原理图的描述方式比较而言,HDL设计有更加不错的可移植性、普遍使用性和模块分离和重复利用的特点,从而它被大规模的使用。
通常采用FPGA设计数字电路时,它的开发流程是基于HDL。
本文采用的是Verilog语言,它是HDL中的一种。
它可应用在仿真验证、时序分析、逻辑综合。
它是当下运用最广阔的HDL当中的一种。
(1)需求定义(功能定义)设计和实现一个系统的第一步,是确定好整个设计的性能指标,再把设计功能划分为不同的可实现的具体模块,并确认各个模块的功能和基本时序。
(2)RTL级(寄存器传输级)HDL描述RTL级描述是不用管寄存器和组合逻辑方面的细枝末节,透过描述寄存器到寄存器之间的逻辑功能的HDL设计方法。
RTL级相对于门级比较而言,是更加的抽象,也是更加的简单和高效。
RTL级最大的特点是能直接通过综合工具将它综合为门级网表,它直接关系着系统的效能。
(3)功能仿真(前)功能仿真即综合前仿真,是为了查看RTL级描述和设计用意是否保持如出一辙。
(4)管脚分配与设计约束不管是RTL级或是门级的HDL设计方法,实现逻辑的时侯都需和FPGA芯片做匹配。
管脚分配是把设计文件输入输出的信号指定至芯片的某个管脚,设置此管脚的参数。
设计约束是对设计的时序约束与在综合、布局布线阶段附加的要求等。
(5)综合将RTL级HDL语言翻译成由与门、或门、非门等基本逻辑单元构成的门级网表,又要依照设计目的和约束条件优化而变化成的逻辑连接,输出门级网表文件。
(6)综合后仿真(门级)综合之后经过后仿真的过程来验证综合结果是否与原设计保持如出一辙。
一般而言,测试激励是和功能仿真的测试激励保持同步的。
这一步骤一般而言是会被省略掉的。
(7)布局布线布局布线即采用综合后的网表文件,把工程的逻辑与时序要求与器件的可用资源做比对。
(8)时序/时延分析运用时序/时延分析的时序仿真是最准确的,可比较好地反馈芯片的实际工作情况及找到不满足时序约束条件或者器件固有建立时间与保持时间的情况。
(9)配置与下载编程器把布局布线后产生的配置文件通过下载的方式,下载到FPGA芯片中,对它的硬件资源来做编写程序的过程。