基于VHDL语言信号发生器的设计.EDA课程设计_第1页
基于VHDL语言信号发生器的设计.EDA课程设计_第2页
基于VHDL语言信号发生器的设计.EDA课程设计_第3页
基于VHDL语言信号发生器的设计.EDA课程设计_第4页
基于VHDL语言信号发生器的设计.EDA课程设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于VHDL言信号生器的计1设计目的掌握使用EDA工具设计信号发生器系统的设计思路和设计方法,体会使用EDA综合过程中电路设计方法和设计思路的不同,理解层次化设计理念。熟悉在QuartusII环境中用文本输入方式与原理图输入方式完成电路的设计,同时掌握使用这两种方式相结合的设计思路。通过这一部分的学习,对VHDL语言的设计方法进行进一步的学习,对其相关语言设计规范进行更深层次的掌握够更加熟练的做一些编程设计2、设计的主要内容要求通过使用VHDL语言及II软件,设计多功能信号发生器的每个块将正弦波模块方波模块三角波模块阶梯波模块创建相应的元件符号,同时设计好41数据选择器模块再通过原理图输入方式,将各个模块组合起来计成一个完整的多种信号发生器电路时将各个模块单独进行仿真,设计各个模块的仿真波形,最后进行总原理图电路仿真,设计该信号发生器的总的仿真波形。信号发生器:体现在它能自动的实现四种波形的转换。根据题目的分析与整体构思可知,要完成设计任务必须完成以下要求:1、设计好于波形切换的四路数据选择器;2、设计好于总电路设计的各个信号输出模块;3、

设计好数模()换。3整体设计方案基本设计方案在现有单一信号发生器的基础上,加上其它信号模块,通过组合与设计,用数模转换器(D/A)将选中的信号源发出的信号由数字信号转换为模拟信号,再用示波器显示出来,其信号发生器的结构框图如图所示。信号发生器由各个单一信号模块组合而成中信号产生模块将产生所需的各种信号信号发生器的控制模块可以用数据选择器实现用4选1数据选择器实现对四种信号的选择。最后将波形数据送入转换器,将数字信号转换为模拟信号输出。用示波器测试D/A换器的输出,可以观测到4信号的输出。时钟信号

信号产生

信号控制

转换

输出信号选择信号图3.1

