Quartus_II设计正弦信号发生器{修}
第二章 QuartusII基本使用方法
为了便于迅速了解SignalTapⅡ的使用方法,本节 以上面设计的信号发生器为例介绍SignalTapⅡ的使 用方法,而后进一步叙述SignalTapⅡ的其他使用方 法。
2.4.1
应用SignalTapII测试singt
2.5
嵌入式锁相环a1tPLL宏功能模块调用
PPCA片内嵌入式锁相环PLL可以与一输入的时钟信号 同步,并以其作为参考信号实现锁相,从而输出一至 多个同步倍频或分频的片内时钟,以供逻辑系统应用。 与直接来自外部的时钟相比,这种片内时钟可以减少 时钟延时和时钟变形,减少片外干扰;还可以改善时 钟的建立时间和保持时间。cyclone系列和Stratix系 列器件中的锁相环能对输入的参考时钟相对于某一输 出时钟同步独立乘以或除以一个因子,并提供任意相 移和输出信号占空比。 2.5.1 2.5.2 建立嵌入式锁相环PLL元件 测试锁相环PLL
2.4
使用嵌入式逻辑分析仪进行实时测试
随着逻辑设计复杂性的不断增加,在计算机上以 软件方式的仿真测试变得更加耗费时间,而不断需 要重复进行的硬件系统的测试同样变得更为困难。 为了解决这些问题,设计者可以将一种高效的硬件 测试手段和传统的系统测试方法相结合来完成。这 就是嵌入式逻辑分析仪的使用。它可以随设计文件 一并下载于目标芯片中,用以捕捉目标芯片内部, 设计者感兴趣的信号节点处的信息,而又不影响原 硬 件 系 统 的 正 常 工 作 。 这 就 是 QuartusⅡ 中 SignalTapⅡ的使用目的。
QuartusⅡ包括模块化的编译器。编译器包括的功 能模块有分析/综合器(Analysis&Synthesis)、适配 器(Fitter)、装配器(Assembler)、时序分析器 (Timing Analyzer)、设计辅助模块(Design Assistant)、EDA网表文件生成器(EDA Netlist Writer)、编辑数据接口(Compiler Database Interface)等。可以通过选择Start Compilation来 运行所有的编译器模块,也可以通过选择Start单独 运行各个模块。还可以通过选择Compiler Tool(Tools菜单),在Compiler Tool窗口中运行该模 块来启动编译器模块。在Compiler Tool窗口中,可 以打开该模块的设置文件或报告文件,或打开其他相 关窗口。
Quartus II软件及其使用
图3 编辑文件类型对话框
6
Quartus II软件及其使用
图5 文本编辑窗口
7
Quartus II软件及其使用
2. 编译设计文件
在编译设计文件前,应先选择下载的目标芯片,否则系统 将以默认的目标芯片为基础完成设计文件的编译。在Quartus II集成环境下,执行Assignments|Device命令,在如图6所示 弹出器件选择对话框的Family栏目中选择目标芯片系列名, 如Cyclone III,然后在Available devices栏目中用鼠标点黑选 择的目标芯片型号,如EP3C16Q240C8,选择结束单击OK 按键。 执行Pricessing|Start Compilation命令,或者按“开始 编译”按键,即可进行编译,编译过程中的相关信息将在 “消息窗口”中出现。
Editor按钮,弹出如图11所示的赋值编辑对话框,在对话框的Category栏 目选择Pin项。
图11 赋值编辑对话框
17
Quartus II软件及其使用 ②用鼠标双击Name栏目下的<<new>>,在其下拉菜单中列 出了设计电路的全部输入和输出端口名,例如全加器的a、b、 cin、cout和sum端口等。用鼠标选择其中的一个端口后,再 用鼠标双击Location栏目下的<<new>>,在其下拉菜单中列 出了目标芯片全部可使用的I/O端口,然后用鼠标选择其中的 一个I/O端口。例如,全加器的a、b、cin、cout和sum端口, 分别选择Pin_23 、Pin_22、 Pin_21、Pin_37和Pin_36。赋 Pin_23 Pin_22 Pin_21 Pin_37 Pin_36 值编辑操作结束后,存盘并关闭此窗口,完成引脚锁定。 ③ 锁定引脚后还需要对设计文件重新编译,产生设计电路的 下载文件(.sof)。
正弦信号发生器的设计
实验四正弦信号发生器的设计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和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组件DSPbuilder设计DDS信号发生器
基于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.实验报告。
将实验原理、设计过程、编译仿真波形和分析结果、硬件测试实验结果写进实验报告。
五、思考题如何实现对输出正弦信号的频率和相位可调?。
FPGA实验一、正弦信号发生器
河北大学 电子与信息工程学院 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);所要得到的单极性信号波形。
LPM的正弦信号发生器的设计报告 精品
《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课程报告_正弦波信号发生器的设计
《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、引脚锁定注意:引脚锁定的显示结果低位与高位,选择正确的引脚。
四、设计原理框图此图为带分频器的原理图此图为不带分频器的原理图五、编译结果:六、实验分析由于引脚是自己设定的,所以高位与低位位置颠倒了,下次应当注意。
而且第一次用逻辑分析仪进行仿真,还不是很熟练,经过老师帮助,我对逻辑分析仪的使用有了简单的了解。
正弦信号发生器设计实验指南-de2
实验练习正弦信号发生器练习一正弦信号发生器设计利用分频器将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则被用来过滤高频噪声。
实验五 正弦波的设计(QuartusII版)
实验五正弦波的设计一.实验目的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 ”。
可控正弦信号发生器的MATLAB和Quartus实现[技巧]
&逃之^_~夭夭可控正弦信号发生器执行双击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,单击采样,使用嵌入式逻辑分析仪看到的结果如下图所示。
Quartus II设计正弦信号发生器
3.1 顶层 VHDL 文件设计
3.1.1 创建工程和编辑设计文件
本节通过正弦信号发生器的设计对QuartusII的一些重要功能作一些说明。对本节的详细了解有利于对以后章节有关
DSP Builder的应用和设计有更好的理解。正弦信号发生器的结构由 3 部分组成(图 3-1):数据计数器或地址发生器、数
键“Next”后,弹出工程设置统计窗口,以上列出了此项工程的相关设置情况。
5、结束设置。最后按键“Finish”,即已设定好此工程(图 3-7),此工程管理窗主要显示工程项目的层次结构。
图 3-6 选择此系列的具体芯片
图 3-7 SINGT 的工程管理窗
图 3-8 选定目标器件
3.1.3 编译前设置
项,在此框的下方有相应的说明,在此可选Configuration方式为Active Serial,这种方式指对专用配置器件进行配置用的
编程方式,而PC机对此FPGA的直接配置方式都是JTAG方式。“Configuration device”项,选择配置器为EPCS1 或EPCS4
(根据实验系统上目标器件配置的EPCS芯片决定如图 3-9 所示)。
包括QuartusII对设计输入的多项处理操作,其中包括排错、数据网表文件提取、逻辑综合、适配、装配文件(仿真文件
与编程配置文件)生成,以及基于目标器件的工程时序分析等。如果工程中的文件有错误,在下方的Processing处理栏中
会显示出来。对于Processing栏显示出的语句格式错误,可双击此条文,即弹出vhdl文件,在闪动的光标处(或附近)可
3.2 正弦信号数据 ROM 定制
为了解决以上出现的问题,以下要完成波形数据ROM 的定制和ROM 中波形数据文件,即ROM 的初始化文件的设计。 3.2.1 设计ROM 初始化数据文件。以下介绍生成初始化数据文件的 4 种方法。初始化数据文件格式有 2 种:Memory Initialization File (.mif)格式文件,或 Hexadecimal (Intel-Format) File (.hex)格式。以下以 64 点正弦波形数据为例分别说明: 1、建立.mif 格式文件。首先选择 ROM 数据文件编辑窗,即在 File 菜单中选择“New”,并在 New 窗中选择“Other files”项,并选“Memory Initialization File”(图 3-11),点击 OK 后产生 ROM 数据文件大小选择窗。这里采用 64 点 8 位数据的情况,可选 ROM 的数据数 Number 为 64,数据宽 Word size 取 8 位。点击“OK”,将出现如图 3-12 的空的 mif 数据表格,表格中的数据为 10 进制表达方式,任一数据(如第三行的 99)对应的地址为左列于顶行数之和)。将波形数 据填入此表中,完成后在 File 菜单中点击“Save as”,保存此数据文件,在这里不妨取名为.romd.mif。 2、建立.hex格式文件。建立.hex格式文件的文件有两种方法,第一种方法与以上介绍的方法相同,只是在New窗中 选择“Other files”项,后,选择“Hexadecimal (Intel-Format) File”项,最后存盘.hex格式文件。第二种方法是普通单片 机编译器来产生。方法是利用汇编程序编辑器将此 64 个数据编辑于如图 3-13 所示的编辑窗中,然后用单片机ASM编译 器产生.hex格式文件。在此不妨取名为SIND1.asm,编译后得到SIND1.hex文件,现将sind1.hex或romd.mif文件都存到 e:\sin_gnt\asm\文件夹中,备用。注意,此类文件必须放在当前目录的高一层次目录中:\sin_gnt\asm\!
基于QUARTUSII的FPGA波形发生器
基于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)分频电路该电路的根本任务是对输入的时钟信号进行分频。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
发现文件中的错误。再次进行编译直至排除所有错误。我们会发现在Processing处理栏,编译后出现如下错误信息:
Error:Node instance u1 instabtiates undefined entity DATAROM
原因是在图3-3 所示的主程序中的“DATAROM”元件是空的,因为我们还没有设计此元件对应的文件:DATAROM.VHD。
图 3-9 选择配置器件和配置方式
图 3-10 输出文件.hexout 设置
3.1.4 编译及了解编译结果
QuartusII编译器是由一系列处理模块构成的,这些模块负责对设计项目的检错,逻辑综合和结构综合。即将设计项
目适配进FPGA/CPLD目标器中,同时产生多种用途的输出文件,如功能和时序仿真文件,器件编程的目标文件等。编译
工程名、目标器件、综合器、访真器等。步骤如下:
1、建立新工程管理窗。选择菜单“File”→“New Preject Wizard”,即弹出工程设置对话框(图 3-4)。点击此框最
上一栏右侧的按钮“…”,找到文件夹 e : \SIN_GNT ,选中已存盘的文件 singt.vhd(一般应该设定顶层设计文件为工
2、输入源程序。打开 QuartusII,选择菜单“File”→“New”,在 New 窗中的“Device Design Files”中选择编译文
件的语言类型,这里选“VHDL Files”(如图 3-2 所示)。然后在 VHDL 文本编译窗中键入如图 3-3 所示的 VHDL 程序。
图 3-1 正弦信号发生器结构图
项,在此框的下方有相应的说明,在此可选Configuration方式为Active Serial,这种方式指对专用配置器件进行配置用的
编程方式,而PC机对此FPGA的直接配置方式都是JTAG方式。“Configuration device”项,选择配置器为EPCS1 或EPCS4
(根据实验系统上目标器件配置的EPCS芯片决定如图 3-9 所示)。
第三章 Quartus II 设计正弦信号发生器
Quartus II 设计工具完全支持 VHDL、Verilog 的设计流程,其内部嵌有 VHDL、Verilog 逻辑综合器。QuartusII 与 MATLAB 和 DSP Builder 结合可以进行基于 FPGA 的 DSP 系统开发,是 DSP 硬件系统实现的关键 EDA 工具,与 SOPC Builder 结合,可实现 SOPC 系统开发。本章将以正弦信号发生器设计示例详细介绍 QuartusII 的使用方法。
注意,以下各软件对计算机的要求是:奔腾 4 或以上主机,大于等于 256M 内存。
3.1 顶层 VHDL 文件设计
3.1.1 创建工程和编辑设计文件
本节通过正弦信号发生器的设计对QuartusII的一些重要功能作一些说明。对本节的详细了解有利于对以后章节有关
DSP Builder的应用和设计有更好的理解。正弦信号发生器的结构由 3 部分组成(图 3-1):数据计数器或地址发生器、数
器首先从工程设计文件间的层次结构描述中提取信息,包括每个低层次文件中的错误信息,供设计者排除,然后将这些
层次构建产生一个结构化的以网表文件表达的电路原理图文件,并把各层次中所有的文件结合成一个数据包,以便更有
效地处理。下面首先选择Processing菜单的“Start Compilation”项,启动全程编译。注意这里所谓的编译(Compilation)
程),再点击“打开”,即出现如图 3-4 所示设置情况。其中第一行表示工程所在的工作库文件夹;第二行表示此项工程
的工程名,此工程名可以取任何其它的名,通常直接用顶层文件的实体名作为工程名,第三行是顶层文件的实体名。
2、将设计文件加入工程中。然后点击下方的“Next” 按钮,在弹出的对话框中点击“File”栏的按钮,将此工程相
据ROM和D/A。性能良好的正弦信号发生器的设计要求此 3 部分具有高速性能,且数据ROM在高速条件下,占用最少的
逻辑资源,设计流程最便捷,波形数据获最方便。图3-1 所示是此信号发生器结构图,顶层文件SINGT.VHD在FPGA中实现,
包含 2 个部分:ROM的地址信号发生器由 5 位计数器担任,和正弦数据ROM,据此,ROM由LPM_ROM模块构成能达到最优
图 3-11 进入 mif 文件编辑窗
图 3-12 将波形数据填入 mif 文件表中 3
图 3-13 A5 LPM_ROM 宏功能块设定
图 3-16 选择 DATAROM 模块数据线和地址线宽度
图 3-17 选择地址所存信号 inclock
图 3-2 选择编辑文件的语言类型
图 3-3 编辑输入设计文件(顶层设计文件 SINGT.VHD) 1
图 3-4 利用“New Preject Wizard”创建工程
图 3-5 将所有相关的文件都加入进此工程
3、文件存盘。选择“File”→“Save As”,找到已设立的文件夹 e : \SIN_GNT ,存盘文件名应该与实体名
在对工程进行编译处理前,必须作好必要的设置。具体步骤如下:
1、选择目标芯片。目标芯片的选择也可以这样来实现:选择“Assignmemts”菜单中的“settings”项,在弹出的对
话框中选“Compiler Settings” 项下的 Device,首先选目标芯片:EPIC6Q240C8(此芯片已在建立工程时选定了),也可
一致,即 singt.vhd。当出现问句“Do you want to create…”时,若选“否”,可按以下的方法进入创建工程
流程;若选“是”,则直接进入创建工程流程,创建工程流程如下:
3.1.2 创建工程
在此要利用“New Preject Wizard”创建此设计工程,即令 singt.vhd 为工程,并设定此工程一些相关的信息,如
选默认的“NONE”,表示都选 QuartusII 中自带的仿真器和综合器,因此,在此都选默认项“NONE”。
4、选择目标芯片。再次点击“Next”,选择目标芯片。首先在“Family”栏选芯片系列,在此选“Cyclone”系列,
并在此栏下选“Yes”,即选择一确定目标器件。再按键“Next”,选择此系列的具体芯片:EPIC6Q240C8(图 3-6),按
键“Next”后,弹出工程设置统计窗口,以上列出了此项工程的相关设置情况。
5、结束设置。最后按键“Finish”,即已设定好此工程(图 3-7),此工程管理窗主要显示工程项目的层次结构。
图 3-6 选择此系列的具体芯片
图 3-7 SINGT 的工程管理窗
图 3-8 选定目标器件
3.1.3 编译前设置
包括QuartusII对设计输入的多项处理操作,其中包括排错、数据网表文件提取、逻辑综合、适配、装配文件(仿真文件
与编程配置文件)生成,以及基于目标器件的工程时序分析等。如果工程中的文件有错误,在下方的Processing处理栏中
会显示出来。对于Processing栏显示出的语句格式错误,可双击此条文,即弹出vhdl文件,在闪动的光标处(或附近)可
3.2 正弦信号数据 ROM 定制
为了解决以上出现的问题,以下要完成波形数据ROM 的定制和ROM 中波形数据文件,即ROM 的初始化文件的设计。 3.2.1 设计ROM 初始化数据文件。以下介绍生成初始化数据文件的 4 种方法。初始化数据文件格式有 2 种:Memory Initialization File (.mif)格式文件,或 Hexadecimal (Intel-Format) File (.hex)格式。以下以 64 点正弦波形数据为例分别说明: 1、建立.mif 格式文件。首先选择 ROM 数据文件编辑窗,即在 File 菜单中选择“New”,并在 New 窗中选择“Other files”项,并选“Memory Initialization File”(图 3-11),点击 OK 后产生 ROM 数据文件大小选择窗。这里采用 64 点 8 位数据的情况,可选 ROM 的数据数 Number 为 64,数据宽 Word size 取 8 位。点击“OK”,将出现如图 3-12 的空的 mif 数据表格,表格中的数据为 10 进制表达方式,任一数据(如第三行的 99)对应的地址为左列于顶行数之和)。将波形数 据填入此表中,完成后在 File 菜单中点击“Save as”,保存此数据文件,在这里不妨取名为.romd.mif。 2、建立.hex格式文件。建立.hex格式文件的文件有两种方法,第一种方法与以上介绍的方法相同,只是在New窗中 选择“Other files”项,后,选择“Hexadecimal (Intel-Format) File”项,最后存盘.hex格式文件。第二种方法是普通单片 机编译器来产生。方法是利用汇编程序编辑器将此 64 个数据编辑于如图 3-13 所示的编辑窗中,然后用单片机ASM编译 器产生.hex格式文件。在此不妨取名为SIND1.asm,编译后得到SIND1.hex文件,现将sind1.hex或romd.mif文件都存到 e:\sin_gnt\asm\文件夹中,备用。注意,此类文件必须放在当前目录的高一层次目录中:\sin_gnt\asm\!
此工程相关的所有文件的文件夹,此文件夹将被EDA 软件默认为工作库(Work Library)。
在建立了文件夹后就可以将设计文件通过QuartusII 的文本编辑器编辑并存盘,详细步骤如下:
1、 新建一个文件夹。利用资源管理器,新建一个文件夹,如:e : \SIN_GNT 。注意,文件夹名不能用中文。
设计,LPM_ROM底层是FPGA中的EAB或ESB等。地址发生器的时钟CLK的输入频率f0与每周期的波形数据点数(在此选择
64 点),以及D/A输出的频率f的关系是:
f = f0 /64
首先建立工作库,以便设计工程项目的存储。任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与