任意波形器设计.doc

上传人:scccc 文档编号:13430339 上传时间:2021-12-25 格式:DOC 页数:20 大小:643.50KB
返回 下载 相关 举报
任意波形器设计.doc_第1页
第1页 / 共20页
任意波形器设计.doc_第2页
第2页 / 共20页
任意波形器设计.doc_第3页
第3页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《任意波形器设计.doc》由会员分享,可在线阅读,更多相关《任意波形器设计.doc(20页珍藏版)》请在三一文库上搜索。

1、苏州市职业大学实习(实训)报告名称2013年6月17日至2013年6月21日共1周院 系电子信息工程学院班 级学号姓 名院 长系主任指导教师苏州市职业大学实习(实训)任务书名 称:任意波形产生器的设计起讫时间: 2013617-2013621院 系:电子信息工程学院班 级:指导教师:院 长:一、实习(实训)目的和要求设计任意波形产生器。二、实习(实训)内容电路要求可以产生正弦波、锯齿波、方波、特殊波形,波形的频率可 调,可以采用分频和DDS的原理控制信号输出的频率,并通过调节实验开 发系统的按键控制设计信号的频率,波形的类型通过控制模块中程序设置 选择,并通过调节实验开发系统的按键控制;整个电

2、路输出8位数字,经过实验开发系统中D/A转换模块并进行放大输出模拟信号波形,通过示波 器连接实验开发系统观察具体的波形,整个系统的外围电路包括按键控制 电路、D/A转换电路、低频信号滤波电路、放大电路等。任意波形产生器电路构成三、实习(实训)方式"集中 分散 "校内 口校外四、实习(实训)具体安排第1天:布置实训任务,进行电路原理的讲述及程序的编写;第2天:进行程序的编写调试与仿真;第3天:进行硬件电路板的连接;第4天:进行硬件调试与设计报告的撰写五、实习(实训)报告内容1. 理解电路的工作原理;2. 画出电路详细框图;3. 分析电路中各模块工作原理,并写出各模块的VHDL

3、程序;4. 通过QuartusH软件生成各模块的原理图及整个电路的顶层文件原理图;5. 对整个电路的程序进行调试与仿真;6. 连接实验开发板,下载程序,进行硬件的调试;7. 撰写实训报告,并注意报告结构合理,层次分明,在分析时注意语言的 流畅。目录第 1 章 绪论 . 61.1 EDA 发展及应用 61.2 数字系统设计模型 71.2.1 传统的设计方法 71.2.2 现代的设计方法 71.3 EDA 设计流程图 8第 2 章 设计说明 . 92.1 设计要求 92.2 设计思路 9第 3 章 系统设计 . 103.1 电路原理图及各模块图 103.2 设计流程 103.3 程序代码内容 11

