函数发生器EDA课程设计论文.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EDA课程设计题 目: 函数发生器  作 者: 何小敏   所在学院: 信息科学与工程学院 专业年级:  2011级  指导教师: 王建英   目录1.信号产生原理分析41.1信号产生原理分析42系统组成52.1系统组成53 模块电路设计与仿真53.1正弦波模块53.1.1正弦波VHDL程序设计53.1.2正弦波模块设计73.2方波发生器模块73.2.1方波程序设计73.3三角波发生器模块93.3.1三角波程序设计93.3.2三角波模块设计103.4 锯齿波发生器模块103.4.1锯齿波程序设计103.4.2 锯齿波模块设计113.5控制器模块的设计113.6分频器模块设计134 顶层设计14总结15参考文献16摘要 应用EDA技术完成一个垫子产品的设计,以FPGA芯片中集成一个在电子生产中常用到的波形发生器。利用VHDL语言,对底层文件用软件的方式编写出来,方便简单。通过对其进行波形仿真,验证其功能,保证其可靠性。再通过元件例化的方式,将各个模块在顶层设计里面连接在一起,构成一个完整的系统。使常用到的波形发生器微型化,简单化。关键词:(3-5个关键词) VHDL顶层设计 波形发生器 分频器 1.信号产生原理分析 1.1信号产生原理分析 在EDA技术中,若要产生正弦波,方波,三角波等多种信号,先要对产生的波形信号的一个周期信号进行采样,将各采样点信号顺序地存储在EPROM中,然后用控制电路调出所需的信号,经过DA转换,再经放大器放大后,变能得到一定频率的信号,可以用示波器观察。采样方式有很多种,可以用matlab编写程序实现,也可以用C语言实现。我采用的mif生成器,可以常用波形,也可以绘制自己想要的任何波形,绘制完成,保存的文件就是对应波形的mif文件。默认的位宽是8位,采样点为256.以下便是生成的正弦波的mif文件:DEPTH = 512;WIDTH = 8;ADDRESS_RADIX = HEX;DATA_RADIX = HEX;CONTENT BEGIN0000 : 0080;0001 : 0081;0002 : 0083;0003 : 0084;0004 : 0086;0005 : 0087;0006 : 0089;0007 : 008A;.....01F2 : 006A;01F3 : 006B;01F4 : 006D;01F5 : 006E;01F6 : 0070;01F7 : 0071;01F8 : 0073;01F9 : 0075;01FA : 0076;01FB : 0078;01FC : 0079;01FD : 007B;01FE : 007C;01FF : 007E;END ;2系统组成2.1系统组成 根据设计要求,信号发生器的结构框图2.1所示,其中分频器是将输入信号进行分频,通过外部控制选择不同的频率,用于频率的调节。控制信号,实现对四种信号的选择。 图2.1函数发生器系统框图 3 模块电路设计与仿真3.1正弦波模块3.1.1正弦波VHDL程序设计library ieee;use ieee.std_logic_1164.all;use ieeE.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sin isport( clk,reset:in std_logic; q:out std_logic_vector(7 downto 0));end;architecture one of sin isbeginprocess(clk,reset)variable tmp:std_logic_vector(7 downto 0);variable a:std_logic;beginif reset=0then tmp:=(others=0); elsif clkevent and clk=1 thenif a=0 thenif tmpthentmp:a:=1;else tmp:=tmp+1;end if;else if tmpthentmp:a:=0;elsetmp:=tmp-1;end if;end if;end if;q=tmp;end process;end one;仿真波形如下图所示: 图3.1.1 正弦波发生器仿真波形程打包程序所生成的元件如下图:图3.1.2 正弦波元件3.1.2正弦波模块设计 由以上程序生成了如图3.1.2的图形,由原理可知正弦波的生成还需要正弦波的采样数据,生成如下数据包:由于表格太大,只截取了其中一部分数据。通过其生成的VHDL文件,也将其例化成元件图标,如下图:一个完整的正弦波需要

文档评论(0)

smdh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档