EDA课程设计任意波形产生电路设计

上传人:无*** 文档编号:45624120 上传时间:2021-12-08 格式:DOC 页数:19 大小:754KB
返回 下载 相关 举报
EDA课程设计任意波形产生电路设计_第1页
第1页 / 共19页
EDA课程设计任意波形产生电路设计_第2页
第2页 / 共19页
EDA课程设计任意波形产生电路设计_第3页
第3页 / 共19页
点击查看更多>>
资源描述
苏 州 市 职 业 大 学课程设计说明书 名称 任意波形产生电路设计2012年6月11日至2011年6月15日共1 周院 系 电子信息工程系 班 级 10通信2 姓 名 汪 系主任 教研室主任 指导教师 目录第一章:绪论31.1概述EDA技术31.1.1 EDA技术的应用31.2数字通信系统模型简述41.2.1 DDS优点41.2.2 基于DDS技术的任意波形发生器4第二章:设计要求62. 1 设计流程图62.2电路模块组成原理图6第三章:系统的设计83.1设计要求83.2设计思路83.3设计流程93.4设计步骤及程序93.5硬件实现及调试结果16第四章:课程设计总结18参考文献18第一章:绪论1.1概述EDA技术EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。 现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。1.1.1 EDA技术的应用EDA技术在进入21世纪后,得到了更大的发展应用,突出表现在以下几个方面:1.在FPGA上实现DSP应用成为可能,用纯数字逻辑进行DSP模块的设计,使得高速DSP实现成为现实,并有力地推动了软件无线电技术的实用化和发展。基于FPGA的DSP技术,为高速数字信号处理算法提供了实现途径。2.嵌入式处理器软核的成熟,使得SOPC(System On a Programmable Chip)步入大规模应用阶段,在一片FPGA中实现一个完备的数字处理系统成为可能。3.使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能。4.在仿真和设计两方面支持标准硬件描述语言且功能强大的EDA软件不断推出。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。1.2数字通信系统模型简述数字通信系统是指利用数字信号传递消息的通信系统。数字通信系统的模型如图所示。数字通信涉及的技术问题很多,其中有信源编码、信道编码、保密编码、数字调制、数字复接、同步问题等等。DDS是一种全数字化的频率合成器,由相位累加器、波形ROM、D/A转换器和低通滤波器构成。时钟频率给定后,输出信号的频率取决于频率控制字,频率分辨率取决于累加器位数,相位分辨率取决于ROM的地址线位数,幅度量化噪声取决于ROM的数据位字长和D/A转换器位数。 1.2.1 DDS优点DDS有如下优点: 频率分辨率高,输出频点多,可达 个频点(N为相位累加器位数);频率切换速度快,可达us量级; 频率切换时相位连续; 可以输出宽带正交信号; 输出相位噪声低,对参考频率源的相位噪声有改善作用;可以产生任意波形; 全数字化实现,便于集成,体积小,重量轻,因此八十年代以来各国都在研制和发展各自的DDS产品,如美国QUALCOMM公司的Q2334,Q2220;STANFORD公司的STEL-1175,STEL-1180;AD公司的AD7008,AD9850,AD9854等。这些DDS芯片的时钟频率从几十兆赫兹到几百兆赫兹不等,芯片从一般功能到集成有D/A转换器和正交调制器。1.2.2 基于DDS技术的任意波形发生器波形发生器电路系统结构图任意波形发生器(简称AWG)在1975年的开发成功为信号发生器产品增加了一个新品种。在任意波形发生器作为测量用信号激励源进入市场之前,为了产生非正弦波信号,已使用函数发生器提供三角波、斜波、方波和余弦波等几种特殊波形。声音和振动分析需要复杂调制的信号源,以便仿真真实的信号,只有借助任意波形发生器,例如医疗仪器测试往往需要心电波形,任意波形发生器很容易产生各种非标准的振动信号。任意波形发生器的应用非常广泛,在原理上可仿真任意波形,只要数字示波器或其它记录仪捕捉到的波形,任意波形发生器都可复制出,特别有用的是仿真单次偶发的信号,例如地震波形、汽车碰撞波形等。第二章:设计要求2. 1 设计流程图电路要求可以产生方波、正弦波、三角波,波形的频率可调,通过控制开关控制产生的波形,并通过控制按键控制设计信号的频率,改变频率的方法可以采用分频和DDS的原理进行控制信号频率。并进行D/A转换电路与滤波电路的设计,通过采用施密特触发器对波形进行整形,设计一频率测量电路对所产生的频率进行测量,通过数码管显示出来,并在数码管上显示当前的波形代码。至少产生的如下波形图1 正弦波形 图2 三角波形 图3 方波波形 图4特殊波形2.2电路模块组成原理图第三章:系统的设计3.1设计要求电路要求可以产生方波、正弦波、三角波,波形的频率可调,通过控制开关控制产生的波形,并通过控制按键控制设计信号的频率,改变频率的方法可以采用分频和DDS的原理进行控制信号频率。并进行D/A转换电路与滤波电路的设计,通过采用施密特触发器对波形进行整形,设计一频率测量电路对所产生的频率进行测量,通过数码管显示出来,并在数码管上显示当前的波形代码。3.2设计思路(1)提出设计说明书,即用自然语言表达系统项目的功能特点和技术参数等。(2)建立VHDL行为模型,这一步是将设计说明书转化为VHDL行为模型。(3)VHDL行为仿真。这一阶段可以利用VHDL仿真器(如ModelSim)对顶层系统的行为模型进行仿真测试,检查模拟结果,继而进行修改和完善。(4)VHDL-RTL级建模。如上所述,VHDL只有部分语句集合可用于硬件功能行为的建模,因此在这一阶段,必须将VHDL的行为模型表达为VHDL行为代码(或称VHDL-RTL级模型)。(5)前端功能仿真。(6)逻辑综合。(7)测试向量生成。这一阶段主要是针对ASIC设计的。FPGA设计的时序测试文件主要产生于适配器。对ASIC的测试向量文件是综合器结合含有版图硬件特性的工艺库后产生的,用于对ASIC的功能测试。(8)功能仿真。利用获得的测试向量对ASIC的设计系统和子系统的功能进行仿真。(9)结构综合。主要将综合产生的表达逻辑连接关系的网表文件,结合具体的目标硬件环境进行标准单元调用、布局、布线和满足约束条件的结构优化配置,即结构综合。(10)门级时序仿真。在这一级中将使用门级仿真器或仍然使用VHDL仿真器(因为结构综合后能同步生成VHDL格式的时序仿真文件)进行门级时序仿真,在计算机上了解更接近硬件目标器件工作的功能时序。(11)硬件测试。这是对最后完成的硬件系统(如ASIC或FPGA)进行检查和测试。3.3设计流程3.4设计步骤及程序分频模块 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fp ISport(clk:in std_logic; -input 1K Hz k:in std_logic_vector(3 downto 0); clko:buffer std_logic); -out 1 hzend fp;architecture a of fp issignal temp:std_logic_vector(3 downto 0);beginprocess(clk)beginif clkevent and clk=1 thenif tempk thentemp=temp+1;elsetemp=0000;clko=not clko;end if;end if;end process;end a;正弦函数模块 library 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; k:in integer range 15 downto 0; dd4:out integer range 255 downto 0);end sin;architecture dacc of sin issignal q: integer range 63 downto 0;beginprocess(clk4)beginif (clk4event and clk4=1) thenqdd4null;end case;end process;end dacc;三角波 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity tria isport(clk3:in std_logic; k:in integer range 15 downto 0; dd3:out integer range 255 downto 0);end tria;architecture dacc of tria issignal b:std_logic;signal c:integer range 255 downto 0;beginprocess(clk3)beginif (clk3event and clk3=1) thenif(b=0) thenc=250) thenb=1;end if;elsif(b=1) thenc=c-k;if(c=1) thenb=0;end if;end if;dd3=c;end if;end process;end dacc;方波 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity square isport(clk1 : in std_logic; k:in integer range 15 downto 0; dd1 : buffer integer range 255 downto 0);end square;architecture dacc of square issignal q: integer range 255 downto 0;beginprocess(clk1)beginif (clk1event and clk1=1) thenqdd1dd1null;end case;end process;end dacc;特殊波形 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; k:in integer range 15 downto 0; dd4:out integer range 255 downto 0);end sintra;architecture dacc of sintra issignal q: integer range 63 downto 0;beginprocess(clk4)beginif (clk4event and clk4=1) thenqdd4dd4null;end case;end process;end dacc;分频1Hz LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fp1HZ ISPORT(clk:in std_logic; -10M clk1Hz: buffer STD_LOGIC);END fp1hz;ARCHITECTURE one OF fp1hz ISSIGNAL test: integer range 0 to 6000000;beginprocess(clk)beginif clkevent and clk=1 thenif test5000000 thentest=test+1;elsetest=0;clk1hz=not clk1hz;end if;end if;end process;end one;测频模块 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY freq ISPORT(fsin: in STD_LOGIC; clk: IN STD_LOGIC; dout0,dout1,dout2,dout3: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END freq;ARCHITECTURE one OF freq ISSIGNAL test_en: STD_LOGIC; SIGNAL clear: STD_LOGIC; SIGNAL data: STD_LOGIC_VECTOR(15 DOWNTO 0); BEGIN PROCESS(clk)BEGIN IF clkevent AND clk=1 THEN test_en=NOT test_en; END IF; END PROCESS; clear=NOT clk AND NOT test_en; PROCESS(fsin)BEGIN IF clear=1 THEN data=0000000000000000;ELSIF fsinevent AND fsin=0 THENIF data(15 DOWNtO 0)=1001100110011001 THEN data=data+0110011001100111; elsIF data(11 DOWNtO 0)=100110011001 THEN data=data+011001100111; ELSIF data(7 DOWNTO 0)=10011001 THEN data=data+01100111; ELSIF data(3 DOWNTO 0)=1001 THEN data=data+0111; ELSE data=data+1; END IF;END IF;END PROCESS;PROCESS(test_en,data) BEGIN IF test_enevent AND test_en=0 THEN dout0=data(3 downto 0); dout1=data(7 downto 4); dout2=data(11 downto 8); dout3=data(15 downto 12); END IF; END PROCESS;END one;控制模块 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.allentity 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;architecture a of control isbegin process(sel,k0,k1,k2,k3) begin if sel=“00” then qout=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.5 硬件实现及调试结果1、不同分频产生方波如图2、不同分频产生三角波如图3、不同分频产生任意波如图:4、不同分频产生正弦波如图:第四章:课程设计总结通过这次课程设计,使我得到了一次全面的运用所学的知识分析和解决问题。加深了我对EDA的掌握方面都能向前迈了一大步。在课程设计的一周,让我们再课堂上学习的理论能够付诸实践,在这个过程中,刚开始我们是迷茫的,不知从何做起,通脱老师的指导,同学间的互相学习帮助,逐渐有了清晰的概念,也对自己的课题有了全面系统 的了解。逐渐由被动转为主动,能够自己去实现一些局部功能,到完成整个课题的设计。也使我们再课堂学习到的模糊的概念也转化为清晰的认识。正所谓纸上得来终觉浅,绝知此事要躬行。学会了如何把理论应用于实际,如何用我们所学的知识去解决正常生活中的问题。在当今科技发展如此迅速的时代,计算机已经成为了必不可少的工具,它无处不在,学习掌握计算机的技能已成为一项必修课,想要在这个社会有一立足之处,就必须学好计算机,能准确的掌握计算机知识,并熟练的贯彻到生活之中。参考文献【1】 孙加存,尹常永.电子设计自动化.西安电子科技大学出版社,2008【2】 潘松,黄继业.EDA技术实用教程.北京:科学出版社,2002【3】 焦素敏.EDA应用技术.北京:清华大学出版社,2005【4】 江国强.EDA技术与应用.北京:电子工业出版社,2005【5】 金西.VHDL与复杂数字系统设计.西安:西安电子科技大学出版社,2003 等.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!