4、3.4 定义管脚 183.5 硬件实现及调试结果 18第 4 章 课程设计总结 . 20参考文献 . 20第1章 绪 论1.1 EDA 发展及应用伴随着计算机、集成电路、系统电子设计的发展,EDA技术经历了 20世纪70年代的计算机辅助设计(CAD、20世纪80年代的计算机辅助工程设计(CAED和20世纪 90年代电子系统设计自动化(EDA三个发展阶段。从目前的EDA技术来看,其发展趋 势是政府重视、使用普及应用广泛、工具多样、软件功能强大。随着微电子技术与工具 软件的发展,EDA技术的硬件载体软件开发工具与设计输入方式等都发生了很大的变化。 EDA工具的发展分为以下几个方面:设计输入工具的发

5、展趋势,具有混合信号处理能力 的,EDA硬件载体的发展方向则向着密度更高、速度更快、频带更宽的百万门方向发展。 向系统内可重构的方向发展。向混合可编程器件技术发展。向低电压、向低功耗的绿色 原件发展。总的来说,EDA的发展趋势表现在如下几个方面:(1)超大规模集成电路的集成度和工艺水平不断提高,深亚微米工艺走向成熟, 使片上系统设计成为可能。( 2)市场对电子产品提出更高要求,如降低电子系统的成本、减小系统的体积等, 从而对系统的集成度提出更高要求。(3)高性能的EDA工具得到长足发展,自动化和智能化程度不断提高,为嵌入式 系统设计提供功能强大的开发环境。(4)计算机硬件设计平台性能大幅度提高

6、,为复杂的片上系统提供了物理基础。EDA技术在数学、科研、产品设计与制造等各个方面都发挥着巨大作用。在数学方 面,几乎所有理工科院校的电子信息类专业都开设了EDA课程,主要目的是让生了解EDA的基础概念和基本原理。掌握用HDL语言编写规范的程序,掌握逻辑综合的理论与算法。在科研方面,主要利用电路仿真工具进行电路设计与仿真,利用虚拟仪器进行产品 测试,将CPLD/FPG器件实际应用到仪器设备中,从事 PCB设计和ASIC设计等。在产品设计与制造方面,EDA技术应用于仿真、生产、测试等各个环节。EDA技术已经应用于行业,在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等 各个领域都有ED

7、A技术的应用。1.2数字系统设计模型1.2.1传统的设计方法系统分析由底向上的设计方法是传统的IC和PCB勺设计方法。 有以下几个特征:(1) 设计方向是自底向上,先设计最小的单元电路, 然后再将各个功能模块连接起来。(2) 采用通用逻 辑元器件,通常采用 74系列和 CMOS400系列的产品进行设计。单元设计子系统设计(3) 在系统硬件设计的后期进行调试和仿真。在部分 或者全部硬件电路连接完成后才可以进行电路调试, 使设计 周期延长。(4) 设计结果是多张电路图。设计调试完形成电路原 理图,包括元器件型号和信号间的互连关系。系统总成采用由底向上的设计方法需要设计者先定义和设计每 个基本模块,

8、然后对这些模块进行连线以完成整体设计。 在 IC设计复杂程度低于10000门时,常采用这种设计方法, 但是随着设计复杂程度的增加,该方法会产生产品生产周期 长、可靠性低、开发费用高等问题。1.2.2现代的设计方法自顶向下的设计方法是现代的设计方法,这种设计方法综合运用各方面的知识,设 计者必须从系统的角度来分析设计。采用自顶向下技术进行设计可分为三个主要阶段: 系统设计、系统的综合优化和系统实现。各个阶段之间没有绝对的界限。系统设计时整个设计流程中最重要的部分,它包括系统功能分析、体系结构设计、 系统描述与功能仿真,这一阶段所做的工作基本上决定了所设计电路的性能,后面所作 的工作都是以这一部分

9、为基础的。在完成仿真后,接下来的工作就是系统综合优化,主 要包括系统的综合优化与门级仿真。如果系统综合优化的结果满足设计者的要求,就可 以进行系统实现了,设计者可以将综合后的电路网表文件和设计者的时序要求给IC生产厂家进行下一步的工作,也可以通过EDA工具软件对FPGA/CPL芯片进行配置与编程。1.3 EDA设计流程图由下图可知,可以把EDA设计流程分为:设计输入、功能仿真、综合、适配、时序仿真与下载第 2章 设计说明2.1 设计要求电路要求可以产生本正弦波、锯齿波、方波、特殊波形。波形的频率可调,可以采用分频和DDS勺原理控制信号输出的频率。并通过调节实验开发系统的按键控制设计信 号的频率

10、,波形的设计类型通过控制模块中程序设置选择,并通过调节实验开发系统的 按键控制,整个电路输出8位数字,经过实验开发系统中D/A转换模块并进行放大输出 模拟信号波形,通过示波器连接实验开发系统观察具体的波形,整个系统的外围电路包 括按键控制电路、D/A转换电路、低频信号滤波电路、放大电路等。2.2 设计思路1 、提出设计说明书,即用自然语言表达系统项目的功能特点和技术参数等。2、建立VHDL行为模型,这一步是将设计说明书转化为 VHDL亍为模型。3、 VHDL亍为仿真。这一阶段可以利用 VHDL仿真器(如ModelSim)对顶层系统的行为模型进行仿真测试,检查模拟结果,继而进行修改和完善。4、V

11、HDL-RT级建模。如上所述,VHDL只有部分语句集合可用于硬件功能行为的建模,因此在这一阶段,必须将VHDL的行为模型表达为VHDL亍为代码。5 、前端功能仿真。6 、逻辑综合。7、测试向量生成。这一阶段主要是针对 ASIC设计的。FPGA设计的时序测试文件主要产生于适配器。对ASIC的测试向量文件是综合器结合含有版图硬件特性的工艺库 后产生的,用于对ASIC的功能测试。8、功能仿真。利用获得的测试向量对 ASIC的设计系统和子系统的功能进行仿真。9 、结构综合。主要将综合产生的表达逻辑连接关系的网表文件,结合具体的目标硬件 环境进行标准单元调用、布局、布线和满足约束条件的结构优化配置,即结

12、构综 合。10、 门级时序仿真。在这一级中将使用门级仿真器或仍然使用VHDL仿真器(因为结构综合后能同步生成 VHDL格式的时序仿真文件)进行门级时序仿真,在计算 机上了解更接近硬件目标器件工作的功能时序。11、硬件测试。这是对最后完成的硬件系统(如 ASIC或FPGA进行检查和测试。第3章系统设计3.1电路原理图及各模块图3.1.1系统总体设计原理图:Ip,Dli口LIrdn1hifiJ.痕 *H7 ti汕I卩” 0|i中.動KP.J&L WP-O炉rWf严齐qp.ijf I -r i_tquire hfr33.1.2各模块图:ppiF i1rLL"slri:sawtoot

13、helkclko'kp.jDclk4 dd4f.jOi ¥iiiclk3 dd37,-D instiInst! instlI « « ."= "1 »" 1""1""1 1 3 .4 I « " ." = "1"分频模块正弦函数模块锯齿波函数模块方波函数模块特殊波形模块控制模块3.2设计流程1. 启动Quartus n 6.0 :双击桌面上的 Quartus n 6.0图标启动该软件。2. 编辑文件:单击菜单栏中的File/Ne

14、w命令,选择原理图文件,并将其设为工程。打 开6个VHDL文件,一次输入分频模块、正弦函数模块、锯齿波函数模块、方波函数模 块、特殊波形模块、控制模块的 VHDI语言程序。并将它们创建到原理图中的工程模块。3. 输入原理图:在 projict 中把六个模块添加到原理图中,输入、输出信号添加并修改 名称,保存文件。4. 创建工程:打开新建工程向导,将设计文件加入工程中,选择目标芯片,选择仿真器 和综合器类型,结束设置。5. 编译、仿真:编译完成后建立仿真波形文件,打开波形编辑器,输入信号节点,编辑 输入波形启动仿真及阅读仿真报告。6. 制定芯片管脚:根据实验要求给管脚添加相应信号3.3 程序代码

15、内容1. 分频模块 fpLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fp ISport(clk:in std_logic; -inputk:in std_logic_vector(3 downto 0);clko:buffer std_logic); -out end fp;architecture a of fp issignal temp:std_logic_vector(3 downto 0); beginprocess(clk)beginif clk'event

16、and clk='1'thenif temp<k then temp<=temp+1;elsetemp<="0000"clko<=not clko;end if;end if;end process;end a;2. 正弦函数模块 sinlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity sin isport(clk4:in std_logic;dd4:out integ

17、er range 255 downto 0); end sin;architecture dacc of sin issignal q:integer range 63 downto 0; beginprocess(clk4)beginif(clk4'event and clk4='1')then q<=q+1;end if;end process;process(q)begincase q iswhen 00=>dd4<=255;when 01=>dd4<=254;when 02=>dd4<=253;when 03=>d

18、d4<=250;when 04=>dd4<=245;when 05=>dd4<=240;when 06=>dd4<=234;when 07=>dd4<=226;when 08=>dd4<=218;when 09=>dd4<=208;when 10=>dd4<=198;when 11=>dd4<=188;when 12=>dd4<=176;when 13=>dd4<=165;when 14=>dd4<=152;when 15=>dd4<=140;w

19、hen 16=>dd4<=128;when 17=>dd4<=115;when 18=>dd4<=103;when 19=>dd4<=90;when 20=>dd4<=79;when 21=>dd4<=67;when 22=>dd4<=57;when 23=>dd4<=47;when 24=>dd4<=37;when 25=>dd4<=29;when 26=>dd4<=21; when 27=>dd4<=15; when 28=>dd4<=

20、10; when 29=>dd4<=5; when 30=>dd4<=2; when 31=>dd4<=1; when 32=>dd4<=0; when 33=>dd4<=1; when 34=>dd4<=2; when 35=>dd4<=5; when 36=>dd4<=10; when 37=>dd4<=15; when 38=>dd4<=21; when 39=>dd4<=29; when 40=>dd4<=37; when 41=>dd4

21、<=47; when 42=>dd4<=57; when 43=>dd4<=67; when 44=>dd4<=79; when 45=>dd4<=90; when 46=>dd4<=103; when 47=>dd4<=115; when 48=>dd4<=128; when 49=>dd4<=140; when 50=>dd4<=165; when 51=>dd4<=176; when 52=>dd4<=188; when 53=>dd4<=

22、198; when 54=>dd4<=208; when 55=>dd4<=218; when 56=>dd4<=226; when 57=>dd4<=234; when 58=>dd4<=240; when 59=>dd4<=245; when 60=>dd4<=250; when 61=>dd4<=253; when 62=>dd4<=254; when 63=>dd4<=255; when others=>null;end case; end process;en

23、d dacc;3. 锯齿波函数模块 sawtooth library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sawtooth isport(clk3:in std_logic;dd3:out integer range 255 downto 0); end sawtooth;architecture dace of sawtooth isbegin process(clk3) variable b:std_logic; variab

24、le c:integer range 255 downto 0;beginif(clk3'event and clk3='1')then if(b='0')then c:=c+5;if(c>=200)thenb:='1'end if; else c:=0; b:='0' end if;end if;dd3<=c; end process; end dace;4. 方波函数模块 square library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_a

25、rith.all;use ieee.std_logic_unsigned.all;entity square isport(clk1:in std_logic;dd1:buffer integer range 255 downto 0); end square;architecture dacc of square issignal q:integer range 255 downto 0; beginprocess(clk1)beginif(clk1'event and clk1='1')then q<=q+1;end if;end process;proces

26、s(q)begincase q iswhen 0 to 127=>dd1<=255;when 128 to 255=>dd1<=127; when others=>null;end case;end process;end dacc;5. 特殊波形函数模块 sintra library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity sintra isport(clk4:in std_logic;dd4:out

27、integer range 255 downto 0); end sintra;architecture dacc of sintra issignal q:integer range 63 downto 0; beginprocess(clk4)beginif(clk4'event and clk4='1')then q<=q+1;end if;end process;process(q)begincase q iswhen 00=>dd4<=255;when 01=>dd4<=247;when 02=>dd4<=239;wh

28、en 03=>dd4<=231;when 04=>dd4<=223;when 05=>dd4<=215;when 06=>dd4<=207; when 07=>dd4<=199; when 08=>dd4<=191;when 09=>dd4<=183; when 10=>dd4<=175; when 11=>dd4<=167; when 12=>dd4<=159; when 13=>dd4<=151; when 14=>dd4<=143; when 1

29、5=>dd4<=135; when 16=>dd4<=128; when 17=>dd4<=115; when 18=>dd4<=103; when 19=>dd4<=90; when 20=>dd4<=79; when 21=>dd4<=67; when 22=>dd4<=57; when 23=>dd4<=47; when 24=>dd4<=37; when 25=>dd4<=29; when 26=>dd4<=21; when 27=>dd

30、4<=15; when 28=>dd4<=10; when 29=>dd4<=5; when 30=>dd4<=2; when 31=>dd4<=1; when 32=>dd4<=0; when 33=>dd4<=1; when 34=>dd4<=2; when 35=>dd4<=5; when 36=>dd4<=10; when 37=>dd4<=15; when 38=>dd4<=21; when 39=>dd4<=29; when 40=&

31、gt;dd4<=37; when 41=>dd4<=47; when 42=>dd4<=57; when 43=>dd4<=67; when 44=>dd4<=79; when 45=>dd4<=90; when 46=>dd4<=103; when 47=>dd4<=115; when 48=>dd4<=127; when 49=>dd4<=135; when 50=>dd4<=143; when 51=>dd4<=151; when 52=>dd4

32、<=159;when 53=>dd4<=167;when 54=>dd4<=175;when 55=>dd4<=183;when 56=>dd4<=191;when 57=>dd4<=199;when 58=>dd4<=207;when 59=>dd4<=215;when 60=>dd4<=223;when 61=>dd4<=231;when 62=>dd4<=239;when 63=>dd4<=247;when others=>null; end c

33、ase; end process;end dacc;6. 控制模块 control library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity control isport(sel:in std_logic_vector(1 downto 0); k0,k1,k2,k3:in integer range 255 downto 0; qout:out integer range 255 downto 0); end control;arch

34、itecture a of control is beginprocess(sel,k0,k1,k2,k3)beginif sel="00"thenqout<=k0; elsif sel="01"then qout<=k1;elsif sel="10"then qout<=k2;elsif sel="11"then qout<=k3;end if;end process;end a;3.4定义管角3.5硬件实现及调试结果定义好管脚,下载程序到硬件上,编译调试,控制 SEL的值,在示波器上看到

35、产生的波形图如下:Fp为0000时,即二分频产生波形如下:Sel=00,正弦波:Sel=01,锯齿波:Sel=10,方波:Sel=11,特殊波:第 4章 课程设计总结在为期一周的EDA实训中,我对Quartus II 软件更加了解了。不仅巩固了以前学 过的知识,而且还学到了怎样用 EDA设计四种波形的整个过程和设计思路,加强了我们 的实践能力,也提高了我们思考问题的能力。这次课程设计比较成功,在演示给指导老师看时很顺利,没有出现差错。但是,在 进行课程设计的过程中也遇到了一系列的问题,例如文件的输入,这看似简单的问题, 在实际操作过程中,如果不细心,还是挺麻烦的。在选择目标芯片时也得格外注意,

36、一 定要确保完全与要求一致,否则最终会出现你意想不到的后果。所以,为了能够顺利得 出所需波形图,再细心也不为过。本次的电路要求可以产生正弦波、锯齿波、方波、特殊波形。波形的频率可调,采用分频和DDS原理控制信号的输出和频率。并通过调节实验开发系统的按键控制设计信 号的频率,通过程序设计选择控制波形的类型。这些看似复杂的问题在 Quartus II 该 软件上很轻易的实现了, 不得不感叹, 科学发展给我们带来的便利, 给社会带来的福利。 这也是仿真软件所具备的独特魅力。更是我们学习该软件的重要原因。回顾此次实训课程,至今仍感慨颇多,从理论到实践,这个过程可以学习到很多 东西。只有把理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务, 真正提高自己的能力。此次实训也让我明白了一个人生哲理: 态度决定一切,细节决定成败。参考文献: 电子设计自动化 VHDL硬件描述语言与数字逻辑电路设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1