版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西华大学课程设计说明书 目录 1 EDA技术发展及介绍11.1 EDA技术的介绍11.2 EDA技术的发展11.3 EDA技术的发展趋势22 总体方案设计32.1设计内容32.2设计方案比较32.3方案论证42.4方案选择43 单元模块设计43.1有源晶振电路53.2供电电路63.3 PS配置电路73.4 rom 地址发生器模块IC19183.5 rom 例化模块data_rom93.6 Dac0808模数转化以及波形输出模块94 特殊器件的介绍104.1 CPLD器件介绍104.2 FPGA器件介绍104.3 EP1K30TC144器件介绍115 最小系统原理126 软件实现12 6.1 软
2、件设计流程图 136.2 软件设计代码137 系统仿真及调试187.1 IC191模块仿真波形图187.2 wavehp 顶层模块仿真波形图197.3 调试208 总结208.1设计小结208.2设计收获208.3设计改进218.4 致谢219 参考文献211、EDA技术发展及介绍1.1EDA技术的介绍EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL( Hardware D
3、escription language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。硬件描述语言HDL是相对于一般的计算机软件语言,如:C、PASCAL而言的。HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。目前,就FPGA/CPLD开发来说,比较常用和流行的HDL主
4、要有ABEL-HDL、AHDL和VHDL。 1.2 EDA技术的发展可将EDA技术分为三个阶段。(1)七十年代为CAD阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作,产生了计算机辅助设计的概念。(2)八十年代为CAE阶段,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计,这就是计算机辅助工程的概念。CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。(3)九十年代为ESDA阶段,尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。
5、在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,学习使用困难,并且互不兼容,直接影响到设计环节间的衔接。基于以上不足,人们开始追求:贯彻整个设计过程的自动化,这就是ESDA即电子系统设计自动化。1.3 EDA技术的发展趋势目前的EDA产业正处在一场大变革的前夕,对更低成本、更低功耗的无止境追求和越来越短的产品上市压力正迫使IC供应商提供采用0.13m或以下的千万门级的系统芯片,而这些系统芯片的高复杂性设计更加依赖于EDA供应商提供全新的设计工具和方法以实现模拟前后端、混合信号和数字电路的完全整合。然而,这些新的需求为当代EDA工具和设计方法带来了不少新的挑战与机会。例如
6、,如何在工艺上防止模拟电路与数字电路之间的干扰;现有的大部份EDA工具最多只能处理百万门级设计规模,随着IC设计向千万门级以上规模发展,现有EDA工具和方法必须进行升级。如何融合各EDA供应商的工具,以便向IC设计界提供更高效能和更方便的RTL-to-GDSII或Conc-ept-to-GDSII整合设计环境;为保证深亚微米(0.13m或以下)和更低内核工作电压(1.8V或以下)时代的信号完整性和设计时序收敛,必须采用新的设计方法。半导体工艺的每一次跃升都促使EDA工具改变自己,以适应工艺的发展;反过来EDA工具的进步又推动设计技术的发展。可以说EDA工具是IC设计产业的背后推手。系统芯片(S
7、OC)正在迅速地进入主流产品的行列。由此引发的“芯片就等于整机”的现象,将对整个电子产业形成重大的冲击。种种迹象表明,整个电子产业正在酝酿着一场深刻的产业重组,这将为许多新兴的企业提供进入这一行业的最佳。2、总体方案设计2.1设计内容可逆计数器是这次设计的基础。可逆计数器主要由CPLDFPGA器件完成,通过硬件描述语言,在Quartus II中输入可逆计数器的程序,在编译成功后进行时序仿真,在仿真时可看到8位可逆计数器就是由0到255的升降计数。再加在存有波形数据的ROM,将ROM的数字读出加到DAC0808进行数字信号到模拟信号的转换,这样从DAC0808就能输出一个稳定的信号波形。2.2设
8、计方案比较 方案一:利用单片机控制波形信号产生芯片,通过单片机,键盘,示波器显示实现波形的数字控制。这种设计虽然控制简单,波形效果好,频率带宽,在现实生活中也用一些应用,但是硬件电路相当复杂。 时钟产生电路89C51单片机波形信号产生芯片示波器显示 电源供电电路 按键控制电路 图2.1 单片机产生波形原理框图 方案二:基于现场可编程逻辑门阵列FPGA,通过EDA技术来实现,采用VerilogHDL硬件描述语言实现波形发生器电路设计。程序设计思想为:通过输入xz进行地址加操作,在每一个clk_n的上升沿来对rom的地址输入,从已经将波形数据存好的rom中加载出波形数据,再输入dac0808进行数
9、模转换,用示波器就可以观测波形。储存波形数据的rom8位Rom地址发生器 Dac0808数模转换 8位地址示波器显示3位xz数据 Clk_n 图2.2 波形发生器EDA实现原理框图 2.3方案论证 通过方案一二的比较,可以看出方案一的设计使用分立元件电路较为多,因此会增加电路调试难度,且电路的不稳定性也会随之增加,而采用FPGA芯片实现的电路,由于在整体性上较好,在信号的处理和整个系统的控制中,FPGA的方案能大大缩减电路的体积,提高电路的稳定性。此外其先进的开发工具使整个系统的设计调试周期大大缩短,一般来讲,同样的逻辑,基于FPGA要比基于单片机要快很多,因为它们工作的原理是完全不同的。单片
10、机是基于指令工作的,同样的激励到达单片机后,单片机首先要判断,然后读取相应的指令,最后作出相应,这每一步都是需要在单片机的时钟驱动下一步步的进行。而基于FPGA则是把相应的逻辑“暂时”固化为硬件电路了,它对激励作出的响应速度就是电信号从FPGA的一个管脚传播另一个管脚的传播速度,当然这指的是异步逻辑,同时电信号也要在芯片内进行一些栅电容的充放电动作,但这些动作都是非常非常快的。2.4方案选择结合现代技术中对操作简便,实现容易,成本低的要求,也对其各个部件的性能提出了更高的要求,尤其在现代SOC技术的引领下,人们对低故障、高实时、高可靠、高稳定的性能更加青睐,结合本设计的要求及综合以上比较的情况
11、,我们选择了基于FPGA的波形发生器设计方案。3、单元模块设计本设计由现场可编程门矩阵(FPGA)作为控制芯片,通过VreilogHDL硬件描述语言设计,运用自顶而下的设计思想,按功能逐层分割实现层次化的设计。总体设计方案为:通过输入xz进行地址加操作,在每一个clk_n的上升沿来对rom的地址输入,从已经将波形数据存好的rom中加载出波形数据,再输入dac0808进行数模转换,再用示波器就可以观测到波形。因此主要就有时钟、地址发生器(8位可逆计数器模块)、波形数据储存器rom模块、dac0808数模转换以及波形显示模块;每一个模块作介绍。 图3.0 顶层设计RTL3.1有源晶振电路图3.1有
12、源晶振电路采用有源晶振作为时钟信号源,它是一个完整的振荡器,其内部除了石英晶体外还有阻容软件和晶体管,有源晶振信号质量好,比较稳定,而且连接方式比较简单。主要是作为电源滤波,通常使用的为一个电容和电感组成的PI型滤波网络,输出端使用一个小阻值电阻过滤信号。串电阻可减小反射波,避免反射波叠加引起过冲,减少谐波以及阻抗匹配,减小回波干扰及导致的信号过冲。由于本设计所用的为20MHZ的晶振,而20MHz以下的晶体晶振基本上都是基频的器件,稳定度好,20MHz以上的大多是谐波的(如3次谐波、5次谐波等等),稳定度差,因此我们使选用频的器件,其稳定度和价格方面远远好于晶体晶振器件。3.2供电电路图3.2
13、供电电路本设计中使用到了三个电源,第一是+5V的电源,用于为dac0808芯片使用;第二是+3.3V电源,用于为FPGA芯片提供工作电压;第三是+2.5V电源,用于为FPGA芯片内核工作提供电压。在FPGA芯片管脚上,+2.5V电源必须接在内核电源输入端(VCCINT)上,而VCCIO是芯片输入输出引脚工作电源,根据输入输出的设备不同,可以接2.5 V、3.3 V或5.0 V。特别注意的是EPC1PC8的工作电压必须为3.3V,且该配置芯片属于Flash Memory闪存)器件,具有可擦写的功能。3.3 PS配置电路图3.3 配置电路配置电路采用被动串行(PS)模式,为了利用ByteBlast
14、erMV下载电缆配置EP1K30TC144器件,3.3V的电源应该接上拉电阻,电缆的VCC脚连到3.3V电源,而器件的VCCINT的引脚连接到相应的2.5V,对于PS配置电路,器件的VCCIO引脚必须连接到2.5V。上拉电阻接到配置器件的电源端,这里接到了+5V电源端。nCS接到nCONFIG端,OE接到nSTATUS端,DCLK与DCLK相连接,DATA与DATA0相连接。nCEO引脚端悬空。3.4 rom地址发生模块IC191 图3.4 IC191模块RTL 本模块是基于74ic191 8位可逆计数器而设计的,en是3位的地址变动方向选择控制,若en为100,地址是在clk的上升沿到来时逐
15、次从0255增大,若en为101时,地址是在clk的上升沿到来时逐次从2550减小。而addr7:0是地址发生模块的输出,输入到下一级的rom地址寄存器中。 3.5 rom例化模块data_rom 图3.5 data_rom 模块RTL 本模块是通过lpm_rom例化生成的模块,在rom中储存了本次设计的波形数据,8位,512bit数据。在inclock的上升沿到来时,根据输入的地址,读出地址对应的数据,并从7:0q输出。3.6 Dac0808数模转换以及波形输出模块 图3.6 Dac0808模数转换以及波形输出模块电路图 本模块是在FPGA的外围的单独一个电路模块,由dac0808芯片,下拉
16、电阻,示波器组成,图中左边的信号代表来自rom输出的8位波形数据,经过数模转换后输入示波器中,就能够观测到欲生成的波形。4、特殊器件的介绍4.1 CPLD器件介绍PLD是Complex Programmable Logic Device的缩写,它是有最早的PLD器件发展形成的高密度可编程逻辑器件,它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点。 CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目
17、标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。许多公司都开发出了CPLD可编程逻辑器件。比较典型的就是Altera、Lattice、Xilinx世界三大权威公司的产品。如 Altera公司的MAXII器件,就是其极具代表性的一类CPLD器件,是有史以来功耗最低、成本最低的CPLD。MAX II CPLD基于突破性的体系结构,在所有CPLD系列中,其单位I/O引脚的功耗和成本都是最低的。 Altera公司的MAX7000A系列器件是高密度、高性能的EPLD,它是基于第二代MAX结构,采用CMOS EPROM工艺制造的。该系列的器件具有一定得典型性,其他结构都与
18、此结构非常的类似。它包括逻辑阵列块、宏单元、扩展乘积项、可编程连线阵列和IO控制部分。由于大多数CPLD是基于乘积项的“与或”结构,故适合设计组合逻辑电路。4.2 FPGA器件介绍FPGA(FieldProgrammable Gate Array)可以达到比PLD更高的集成度,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展起来的,具有更复杂的布线结构和逻辑实现。PLD器件和FPGA的主要区别在于PLD是通过修改具有固定内连电路得逻辑功能来进行编程,而FPGA是通过修改一根或多根分割宏单元的基本功能块的内连线的布线来进行编程。它一般由可嵌入式阵列块(EAB)、逻辑阵列块(LAB)、
19、快速互联通道(Fast Track)、IO单元(IOE)组成。Altera Cyclone II 采用全铜层、低K值、1.2伏SRAM工艺设计,裸片尺寸被尽可能最小的优化。采用300毫米晶圆,以TSMC成功的90nm工艺技术为基础,Cyclone II 器件提供了4,608到68,416个逻辑单元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、专用外部存储器接口电路、4kbit嵌入式存储器块、锁相环(PLL)和高速差分I/O能力。Cyclone II 器件扩展了FPGA在成本敏感性、大批量应用领域的影响力,延续了第一代Cyclone器件系列的成功。由于FPGA是基于查找表
20、(LUT)结构的器件,且每个LAB由10个LE组成,一个LE由LUT和寄存器组成,适合于时序逻辑电路的设计。4.3 EP1K30TC144器件介绍ACEX1K器件是Altera公司在2000推出的2.5V低价格SRAM工艺FPGA结构与10KE类似,带嵌入式存储块(EAB),部分型号带PLL,主要有1K10、1K30、1K50、1K100等型号。EP1K30TC144器件中,EP1K表示器件类型,30表示器件内有30K个逻辑门,T代表封装类型,C表示用途为商用,144表示管脚数为144。其引脚图如图4.3所示 图4.3 EP1K30TC5、最小系统原理 图 5.1 实验原理图本设计的电路实现是
21、基于FPGA最小系统原理图,再配以所需的外设。最小系统设计包含了时钟产生电路模块、程序下载配置电路模块、电源电路模块,通过连线将各个模块进行连接成最小系统。由于本设计电路比较简单,外设比较少,就只有dac0808数模转换和示波器输出。我们对外设也作了扩展准备,将FPGA芯片的IO引脚进行了插针引出,以方便后续电路的扩展。将外设与最小系统进行合理正确连接,即可实现本设计的电路原理要求,连接示波器,通过正确调节,就能得到波形。6、软件实现通过至顶向下(TOP-DOWN)的设计方法,我们对电路的设计要求作了分析,从电路要实现的功能着手,逐层分析电路设计的步骤,再具体到各个模块的设计实现以及各模块实现
22、方案的选择。通过顶层设计后编译后形成的RTL为: 图 6.1 顶层设计的RTL6.1软件设计流程图 XZ 软件设计流程图:100 or 101? 100101地址增地址减Dac0808Rom读取 数据 图6.2 软件设计流程图6.2软件设计代码设计程序如下: module wavehp(xz,clk_n,qout); -顶层wavehp设计 input 2:0xz; input clk_n; output 7:0qout; wire 7:0 addr; wire 7:0qout; reg7:0qq;data_rom (.address(addr), .inclock(clk_n), .q(qo
23、ut); -Rom模块调用,读出波形数据IC191(.en(xz), .clk(clk_n), .addr(addr); -IC191模块调用,产生ROM地址数据endmodule module IC191(en,clk,addr); -8位可逆计数器,产生地址模块 input clk; input 2:0en; output 7:0addr; wire 7:0addr; reg 7:0qq; always (posedge clk) case(en) 3'b100:qq<=qq+1; 3'b101:qq<=qq-1; endcase assign addr=qq;
24、 Endmodulemodule data_rom (address,inclock,q); -根据LMP_ROM例化生成的data_rom模块input7:0 address;input inclock;output7:0 q;ifndef ALTERA_RESERVED_QIS/ synopsys translate_offendiftri1 inclock;ifndef ALTERA_RESERVED_QIS/ synopsys translate_onendifwire 7:0 sub_wire0;wire 7:0 q = sub_wire07:0;altsyncramaltsyncr
25、am_component (.clock0 (inclock),.address_a (address),.q_a (sub_wire0),.aclr0 (1'b0),.aclr1 (1'b0),.address_b (1'b1),.addressstall_a (1'b0),.addressstall_b (1'b0),.byteena_a (1'b1),.byteena_b (1'b1),.clock1 (1'b1),.clocken0 (1'b1),.clocken1 (1'b1),.clocken2 (1&
26、#39;b1),.clocken3 (1'b1),.data_a (81'b1),.data_b (1'b1),.eccstatus (),.q_b (),.rden_a (1'b1),.rden_b (1'b1),.wren_a (1'b0),.wren_b (1'b0);defparamaltsyncram_component.address_aclr_a = "NONE",altsyncram_component.init_file = "F:/EDA 单片机 通信原理/edacj/edacj/romd
27、.mif",altsyncram_ended_device_family = "Cyclone",altsyncram_component.lpm_hint = "ENABLE_RUNTIME_MOD=YES,INSTANCE_NAME=rom1",altsyncram_component.lpm_type = "altsyncram",altsyncram_component.numwords_a = 256,altsyncram_component.operation_mode = "
28、ROM",altsyncram_component.outdata_aclr_a = "NONE",altsyncram_component.outdata_reg_a = "UNREGISTERED",altsyncram_component.widthad_a = 8,altsyncram_component.width_a = 8,altsyncram_component.width_byteena_a = 1;endmodule 图 6.3 波形数据romd.mif文件7、系统仿真及调试 7.1 IC191模块仿真波形图 图 7.1 计
29、数器加操作 图7.2 计数器减操作 该模块是基于74IC191设计的8位可逆计数器,当EN=100时候,计数器进行0255的逐次加操作。当EN=101时,计数器进行2550的逐次减操作。 7.2 wavehp顶层模块仿真波形图 图 7.3波形发生器功能仿真 从仿真中,我们可以看出,给定一定的时钟,当每个时钟的上升沿的时候,从rom中读出已经存好的波形数据,而xz决定着rom的地址变动方向。7.3 调试在QuartusII软件中,通过对所设计的硬件描述语言代码进行波形仿真后,达到了预期效果,于是,我们在该软件上进行下载配置设置。在Assignments菜单下选中Devices,在Family栏选
30、择ACEX1K,选中EP1K30TC144-2器件。再在Assignments菜单下选中Pins按照相应要求对管脚进行锁定。最后在Tools菜单下,选中Programmer,对配置方式进行设置,这里选择Passive Seril(PS)被动串行模式。选择好要下载的硬件设备后点击Start即可开始编程下载了。调试过程为在线调试。在通过调试中,我们发现了很多问题,现归纳如下:(1) 在软件上能实现仿真的程序不一定在硬件电路上就能运行,原因有很多,当时钟很慢时候,出来的波形可能不正确,那是因为,读出的波形数据较少,在示波器的扫描周期中,点数太少,无法正确显示,因此,时钟频率一定要选择正确。(2) Dac0808在进行数模转换的时候,对时钟频率也有要求,并且它还需要接负电压,在做的过程中,可能忘记,导致无法正
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江大学海洋传感与网络研究所博士后招聘考试参考题库及答案详解
- 2025年宿迁市宿豫区法检系统书记员招聘考试试题及答案详解
- 2026年广东省深圳市法检系统书记员招聘笔试备考试题及答案详解
- 2025年广东省珠海市法检系统书记员招聘笔试试题及答案详解
- 流式存储音频视频
- 2025年绍兴市越城区法检系统书记员招聘笔试试题及答案详解
- 2026年度泸州市市直机关公开遴选(考调)公务员笔试模拟试题及答案详解
- 2025年长春市二道区法检系统书记员招聘笔试试题及答案详解
- 2026年山东省淄博市法检系统书记员招聘笔试备考题库及答案详解
- 2025-2026学年培训流程表格教学设计
- 2026年湖北省荆门市东宝区3年级数学期中人教版考试及答案
- (必刷)山东省大数据专业高级职称(大数据应用分析专业)考点精粹必做500题-含答案
- 跟骨骨刺微创手术知情同意书
- 中医科危急值管理流程
- 2026年支部书记任职考试题库(含答案)
- 教育培训公司人事制度
- 贵州省遵义市新蒲新区2025-2026学年七年级上学期期末语文试题(无答案)
- 水利水电工程混凝土防渗墙施工技术规范
- 2025-2026学年冀少版八年级生物上册知识点总结
- 科普大气压教学课件
- 《复合材料电缆沟盖板》编制说明
评论
0/150
提交评论