EDA课程报告_正弦波信号发生器的设计
- 格式:doc
- 大小:141.50 KB
- 文档页数:18
课程设计报告2010 ~ 2011 学年第一学期设计题目:基于FPGA可调信号发生器学院:专业:课程名称: EDA原理与应用学生姓名:时间: 2011年1月指导教师:目录一、系统总体设计---------------------------------------------------------------------2二、系统功能模块设计---------------------------------------------------------------21、矩阵键盘模块------------------------------------------------------------32、频率显示模块-----------------------------------------------------------113、波形数据ROM初始化数据文件设计--------------------------------134、频率、幅度改变模块--------------------------------------------------145、DA转化模块-----------------------------------------------------------186、示波器检测-------------------------------------------------------------18三、结束语---------------------------------------------------------------------------191、矩阵键盘模块:矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。
在行线和列线的每一个交叉点上,设置一个按键,这样键盘中按键的个数是4×4个。
这种行列式键盘结构能够有效地提高系统中I/O口的利用率。
EDA实验报告书ELSIF CLK'EVENT AND CLK='1' THENIF(EN='1') THEN Q1<=Q1+1;END IF;END IF;END PROCESS;AR<=Q1;u1: ROM1 PORT MAP(address=>Q1,q => Q,inclock=>CLK);END;仿真波形图实验结果问题讨论1.总结宏功能模块的应用环境,可实现哪些设计?LPM 是参数可设置模块库Library of Parameterized Modules 的英语缩写,Altera 提供的可参数化宏功能模块和LPM 函数均基于Altera 器件的结构做了优化设计。
在许多实用情况中,必须使用宏功能模块才可以使用一些Altera 特定器件的硬件功能。
例如各类片上存储器、DSP 模块、LVDS 驱动器、嵌入式PLL 以及SERDES 和DDIO 电路模块等等。
这些可以以图形或硬件描述语言模块形式方便调用的宏功能块,使得基于EDA 技术的电子设计的效率和可靠性有了很大的提高LPM可实现基于LPM的流水线的累加器的设计,逻辑数据采样电路设计,简易正弦信号发生器的设计等。
2.设计一个方波生成器。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY SQUARE ISPORT(CLK,CLR:IN STD_LOGIC;Q:OUT INTEGER RANGE 0 TO 255);END ENTITY;。
目录摘要 (2)一、实验目的 (2)二、主要功能 (2)三、实验原理 (3)四、软件设计 (3)4.1、程序 (3)4.2、波形图 (4)五、引脚锁定后下载程序 (5)六、实验结果 (5)七、实训心得 (5)八、参考文献 (9)九、附录 (9)摘要信号发生器是一种能提供各种频率、波形和输出电平电信号的设备。
在测量各种电信系统或电信设备的振幅特性、频率特性、传输特性及其它电参数时,以及测量元器件的特性与参数时,用作测试的信号源或激励源。
信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
各种波形曲线均可以用三角函数方程式来表示。
能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器关键词:信号发生器;FPGA;Verilog HDL语言一、实验目的进一步巩固理论知识培养所学理论知识在实际中的应用能力:掌握EDA设计的一般方法;熟悉一种EDA软件,掌握一般EDA系统的调试方法:利用EDA软件设计一个电子技术综合问题,培养Verilog HDL编程;书写技术报告的能力,为以后进行工程实际问题的研究打下设计基础。
二、主要功能信号发生器,它用于产生被测电路所需特定参数的电测试信号。
在测试、研究或调整电子电路及设备时,为测定电路的一些电参量,如测量频率响应、噪声系数,为电压表定度等,都要求提供符合所定技术条件的电信号,以模拟在实际工作中使用的待测设备的激励信号。
当要求进行系统的稳态特性测量时,需使用振幅、频率已知的正弦信号源。
当测试系统的瞬态特性时,又需使用前沿时间、脉冲宽度和重复周期已知的矩形脉冲源。
并且要求信号源输出信号的参数,如频率、波形、输出电压或功率等,能在一定范围内进行精确调整,有很好的稳定性,有输出指示。
信号源可以根据输出波形的不同,划分为正弦波信号发生器、矩形脉冲信号发生器、函数信号发生器和随机信号发生器等四大类。
正弦信号是使用最广泛的测试信号。
2095.12. 正弦信号发生器程序设计与仿真实验1实验目的熟悉QuartusII 及其LPM_ROM 与FPGA 硬件资源的使用方法。
2实验原理正弦信号发生器的结构由3部分组成,数据计数器或地址发生器、数据ROM 和D/A 。
性能良好的正弦信号发生器的设计,要求此3部分具有高速性能,且数据ROM 在高速条件下,占用最少的逻辑资源,设计流程最便捷,波形数据获最方便。
图5.12.1所示是此信号发生器结构图,顶层文件SINGT.VHD 在FPGA 中实现,包含2个部分:ROM 的地址信号发生器由5位计数器担任,和正弦数据ROM ,其原理图如图5.12.2所示。
拒此,ROM 由LPM_ROM 模块构成能达到最优设计,LPM_ROM 底层是FPGA 中的EAB 或ESB 等。
地址发生器的时钟CLK 的输入频率f 0与每周期的波形数据点数(在此选择64点)以及D/A 输出的频率f 的关系是:640f f图5.12.1 正弦信号发生器结构图图5.12.2 正弦信号发生器原理图3 实验内容在Quartus II 上完成正弦信号发生器设计,包括仿真和资源利用情况了解(假设利用Cyclone 器件)。
最后在实验系统上实测,包括SignalTap II 测试、FPGA 中ROM 的在系统数据读写测试和利用示波器测试。
最后完成EPCS1配置器件的编程。
4 实验预习与思考如果CLK 的输入频率是50MHz ,ROM 中一个周期的正弦波数据是128个,要求输出的正弦波频率不低于150KHz,DAC0832是否能适应此项工作?为什么?5 原理图的建立与仿真(1) 为此工程建立文件夹,文件夹名为zxb(2) 建立原理图文件, 单击New→Device Dising→Block Diagram/Schematic file→OK,弹出原理图窗口如图5.12.3所示,图5.12.3 原理图建立窗口(3) 双击原理图窗口的任意处弹出如图5.12.4窗口,在窗口的Name处输入input(输入节点),点击ok,然后保存,文件名为cnt.210图5.12.4 原理图输入窗口(4) 创建工程与第2章2.1节的方法相同。
梧州学院课程论文(2014 -2015学年第2学期)课程论文题目:基于EDA技术的正弦波、方波、三角波、锯齿波、四种波形发生器学生姓名:目录一、系统设计目的与要求.........................................1.1、前言..................................................1.2、功能要求:............................................1.3、设计目的:............................................二、设计方案以及原理说明.......................................2.1、设计方案..............................................2.2、原理说明..............................................三、设计内容...................................................3.1、正弦波发生器..........................................3.2、方波发生器............................................3.3、三角波发生器..........................................3.4、锯齿波发生器.........................................3.5、波形的选择............................................四、心得体会...................................................五、参考文献...................................................论文题目: 基于EDA技术的正弦波、方波、三角波、锯齿波、四种波形发生器学生姓名:摘要随着EDA技术以及大规模集成电路技术的迅猛发展,波形发生器的各方面性能指标都达到了一个新的水平。
正弦信号发生器设计报告摘要本系统主要由正弦信号发生模块、STC89C52单片机控制模块、LCD1602液晶显示模块和电源组成。
用AD9850信号发生模块实现了波形的输出,产生稳幅正弦波。
本设计以STC89C52单片机为控制核心,基于AD9850制作了一个频率值能在一定范围内调节的多功能信号源。
该信号源在1KHZ~10MHZ 范围能输出稳定可调的正弦波,并通过LCDJ1602显示步进及其频率。
系统由5V 稳压电源所驱动,具有显示、按键控制功能和频率和步进设置功能。
在Ω50负载电阻下输出的电压峰-峰值p p V -≥1V 可调。
关键字:正弦信号发生器、STC89C52单片机、LCD1602、AD9850模块1.系统方案确定1.1.题目分析:本设计要求可以输出较宽频带且频率稳定度足够高的正弦信号,并且具有一定的负载能力,同时可输出指标满足正弦波信号。
综合题目指标要求及相关分析,得到该设计的功能框架图如图1所示。
本设计可分为以下几个部分:波形发生模块、单片机控制模块、液晶显示模块和按键控制模块(频率设置和步进调节)。
图1功能模块框图1.2.各模块方案比较1.2.1正弦信号发生模块方案1:由于DDS集成芯片能达到要求,而且节省硬件电路,程控调节能够方便实现,采用直接频率合成集成芯片AD9850。
AD9850是AD公司生产的DDS 芯片,带并行和串行加载方式,AD9850内含可编程DDS 系统和高速比较器,能实现全数字编程控制的频率合成。
作为1KHZ~10MHZ正弦信号发生。
方案2:采用反馈型LC振荡原理。
选择合适的电容、电感就能产生相应的正弦信号。
其中电容采用变容二极管,通过控制二极管的电压来改变电容,最终控制输出信号频率。
此方案器件比较简单,但是难以达到高精度的程控调节,而且稳定度不高。
方案3:采用FPGA器件。
将某一标准正弦信号经过高速采样后送到外部存储器中储存好,然后用一个计数器产生地址读出存储器中的数据后送到D/A转换器件中输出,可以通过改变计数器的参数,改变地址信号,实现,也可以通过处理数据改变信号的幅度。
EDA课程设计——函数信号发生器实验报告学院(系)专业、班级学生姓名学号小组其他队员:指导教师(1)实验要求(2)总体设计思路(3)程序仿真(4)实验结果(5)心得体会一.实验要求(1)利用VHDL语言设计一个多功能信号发生器,可以产生正弦波,三角波,锯齿波和方波的数字信号。
(2)焊接一个D/A转换器,对输出的数字信号转换成模拟信号并在示波器上产生波形。
(3)在电路板上可以对波形进行选择输出。
(4)在电路板上可以对波形的频率与幅度进行调节。
二.总体设计思路信号发生器主要由分频,波形数据的产生,四选一多路选择,调幅和D/A转换五个部分组成。
总体框架图如下:(1)分频分频器是数字电路中最常用的电路之一,在FPGA的设计中也是使用效率非常高的基本设计。
实现的分频电路一般有两种方法:一是使用FPGA芯片内部提供的锁相环电路,如ALTERA提供的PLL(Phase Locked Loop),Xilinx提供的DLL(Delay Locked Loop);二是使用硬件描述语言,如VHDL、Verilog HDL等。
本次我们使用VHDL进行分频器设计,将奇数分频,和偶数分频结合起来,可以实现50%占空比任意正整数的分频。
分频器原理图:在我们本次试验中的实现即为当按下按键时,频率自动减半。
如当输入为100MHZ,输出为50MHZ。
(2)信号的产生。
根据查找资料,我们最终确定了在QUARTUS中波形数据产生的方法,即利用地址信号发生器和LPM_ROM模块。
ROM 的地址信号发生器,有七位计数器担任。
LPM_ROM底层是FPGA 中的M4K等模块。
然后在VHDL顶层程序设计中将两部分调用从而实现信号的发生。
ROM中存放不同的初始化MIF文件(存放不同波形的数据)从而产生不同的波形。
信号产生模块:信号产生RTL图:此环节最重要的还有MIF文件的建立,经过查找资料,下载了MIFMAKER 2010软件,从而较为简单的产生了MIF文件。
课程设计任务书专业保密班级保密姓名保密设计起止日期2015.7.6—2015.7.10设计题目:正弦波发生器设计任务(主要技术参数):设计一个正弦波发生电路,主要技术参数:频率:1000Hz;幅度:≧2V。
选择电路,要求设计放大电路、反馈电路、选频网络和稳幅环节的结构,计算元件参数。
指导教师评语:成绩: . 签字:年月日1 课程设计的目的《电子技术基础课程设计》是学习理论课程之后的实践教学环节。
目的是通过解决比较简单的实际问题,巩固和加深在《电子技术基础》课程中所学的理论知识和实验技能。
训练学生综合运用学过的电子技术基础知识,在教师指导下完成查找资料,选择、论证方案,设计电路并仿真,分析结果,撰写报告等工作。
使学生初步掌握电子电路设计的一般方法步骤,通过理论联系实际提高和培养学生分析、解决实际问题的能力和创新能力,为后续课程的学习、毕业设计和毕业后的工作打下一定的基础。
2 设计方案论证2.1设计思路正弦波发生电路采用RC串并联式正弦波振荡电路,电路结构如图1所示,图中,为变阻器,其最大阻值为。
该电路由两部分组成,即放大电路和选频网络。
为由集成运放所组成的电压串联负反馈放大电路,取其输入阻抗高和输出阻抗低的特点。
而则由组成,她们对放大电路形成正反馈,并具有选频作用。
图1中、和、正好形成一个四臂电桥,电桥由放大电路的输出电压供电,另外两个对角顶点分别接到放大电路的同相和反相输入端,故RC串并联式正弦波振荡电路又称桥式正弦波振荡电路。
图1 RC串并联式正弦波振荡电路2.1.1 RC串并联选频网络图1虚线框所表示的RC串并联选频网络具有选频作用选频网络的输入电压为,输出电压为,则整理可得令,代入上式,得于是有根据以上两个式子画出的幅频特性和相频特性如图2所示(a)幅频特性(b)相频特性图2 RC串并联网络的频率特性由图2可以看出,当或者时,幅频相应的幅值最大,即而相频响应的相位角为零,即所以,只有频率为的信号被选通,且的幅值最大,是的幅值的,同时和同相位,呈纯阻性。
课程设计一方波-三角波-正弦波函数信号发生器目录1函数发生器的总方案及原理框图.....................................(1)1.1电路设计原理框图 (1)1.2电路设计方案设计 (1)2设计的目的及任务 (2)2.1课程设计的目的 (2)2.2课程设计的任务与要求 (2)2.3课程设计的技术指标 (2)3各部分电路设计 (3)3.1方波发生电路的工作原理 (3)3.2方波一-三角波转换电路的工作原理 (3)3.3三角波一-正弦波转换电路的工作原理 (6)3・4电路的参数选择及计算 (8)3.5总电路图 (10)4电路仿真 (11)4.1方波一-三角波发牛电路的仿真 (11)4.2三角波一-正弦波转换电路的仿真 (12)5电路的安装与调试 (13)5.1方波---三角波发生电路的安装与调试 (13)5.2三角波---正弦波转换电路的安装与调试 (13)5.3总电路的安装与调试 (13)5.4电路安装与调试中遇到的问题及分析解决方法 (13)6电路的实验结果 (14)6.1方波-一三角波发生电路的实验结果 (14)6.2三角波---正弦波转换电路的实验结果 (14)6.3实测电路波形、误差分析及改进方法 (15)7实验总结 (17)8仪器仪表明细清单 (18)9参考文献 (19)1.函数发生器总方案及原理框图1.1原理框图1.2函数发生器的总方案函数发生器一般是指能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形的电路或仪器。
根据用途不同,有产牛三种或多种波形的函数发牛器,使用的器件可以是分立器件如低频信号函数发生器S101全部采用晶体管,也可以采用集成电路如单片函数发生器模块8038 o为进一步掌握电路的基本理论及实验调试技术,本课题采用由集成运算放大器与晶体管差分放大器共同组成的方波一三角波一正弦波函数发生器的设计方法。
产牛正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波一方波,再将三角波变成正弦波或将方波变成正弦波等等。
苏州科技大学天平学院模拟电子技术课程设计报告课题名称正弦波-方波-三角波信号发生器设计专业班级通信1722学号姓名活雷锋学号姓名活雷锋目录一、课程设计目的、技术指标与要求 (3)1.1课程设计目的 (3)1.2技术指标 (4)1.3设计要求 (4)1.4理论准备 (4)二、方案选择 (4)2.1 设计两种不同的方案 (4)2.2 两种方案的比较 (4)2.3 选择方案一 (5)三、波形发生电路设计 (5)3.1基于集成运算放大器与晶体管差分放大器的函数发生器 (5)3.2 设计思路 (5)3.3 函数发生器电路组成框图如下所示 (5)3.3 工作原理 (5)3.4总电路图: (7)四、设计参数 (7)4.1:分为三个部分设计参数 (8)4.2:方波参数: (8)4.3正弦波-方波参数: (8)4.4:ICL8038的两种工作方式: (8)4.5:正弦函数信号的失真度调节 (10)五、仿真结果与分析 (11)5.1正弦波的仿真: (11)5.2方波的仿真: (12)5.3三角波的仿真 (13)5.5总电路仿真: (14)5.6频率: (14)5.7ICL8038 元器件的函数发生器 (15)ICL 8038 的主要特点: (15)六、设计总结 (16)七、参考文献 (17)八、成绩评定 (17)一、课程设计目的、技术指标与要求1.1课程设计目的(1)巩固信号发生器相关理论知识;(2)实践所掌握的电子技术理论;(3)通过查阅技术手册和文献资料,熟悉常用电子器件的类型和特性,掌握选用器件的原则;(4)练习运用EDA工具对理论设计进行模拟仿真测试,通过仿真测试,发现问题、分析问题,进一步完善理论设计;(5)培养严谨的学习工作态度和实事求是的工作作风;(6)练习撰写具有一定复杂度和综合性的设计报告;(7)通过设计一个具有一定实际意义的电子电路,提高综合分析问题解决问题的能力。
1.2技术指标(1)输出波形:正弦波、方波和三角波;(2)频率范围:100HZ~20kHZ连续可调;(3)输出电压:正弦波-方波的输出信号幅值为6V,三角波输出信号幅值为0~2V连续可调;(4)正弦波失真度:γ≦5%。
《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保存。
产生三角波数值的C程序如下:#include<stdio.h>#include<math.h>main(){int i;float s;for(i=0;i<256;i++){s=i;printf("%d :%d;\n",i,s);}}以sj.c保存。
其次,把上述程序编译后,会生成EXE文件,在DOS命令行下分别执行以下命令:zx > zx.mif;sj > sj.mif;将生成的*.mif 文件,再加上.mif文件的头部说明即可。
.mif文件的头部说明如下所示:WIDTH=8;DEPTH=256;ADDRESS_RADIX=DEC;DATA_RADIX=DEC;CONTENT BEGIN…………(数据略去)END;2、在设计信号发生器前,必须首先完成存放波形数据ROM的设计。
设计步骤如下:1)打开QUARTUS Ⅱ。
在files菜单中选择new 产生一个对话框,选择Block Diagram/Schematic File 项,会生成一个*.bdf文件,双击文件空白处,跳出symbol窗口,在改窗口下选择megafunctions>storage>lpm_rom。
2)在跳出的 MegaWizard Plug-In Manager中选择VHDL,路径保存在D:\chengxv\中3)在parameter settings 窗口中,选择currently selected device family :cyclone.选择ROM控制线、地址线和数据线。
在弹出的对话框中选择地址线位宽和ROM中数据数分别为8和64;选择地址锁存控制信号dual clock。
在对话框的“What should the RAM…”栏选择默认的Auto。
4)单击NEXT,将此界面数据如图设置5)单击Next按钮,选择BROWSE,选择利用C做成的MIF文件,将此模块命名为ROM0,再单击Finish 按钮后完成ROM0定制。
6)打开此文件可以看到其中调用初始化数据文件的语句为:init_file => ".mif"。
最后生成的ROM0元件文件如源代码1所示.六、源代码:1)、源代码1如下所示:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.all;ENTITY ROM0 ISPORT(address : IN STD_LOGIC_VECTOR (5 DOWNTO 0);inclock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );END ROM0;ARCHITECTURE SYN OF ROM0 ISSIGNAL sub_wire0 : STD_LOGIC_VECTOR (7 DOWNTO 0);COMPONENT altsyncramGENERIC (address_aclr_a : STRING;init_file : STRING;intended_device_family : STRING;lpm_hint : STRING;lpm_type : STRING;numwords_a : NATURAL;operation_mode : STRING;outdata_aclr_a : STRING;outdata_reg_a : STRING;widthad_a : NATURAL;width_a : NATURAL;width_byteena_a : NATURAL);PORT (clock0 : IN STD_LOGIC ;address_a : IN STD_LOGIC_VECTOR (5 DOWNTO 0);q_a : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );END COMPONENT;BEGINq <= sub_wire0(7 DOWNTO 0);altsyncram_component : altsyncramGENERIC MAP (address_aclr_a => "NONE",init_file => "../../ad.mif",intended_device_family => "Cyclone",lpm_hint => "ENABLE_RUNTIME_MOD=NO",lpm_type => "altsyncram",numwords_a => 64,operation_mode => "ROM",outdata_aclr_a => "NONE",outdata_reg_a => "UNREGISTERED",widthad_a => 6,width_a => 8,width_byteena_a => 1)PORT MAP (clock0 => inclock,address_a => address,q_a => sub_wire0);END SYN;2)、顶层设计代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADC ISPORT ( CLK:in STD_LOGIC;DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);key:in STD_LOGIC);END ;ARCHITECTURE DACC OF ADC ISCOMPONENT ROM0PORT(address: IN STD_LOGIC_VECTOR(7 DOWNTO 0); inclock: IN STD_LOGIC;q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)) ;END COMPONENT;COMPONENT ROM1PORT(address: IN STD_LOGIC_VECTOR(7 DOWNTO 0); inclock: IN STD_LOGIC;q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ) ;END COMPONENT;SIGNAL CLK1:STD_LOGIC;SIGNAL Q0:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL Q1:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL Q2:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL Q3:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF CLK'event and CLK='1'THENIF Q0<"0110" THEN Q0<=Q0+1;ELSE Q0<="0000";CLK1<= NOT CLK1;END IF;END IF;END PROCESS;PROCESS(CLK1)BEGINIF CLK1'event and CLK1='1'THEN Q1<=Q1+1;END IF;END PROCESS;u2: ROM1 PORT MAP(address=>Q1,q=>Q2,inclock=>CLK);u1: ROM0 PORT MAP(address=>Q1,q=>Q3,inclock=>CLK);process(key)beginif key='1' then DOUT<=Q2;else DOUT<=Q3;END IF;END PROCESS;END ;3)为此顶层设计创建一项工程,工程名和实体名都是adc。
4)全程编译一次后进入时序仿真测试。
由波形可见,随着每一个时钟上升沿的到来,输出端口将正弦波数据依次输出。
5)硬件测试。
选择电路模式5,则时钟CLK接实验箱的clock0 。
将dout(0)…dout(7)分别锁定于实验系统上与DAC0832相接的I/O口:PIO24、PIO25、PIO26、PIO27、PIO28、PIO29、PIO30、PIO31。