Quartus_II设计正弦信号发生器{修}
- 格式:pdf
- 大小:899.42 KB
- 文档页数:10
实验四正弦信号发生器的设计1. 实验的目的和要求熟悉QuartusII 及其LPM_ROM 与FPGA 硬件资源的使用方法。
2.实践内容或原理正弦信号发生器的结构由3部分组成,数据计数器或地址发生器、数据ROM 和D/A 。
性能良好的正弦信号发生器的设计,要求此3部分具有高速性能,且数据ROM 在高速条件下,占用最少的逻辑资源,设计流程最便捷,波形数据获最方便。
图1所示是此信号发生器结构图,顶层文件SINGT.VHD 在FPGA 中实现,包含2个部分:ROM 的地址信号发生器由5位计数器担任,和正弦数据ROM ,其原理图如图2所示。
据此,ROM 由LPM_ROM 模块构成能达到最优设计,LPM_ROM 底层是FPGA 中的EAB 或ESB 等。
地址发生器的时钟CLK 的输入频率f 0与每周期的波形数据点数(在此选择64点)以及D/A 输出的频率f 的关系是:640f f图1 正弦信号发生器结构图图2 正弦信号发生器原理图图3 正弦波的64个点的输入在Quartus II上完成正弦信号发生器设计,包括仿真和资源利用情况了解(假设利用Cyclone器件)。
最后在实验系统上实测,包括SignalTap II测试、FPGA中ROM的在系统数据读写测试和利用示波器测试。
最后完成EPCS1配置器件的编程。
3. 实验仪器(1)GW48系列SOPC/EDA实验开发系统(2)配套计算机及Quartus II 软件4.实践步骤或环节(1) 建立工程文件夹。
(2) 生成6位二进制计数器原理图。
(3)定制LPM_ROM元件。
(4)仿真。
(5)选择实验电路模式5,进行引脚下载配置。
(6)嵌入式逻辑分析仪的设置。
5. VHDL仿真实验(1)6位二进制计数器的仿真程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT6b ISPORT (CLK,RST,EN: IN STD_LOGIC;CQ: OUT STD_LOGIC_VECTOR (5 DOWNTO 0);COUT:OUT STD_LOGIC);END CNT6b;ARCHITECTURE behav OF CNT6b ISBEGINPROCESS(CLK,RST,EN)VARIABLE CQI:STD_LOGIC_VECTOR(5 DOWNTO 0); BEGINIF RST='1'THEN CQI:=(OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF EN='1' THENCQI:=CQI+1;END IF;END IF;IF CQI=63 THEN COUT<='1';ELSE COUT<='0';END IF;CQ<=CQI;END PROCESS;END behav;(2)RTL电路(3)时序仿真波形:(4)硬件验证选择试验箱的模式为模式5,时钟CLK选择为CLOCK0(PIN_28脚),频率f=65536Hz,EN对应的引脚编号PIN-233,RST对应的引脚编号PIN-234,COUT对应的引脚编号PIN-1,Q[7..0]对应的引脚编号PIN-20,19,18,17,16,15,14,13.(5)逻辑分析仪的测试波形6.实践教学报告要求(1)详细分析各模块的逻辑功能,及其他们工作原理,详细记录并分析实验内容和实验内容的过程和结果,完成实验报告。
课程设计题目基于FPGA和Quartus II设计的智能函数发生器所在院(系)物理与电信工程学院基于FPGA和Quartus II设计的智能函数发生器[摘要] 信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
它能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波等,在电路实验和设备检测中具有十分广泛的用途。
例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。
在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的信号发生器。
本设计采用FPGA来设计制作多功能信号发生器。
该信号发生器可以产生锯齿波、三角波、方波等波形。
[关键词]信号发生器;VHDL;FPGA;三角波;方波;锯齿波。
目录1.引言 (1)2.FPGA简介 (1)2.1VHDL和V ERILOG简介 (3)2.2设计工具简介 (3)3.系统设计 (3)3.1VHDL程序语言基本设计 (3)3.2波形发生器设计 (5)3.3程序设计原理框图 (5)4 系统的软件设计与仿真 (6)4.1系统仿真时序图 (6)4.2RTL仿真硬件图 (7)5总结体会与展望 (8)参考文献 (9)附录A 设计原理图 (11)附录B 系统仿真图 (11)附录C 源程序清单 (12)1.引言20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法。
电子设计自动化(EDA)工具给电子设计带来了巨大的变革,特别是可编程逻辑器件和硬件描述语言的出现和发展,解决了用传统的方法设计较大系统工程时的诸多不便,成为电子电路设计人员最得力的助手。
随着计算机和EDA技术的发展,基于FPGA的电子设计则是目前发展较为迅速的一个领域,而且广泛应用于计算机、通信等各个领域。
简易正弦信号发生器设计
一、实验目的
1.进一步熟悉QuartusII及LPM-RAM宏模块与FPGA硬件资源的使用方法。
二、实验设备
计算机、和软件QuartusII和EDA/SOPC试验箱
三、试验内容
简易正弦信号发生器设计,要求ROM是8位数据线,8位地址线。
四、试验原理
打开QuartusII软件,在连接试验电路之前调入LPM-RAM-DQ宏模块,PLM-COUNER模块和74244芯片,再连接电路图,试验原理设计图如下:
图1-1键入64个正弦信号数据
图1-2简易正弦信号发生器顶层电路设计
五、实验结果
试验结果如下图:
图1-3综合后的RLT图
图1-4仿真波形图3.引脚锁定方案图
图1-5引脚锁定方案图
图1-6编程下载模式图
六、试验小节
一学期匆匆而过,通过大半学期的学习,我们学到了很多处理问题的技巧。
不过我们还要熟记很多单词,大多数的单词我们还不认识,相信通过进一步的学习,我们一定能学好这个软件。
我们也将以浓厚的兴趣和积极的态度去学习。
相信我们一定会有更加长足的进步。
基于Quartus2组件DSP_builder 设计DDS 信号发生器说明:Quartus2中DSP_builder 组件建立了Quartus2与Matlab 的无缝链接,这样极大的有利于FPGA 在信号处理中的应用,本次课题旨在通过建立一个信号发生器来说明DSP_builder 的强大之处。
传统的DDS 信号发生器的设计相对比较复杂<包括相位累加器,地址查找表,D/A ),通过传统的编程思想,会比较复杂,DSP_builder 则是通过simulink 中的Altera 库,直接构建DDS 模型,再通过signal complier 生成VHDL 语言以及仿真所用的测试脚本<testbench 文件),非常方便,并通过simulink 和FPGA 的仿真工具Modelsim_Atera 一起做了对比,两者吻合,达到了预期效果。
b5E2RGbCAP 1.在Simulink 中构建DDS 模型2.Simulink 下的仿真如图所示:Signal Compiler3.RTL级仿真<modelsim 仿真):4.RTL 级视图-200-150-100-5050100150200050100150200250300350400450500-2-1.5-1-0.50.511.52附:.vhl代码-- sinwafe_GN.vhdlibrary IEEE。
use IEEE.std_logic_1164.all。
use IEEE.numeric_std.all。
entity sinwafe_GN isport (Output : out std_logic_vector(7 downto 0>。
-- Output.wirep1EanqFDPwInput : in std_logic_vector(0 downto 0> := (others => '0'>。
实验五正弦信号发生器设计一、实验目的1.熟悉利用QuartusII及其LPM_ROM与FPGA硬件资源的使用方法;2.掌握LPM模块的重要功能;3.熟悉MegaWizard Plug-In Manager的使用方法。
二、实验设备计算机,QuartusII 6.0 版软件,JTAG下载线,EDA实验挂箱(EP1C6Q240C8)。
三、实验原理设计一8位宽、1024点的正弦信号发生器。
正弦信号发生器的结构由四个部分组成:1.计数器或地址发生器(10位地址线);2.正弦信号数据ROM(存放正弦波的采样数据,采样频率20MHz:8位数据线、10位地址线);3.VHDL顶层设计;4.D/A转换器(8位)。
四、实验步骤和内容1.在QuartusII上利用MegaWizard Plug-In Manager功能,调用LPM_ROM函数定制8位宽、1024点ROM,并进行初始化。
然后对设计实体进行编辑、编译、综合、适配、仿真。
2. 利用QuartusII文本编辑器设计10位二进制计数器,做为地址发生器,对设计实体进行编辑、编译、综合、适配、仿真。
3. 利用层次化设计方法设计一8位宽、1024点的正弦信号发生器。
4. D/A转换器采用试验箱配备的DAC0832。
5. 引脚锁定和硬件下载测试。
引脚锁定后进行编译、下载和硬件测试实验。
将实验过程和实验结果写进实验报告。
6. 使用SignalTap II对设计的正弦信号发生器进行实测。
采样时钟使用系统时钟20MHz。
7. 使用在系统存储器数据读写编辑器对设计的正弦信号发生器进行实测,观测结果;8.实验报告。
将实验原理、设计过程、编译仿真波形和分析结果、硬件测试实验结果写进实验报告。
五、思考题如何实现对输出正弦信号的频率和相位可调?。
河北大学 电子与信息工程学院 2010 张庆顺1 / 53SOPC 设计技术课程实验一、正弦信号发生器河北大学 电子信息工程学院教师:张庆顺本实验指导书演示了一个简单的正弦信号发生器在QUARTU S Ⅱ上的实现。
通过这个文档,旨在演示利用QUARTUS Ⅱ开发数字电路的基本流程和QUARTUS Ⅱ软件的相关操作,并借此介绍QUARUTS Ⅱ的软件界面。
我们还针对DE Ⅱ-70的实验板,实现了本文档所示硬件模块的相关配置工作以及下载和实现。
实验条件:Quartus II 9.1目录二、实验步骤: (6)1、工程创建 (6)2、sin信号发生器顶层模块的设计 (13)3、定制ROM存储sin波形数据 (17)3.1 建立.mif文件 (17)3.2 ROM数据的生成 (19)3.3 定制ROM元件 (19)3.3.1 调用Mega Wizard Plug-In Manager (20)3.3.2 设置LPM_ROM模块 (21)4、编译、综合等 (27)5、仿真 (28)5.1 编辑波形文件 (28)5.2进行仿真 (36)6、内部电路观察 (38)7、生成symbol (40)8、管脚分配 (46)9、下载 (49)10.作业 (53)一、设计原理:下图所示为正弦信号发生器的结构,共有4个部分组成:顶层文件singt.v 在FPGA 中实现两个部分:1、6位计数器产生地址信号;2、存储正弦信号(6bits 地址线,8bits 数据线)的ROM ,由LPM_ROM 模块实现,LPM_ROM 模块底层由FPGA 的EAB 、ESB 或M4K 来实现。
地址发生器的时钟频率CLK 假设为f0,这里我们设定的地址发生器为6bit ,则周期为26=64,所以一个正弦周期内可以采样64个点,DAC 后的输出频率f 为:64/0f f =我们可以如下生成sin 数据以用于查找表,双、单极性Sin(x)数据波形可如下:x = round((sin(linspace(0,2*pi,64))+1)*127.5);所要得到的单极性信号波形。
《SOPC技术》课程实验报告一、实验名称实验1:基于LPM的正弦信号发生器的设计二、任务及要求【任务】在QuartusII平台上,采用查找表的设计方法,利用LPM兆功能模块,完成64点(8位)的正弦信号发生器的设计。
正弦信号发生器结构框图如下:【要求】1.数据存储ROM和地址信号发生器均由LPM模块实现。
2.在Quartus II软件上进行时序仿真。
3.利用Signal Tap II嵌入式逻辑分析仪进行在线测试与分析。
(此步需使用实验箱,并且要确保实验箱与电脑处于在线可下载状态)【思考】1.编写DAC0832数模转换程序,利用示波器观察输出信号波形。
2.如何在此基础上设计方波、三角波等信号发生器?如何实现波形幅度等参数可调?三、实验程序(原理图)四、仿真及结果分析如图所示,在外部时钟clk的驱动下,把采样值依次取出来送到输入端,周而复始的循环执行,输出的数据经过8位的D/A转换成模拟信号,就得到了正弦波。
改变时钟频率就可以改变正弦波的频率。
五、硬件验证1、选择模式:2、引脚锁定情况表:六、小结本次实验是我们第一次接触FPGA,做完还有许多不清楚的地方《SOPC技术》课程实验报告学生姓名:所在班级:指导教师:记分及评价:一、实验名称实验2:基于DSP Builder正弦信号发生器的设计二、任务及要求【任务】采用DSP Builder系统建模的方法,设计正弦信号发生器,要求采用查找表的方法,完成正弦信号发生器模块的建模、仿真。
Signal Compiler【要求】:1.完成模型构建及仿真,得到如下波形图。
2. 将模型转换成VHDL 硬件描述语言,利用Modelsim 软件进行RTL 仿真。
3. 再在Quartus II 软件上进行编译、时序仿真与时序分析。
4. 利用Signal Tap II 嵌入式逻辑分析仪进行在线测试与分析。
(此步需使用实验箱,并且要确保实验箱与电脑处于在线可下载状态)三、实验程序(原理图)Signal Compiler四、仿真及结果分析Frequency (kHz)M a g n u d e (d B )P h a s e (r a d a n s)Time (useconds)A m p u d e五、小结《SOPC技术》课程实验报告学生姓名:所在班级:指导教师:记分及评价:一、实验名称实验3:基于DSP Builder的FIR数字低通滤波器的设计二、任务及要求【任务】:调用DSP Builder模块,设计FIR低通数字滤波器,完成建模与仿真。
《EDA》课程设计报告——正弦波信号发生器的设计一、设计目的通过本次课程设计,进一步了解QUARTUS Ⅱ与LPM_ROM与FPGA硬件功能的使用方法。
培养自己查阅资料及解决问题的能力。
二、设计要求1、通过按键,可以控制输出的是正弦波或三角波。
2、通过ADC0832输出正弦波与三角波,电压V范围在0至-10V之间3、通过示波器观察波形。
三、设计内容:在QUARTUSII上完成信号发生器的设计。
最后在实验板上实测,包括FPGA中ROM的在系统数据读写测试和利用示波器测试。
信号输出的D/A使用实验板上的ADC0832。
四、设计原理:图1所示的波信号发生器的结构由五部分组成:1、计数器或地址发生器(这里选择8位)。
正弦信号数据ROM(8位地址线,8位数据线),含有256个8位数据(一个周期)。
2、VHDL顶层设计。
3、8位D/A图1所示的信号发生器结构图中,顶层文件adc.vhd在FPGA中实现,包含两个部分:ROM的地址信号发生器,由8位计数器担任;一个正弦数据ROM(或者一个三角波数据ROM),由LPM_ROM模块构成。
地址发生器的时钟clk的输入频率fo与每周期的波形数据点数(在此选择256点),以及D/A输出的频率f的关系是:f=fo/256图1 正弦信号发生器结构框图图一 信号发生器结构图FPGA DAC08328clk 运放Vo按键图2 信号发生器的设计图五、 设计步骤:1、 建立.mif 格式文件 mif 文件可用C 语言程序生成, 产生正弦波数值的C 程序如下: #include<stdio.h> #include<math.h>VHDL 顶层 设计adc.vhd 8位计数器 (地址发正弦波数据存储ROM18位D/A三角波数据存储ROM2按键3 20分频main(){int i;float s;for(i=0;i<256;i++){s=sin(atan(1)*8*i/256);printf("%d :%d;\n",i,(int)((s+1)*255/2)) }}以zx.c保存。
实验九正弦信号发生器的设计一、实验前准备1、该实验不使用七个模块组中的各个功能单元,所以三个拨码开关处于“111”时,即MODEL_SEL1-3 拨下处于“ON”状态。
使用实验仪上的固定连接。
2、拨码开关MODEL_SEL5-8 全置于“ON ”状态,即MODEL_SEL5-8 拨下处于“ON ”状态时通过USB BLASTER 接口下载。
当全部拨下处于“ OFF”时可使用开发平台上LAB_JTAG_PS_AS 接口下载或者核心开发板上JTAG 接口下载。
二、实验目的1、熟悉QuartusII 软件的相关操作,掌握数字电路设计的基本流程;2、掌握如何用QuartusII 软件中的MegaWizard 命令定制IP 模块;3、了解嵌入式逻辑分析仪的使用。
三、实验内容1、建立一个存储正弦信号数据的mif 文件2、用QuartusII 软件中的MegaWizard 命令定制一个ROM 模块,存储正弦信号数据注意:此端口为clock,应注意SING调用data_rom的端口号3、用VHDL 语言设计一个6 位计数器产生地址信号,并调用ROM 子模块。
4、如果要将程序下载到硬件上,则需要加一个分频器使结果在数码上显示能够用眼睛观察。
5、通过时钟边沿的驱动来加载存放在ROM 中的数据,送到输出端口,实现正弦信号数据的输出,可以通过2 个共阳的数码管显示。
6、通过嵌入式逻辑分析仪窗口察看ROM 数据中读到的数据。
7、引脚锁定注意:引脚锁定的显示结果低位与高位,选择正确的引脚。
四、设计原理框图此图为带分频器的原理图此图为不带分频器的原理图五、编译结果:六、实验分析由于引脚是自己设定的,所以高位与低位位置颠倒了,下次应当注意。
而且第一次用逻辑分析仪进行仿真,还不是很熟练,经过老师帮助,我对逻辑分析仪的使用有了简单的了解。
实验练习正弦信号发生器练习一正弦信号发生器设计利用分频器将clk设为16hz本实验预备了两个文件:sin.v和sinwave.mif。
sin.vhd是顶层设计文件;sinwave.mif是rom的初始化文件。
这两个文件在下面设计将用到。
实验之前建立一个sinwave文件夹将以上两个文件拷入其中。
下面将详细介绍设计流程:1 工程创建进入QuartusII开发软件,选择File-〉New Project Wizad。
弹出工程向导对话框,点击Next。
在对应位置填入工程名和顶层实体名,再点击Next。
点击Next。
实验所使用的是Cyclone系列的“EP2C35Q672C6”,点击Finish。
工程新建完成,此时只是配置了与工程相关的一些基本设置,在开发过程中如需要,仍然可以通过菜单Assignments ->Settings来修改。
2 sin信号发生器顶层模块的设计新建文件,打开File->New,选择Device Design Files子类中的V erilog,点击OK,创建一个verilog文件。
在编辑区verilog语言输入,或者用文本方式打开sin.v文件将其中的内容拷贝到编辑区,并以sinwave.v文件名保存。
也可以用下面方法:本实验事先已经准备了sin.v文件,可以将其文件名改为sinwave.v,添加到工程中。
3.定制ROM存储sin波形数据1) 建立.mif文件.mif是FPGA片内rom的初始化文件。
点击菜单File->New->Memory Files项,选择Memory Initialization File点击确定mif文件中字宽和字的数目,如下图设置,点击OK。
打开mif文件。
填入正弦波的数据,以文件名sinwave.mif保存。
本实验事先已准备了sinwave.mif文件,也可以通过右击Project Navigator 中Files,打开File对话框,直接将已经存在的mif文件添加到工程中。
正弦信号发生器的设计正弦信号是电子工程中非常常见的一种波形信号。
在很多应用场合中,为了满足一些特殊的输出要求,设计一个合适的正弦信号发生器是非常必要的。
本文将介绍如何设计一个简单的正弦信号发生器。
一、介绍正弦信号正弦信号是一种基本的周期信号,在数学和工程领域都有广泛的应用。
正弦信号的数学表达式为:y(t) = A*sin(ωt+φ),其中A为振幅,ω为角频率,φ为相位差。
正弦信号具有周期性和连续性,可以描述很多物理和电子现象,如机械振动、电磁波等。
在电子工程领域中,正弦信号可以用于通讯系统、音频系统、数码系统等各个方面。
如果需要设计一个正弦波信号发生器,一些基本要素必须要考虑。
这些要素包括输出幅度、输出频率、工作电源和电路稳定性。
以下是正弦信号发生器的设计方案:1.输出幅度要设计一个正弦信号发生器,首先要确定所需要的输出幅度范围。
对于数字信号处理器(DSP)的输出,其输出幅度通常在±1.0之间。
如果需要更大的输出幅度,可以通过放大引脚信号或者使用外部放大器实现。
2.输出频率输出频率可以由外部时钟或者基准晶振决定。
如果想要实现可调节的输出频率,可以在电路中使用像50-100MHz这样的精准低噪声晶振。
可以根据应用需求选择不同的晶振和滤波器电路。
3.工作电源正弦波信号发生器的工作电源应该保证稳定性和可靠性。
在低频和中频应用中,标准稳压器可以提供足够的电源稳定性;在高频应用中,需要使用低噪声电源或者瞬态响应较好的电源来保证信号质量。
4.电路稳定性正弦波信号发生器的电路必须要保证稳定性。
这可以通过使用负反馈电路、保持简单电路结构和使用稳定的输出功率等方法来实现。
此外,振荡器的端部是一个有驱动能力的阻抗,因此需要使用与振荡器相匹配的驱动设计。
下面是一个简单的正弦波信号发生器电路图:在图中,U1是一个晶体管振荡器,C4和L2是功率扩大电路,R1和R2是反馈电路,C1和C2是用于稳定电路的滤波电容,C3则被用来过滤高频噪声。
实验五正弦波的设计一.实验目的1、熟悉ROM的设计方法2、熟悉D/A转换二.实验内容1、设计正弦波发生器三.实验步骤1、在E盘建立个人文件夹,如E:\EDA\DX05\SIN_WA VE。
2、在QuartusII下用文本方式设计64进制计数器模块,即CNT64,注意按照先建立工程后建立文件的做法进行,且要求将工程置于上述文件夹下面,如下图:仿真结果如下图所示,其中clr是异步清零端,低电平清零,注意仿真时间>=20us。
最后一步一定不能忘记,即创建CNT64在元件库中的符号,即选择"File->Create/Update->Create Symbol Files for current File"3.在QuartusII下用文本方式设计正弦波数据储存模块,即SIN_ROM,注意按照先建立工程后建立文件的做法进行,且要求将工程置于最开始建立的文件夹下面,如下图:在接下来的对话框中选择“否”,以后步骤略。
波形数据ROM中存有波形发生器的波形数据。
64个点构成正弦波波型数据ROM 用VHDL实现如下,其中Q是输入端口,D是输出端口,都是整数类型。
下面程序需要补充完整。
------- start ---------------CASE Q IS --选择地址以生成相应数据WHEN 00=> D<=255; WHEN 01=> D<=254;WHEN 02=> D<=252; WHEN 03=> D<=249;WHEN 04=> D<=245; WHEN 05=> D<=239;WHEN 06=> D<=233; WHEN 07=> D<=225;WHEN 08=> D<=217; WHEN 09=> D<=207;WHEN 10=> D<=197; WHEN 11=> D<=186;WHEN 12=> D<=174; WHEN 13=> D<=162;WHEN 14=> D<=150; WHEN 15=> D<=137;WHEN 16=> D<=124; WHEN 17=> D<=112;WHEN 18=> D<= 99; WHEN 19=> D<= 87;WHEN 20=> D<= 75; WHEN 21=> D<= 64;WHEN 22=> D<= 53; WHEN 23=> D<= 43;WHEN 24=> D<= 34; WHEN 25=> D<= 26;WHEN 26=> D<= 19; WHEN 27=> D<= 13;WHEN 28=> D<= 8; WHEN 29=> D<= 4;WHEN 30=> D<= 1; WHEN 31=> D<= 0;WHEN 32=> D<= 0; WHEN 33=> D<= 1;WHEN 34=> D<= 4; WHEN 35=> D<= 8;WHEN 36=> D<= 13; WHEN 37=> D<= 19;WHEN 38=> D<= 26; WHEN 39=> D<= 34;WHEN 40=> D<= 43; WHEN 41=> D<= 53;WHEN 42=> D<= 64; WHEN 43=> D<= 75;WHEN 44=> D<= 87; WHEN 45=> D<= 99;WHEN 46=> D<=112; WHEN 47=> D<=124;WHEN 48=> D<=137; WHEN 49=> D<=150;WHEN 50=> D<=162; WHEN 51=> D<=174;WHEN 52=> D<=186; WHEN 53=> D<=197;WHEN 54=> D<=207; WHEN 55=> D<=217; WHEN 56=> D<=225; WHEN 57=> D<=233; WHEN 58=> D<=239; WHEN 59=> D<=245; WHEN 60=> D<=249; WHEN 61=> D<=252; WHEN 62=> D<=254; WHEN 63=> D<=255;WHEN OTHERS => NULL ; --结束选择 END CASE;------- end ----------------最后一步一定同样不能忘记,即创建SIN_ROM 在元件库中的符号,即选择"File->Create/Update->Create Symbol Files for current File"4、在QuartusII 下用原理图方式设计最终的正弦信号发生器(顶层设计),取名为“SIN_WA VE ”。
&逃之^_~夭夭可控正弦信号发生器执行双击MA TLAB图标,在命令窗口输入simulink,在弹出的窗口中执行File->New->Model,建立名为SinOut.mdl文件,在按给出的原理图放置元器件并连接线路,最后结果如下图所示:参数设置如下1、IncCount模块:Altera DSP Builder库Arithmetic库改为2、SinLUT模块:Altera DSP Builder库Gate&Control库改为3、Delay模块:Altera DSP Builder库Storagel库改为5、Product模块:Altera DSP Builder库Arithmetic库将改为5、SinOut模块:Altera DSP Builder库I/O&Bus库、改为6、AltBus模块:Altera DSP Builder库I/O&Bus库改为7、Step模块:Simulink库Source库改为Scope中将端口设为两个双击进行分析,分析完成后,打开Quartus II软件,打开分析转换后的Quartus文件,进行编译和仿真,根据出现的提示信息将iSinOuti改为SinOut并将该文件另存为SinOut.vwf,执行Assignments—Device单击simulator setting,在simulation input中选择SinOut.vwf,单击OK即可,再编译仿真Assignment –assignment editor,引脚锁定Tools—programmer 下载执行File->New->SignaiTap II,在中间区域的左边点击鼠标右键添加节点SinOut,在右侧的区域进行如下设置采用模式5,单击采样,使用嵌入式逻辑分析仪看到的结果如下图所示。
基于QUARTUSII的FPGA波形发生器正弦波、不同占空比矩形波信号发生器设计一、设计目的1、掌握正弦波、不同占空比矩形波信号发生的设计方法。
2、掌握QUARTUSII 软件VHDL语言输入设计的全过程。
3、掌握数据存储及传递的过程。
二、设计要求本实验要求基于EDA/SOPC实验平台上的FPGA及DAC,产生一定频率的正弦波、不同占空比矩形波信号,能通过键盘控制输出信号,并测量输出信号的频率和输出电压,计算输出频率与原设计频率的误差。
三、方案设计信号发生器组成方框图为:图1 组成方框图设计的方案:1、制作正弦波.mif文件A、采用excel下拉自动累加、逻辑运算功能生成512位的正弦波数据。
将得到的excel文件另存为“Unicode文本(*.txt)”文件。
B、打开quartus2,新建一个TXT文件(file-new-other file-txt 文件),将MIF文件的格式说明拷贝过来,再得到的TXT文本文件中的数据全部复制到begin与end中间,另存为“.mif”。
下面是mif文件的格式:WIDTH=8;DEPTH=512;ADDRESS_RADIX=UNS;DA TA_RADIX=UNS;CONTENT BEGIN...End;2、将电路分为4大模块,第一个模块是分频电路;第二、三个模块是正弦波和方波产生电路;第四个模块是选择输出模块。
3、输出波形理论值:A、每个时钟信号上升沿,分频电路自动累加一。
当分频输入为“11111”时吗,输出频率最大,为外部时钟频率的1/2。
图2 分频电路仿真图B、储存一个周期的信号的储存器是512位,每来一个时钟信号从一个储存单位取一个数据。
所以输出的最大的频率为fin(输入频率)/512*2;同理可知输出的最小频率为fin(输入频率)/512*32*2。
本实验时钟信号输入采用1.5mhz时钟信号,理论频率值为:表1 输出频率理论值四、设计原理和电路图(1)分频电路该电路的根本任务是对输入的时钟信号进行分频。