信号发生器结构框图通过查找资料把各类信号模块的程序输入到QuartusⅡ中进行运行仿真,每一步都要慎重小心,错误难免的,还需要通过课本和资料一一更正。最后在前面模块做好的基础上再考虑如何输出波形的问题通过对四种波形采样就可以得到。4硬件电路的设计与软件设计根据题目分析与整体构思可知,要完成设计任务必须设计出以下模块:4.1该模块产生以64个时钟为一个周期的正弦波。其VHDL语言源程序代如下所示:IEEE;USEIEEE.STD_LOGIC_1164.ALL;--打开库文件USEIEEE.STD_LOGIC_UNSIGNED.ALL;(clk:INSTD_LOGIC;--明clk是标准逻辑位类型的输入端口

clr:INSTD_LOGIC;--声明clr是标准逻辑位类型的输入端口d:OUTto--声d是标准逻辑向量类型的输出端口ENDsinqi;OFISBEGINvariabletemp:integer0toBEGINIFTHEN--clr低电平d0ELSIFclk'EVENTclk='1'THEN--clk为上升沿IFtemp=63THENELSEENDIF;IS00=>d<=255;when01=>d<=254;when02=>d<=252;03=>d<=249;when04=>d<=245;when05=>d<=239;06=>d<=233;when07=>d<=225;when08=>d<=217;09=>d<=207;when10=>d<=197;when11=>d<=186;12=>d<=174;when13=>d<=162;when14=>d<=150;15=>d<=137;when16=>d<=124;when17=>d<=112;18=>d<=99;when21=>d<=64;when24=>d<=34;when27=>d<=13;when29=>d<=4;32=>d<=0;35=>d<=8;36=>d<=13;when39=>d<=34;when42=>d<=64;when45=>d<=99;when46=>d<=112;when47=>d<=124;48=>d<=137;when49=>d<=150;when50=>d<=162;51=>d<=174;when52=>d<=186;when53=>d<=197;54=>d<=207;when55=>d<=217;when56=>d<=225;57=>d<=233;when58=>d<=239;when59=>d<=245;60=>d<=249;when61=>d<=252;when62=>d<=254;63=>d<=255;when当不是选择值,作未知--理ENDENDIF;ENDENDsinb;4.2该模块产生方波是通过交替送出全0和全实现每16时钟翻转一次。其VHDL语言源程序代如下所示:IEEE;--打开库件USEUSEIEEE.STD_LOGIC_UNSIGNED.ALL;IS(clk:IN声明clk是标准逻辑位类型的输入端口clr:INSTD_LOGIC;--明clr是标准逻辑位类型的输入端口q:OUTDOWNTO0));--声明q标准逻辑--向量类型的输出端口ENDfangboqi;fangboqiIS--结构体说明SIGNALa:BEGINdownto--变量定义BEGINIFTHENa<='0';ELSIFclk'eventANDclk=THEN--clk上升沿IFELSEtmp:=tmp+1;ENDIF;IFtmp<"1000"THENa<='1';ELSEa<='0';ENDIF;ENDIF;ENDPROCESS;BEGINIFANDclk=--clk上升沿IFTHENq<="11111111";--q赋值ELSEq<="00000000";--q赋值ENDIF;ENDIF;ENDEND4.3

结束进程--结束结构体该模块产生的三角波形以个时钟为一个周期,输出每次加减8其VHDL语言源程序代如下所示:IEEE;--打开库文件USEUSEIEEE.STD_LOGIC_UNSIGNED.ALL;sjboIS(clk:IN声明是标准逻辑位类型的输入端口clr:INSTD_LOGIC;--明是标准逻辑位类型的输入端口q:OUTDOWNTO声明q是标准逻辑--向量类型的输出端口ENDsjbo;sjqiIS--结构体说明BEGINDOWNTO0);BEGINIFTHENELSIFclk'eventANDIFTHENIFtmp="11111000"THENELSEtmp:=tmp+8;ENDIF;ELSEIFtmp="00000111"THENELSEENDIF;ENDIF;ENDIF;q<=tmp;--q赋值ENDPROCESS;

--量说明--clk上升沿ENDsjqi;4.4该模块产生的是阶梯波形。其VHDL语言源程序代如下所示:打开库文件USEUSEIEEE.STD_LOGIC_UNSIGNED.ALL;jietiboqi(clk:IN声明是标准逻辑位类型的输入端口clr:IN声明clr是标准逻辑位类型输入端口Q:BUFFERSTD_LOGIC_VECTOR(7DOWNTOENDjietiboqi;jietiboOFjietiboqiIS结构体说明BEGINDOWNTO0);--变量定义BEGINIFTHENtmp:="00000000";--变量赋值ELSEIFANDclk='1'THEN--clk为上升沿IFtmp="11111111"THENELSEtmp:=tmp+30;ENDIF;ENDIF;ENDIF;ENDPROCESS;--结束进程ENDjietibo;4.5该模块的VHDL语言源序代码如下所示:IEEE;--开库文件USEselector4_1--实体说明端口说明sel:INDOWNTOD0,D1,D2,D3:INSTD_LOGIC_VECTOR(7DOWNTOQ:OUTSTD_LOGIC_VECTOR(70));ENDselector4_1;OFselector4_1--结构体说明BEGINPROCESS(sel,D0,D1,D2,D3)BEGINselISothers--当的值不是选择值时作未知处理ENDCASE;ENDPROCESS;ENDone;数模转换器D/A图4.6数模转换器DAC0832的接电路图选择一个D/A转换器数据选择器的输出信号与转换器的输入端相连接,D/A转换器的可选择范围很宽,这里选择常用的,其DAC0832的连接电路如上图4.6所示。信号发生器程序流程框图当输入端有时钟信号输入时各个信号发生器模块独立运行独立存在发出各种信号,这些信号作为数据选择器的输入信号,在数据选择器的作用下形切换到相应的模块输出,再通过数模转换通过示波器显示出相应的波形图,其程序流程图如下图4.7所示:开始输入信号复位各个信号发生器模块四选一数据选择器数模转换器(D/A输出信号图4.7信号发生器程序流程框图5、统仿真通过uartusⅡ软件设计出各个模块的原理图及其相关仿真波形示意图如下:在QuartusII软件环境下,通过文本方式编写各个信号波形模块的VHDL语言源程序,且进行仿真。接下来将各个信号波形模块产生相应的元件符号新建一个工程加载上述模块,利用原理图输入法生成整体多波形信号发生器。5.1

正弦波信号发生器的原理图如下图所示:图5.1.1正弦波信号发生器原理图正弦波信号发生器的仿真波形图如下图所示:图5.1.2正弦波信号发生器仿真波形图Clk由0到1交替变更,clr一直处于高电平状态,Q端则由0000100000010000并依次加000010005.2

方波信号发生器的原理图如下图所示:图5.2.1方波信号发生器的原理图方波信号发生器的仿真波形图如下图所示:图5.2.2方波信号发生器的仿真波形图Clk由0到1交替变更,clr一直处于高电平状态,q端则由0000000011111111并依次交替下去5.3

三角波信号发生器的原理图如下图所示:图角波信号发生器的原理图三角波信号发生器的仿真波形图如下图所示:图5.3.2三角波信号发生器的仿真波形图Clk、clr均同时由0到1交替变更Q端则由到00000001并依次加00000001进行下去5.4

阶梯波信号发生器的原理图如下图所示:图梯波信号发生器的原理图阶梯波信号发生器的仿真波形图如下图所示:图5.4.2阶梯波信号发生器的仿真波形图Clk由0到1交替变更clr一直处于高电平状态Q端从00000000开始则高四位依次由0001每次加0010进行下去四位依次由1110每次减进行下去。5.5

选数据选择器的原理图及其仿真波形图数据选择器的原理图如下图所示:图5.5.14选1数据选择器的理图41据选择器的仿真波形图如下图所示:5.6

图4选1数据选器的仿真图sel由00每次加01交替变更,依次选择的输出值。整体信号发生器的原理图如下图所示:图5.6.1信发生器原理图整体信号发生器的仿真波形图如下图所示:图5.6.2多功能信号发生器的仿真图clk由0到1交替变更clr一直处于高电平状态Q端则由56每次加8依次进行下去。6、使用说明从QuartusII软件环境中编写各个相关信号模块的VHDLfangboqi:jietiboqi:selector4_1:

正弦波信号发生器模块;方波信号发生器模块;三角波信号发生器模块;阶梯波信号发生器模块;四选一数据选择器输出模块;多功能信号发生器输出波形可以由中位的组合形式选择而控制信号发生器波形的输出,通过sel的不同值可以选取正弦波信号发生器模块、方波信号发生器模块、正弦波信号发生器模块及三角波信号发生器模块、6.2在QuartusII软件环境原理图输入方式中放置各个元件符号,放置输入和输出接口、组合各个信号模块、连线、编译、建立波形仿真图、仿真

所有的操作都是在II软环境中进行,输入信号从各个信号发生器模块输入端输入过数据选择器输出所选择的的信号来切换输出相应波形的输出,在通过数模转换器(将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论