正弦信号发生器设计——VHDL

5 篇文章 3 订阅

一、实验目的

(1)学习并掌握Quartus II的使用方法
(2)学习简单时序电路的设计和硬件测试。
(3)学习使用VHDL 语言方法进行逻辑设计输入
(4)进一步熟悉QuartusⅡ及其 LPM_ROM 与 FPGA硬件资源的使用方法,学习较复杂的数字系统设计方法,并在实验开发系统上熟悉运行输入及仿真步骤原理

二、实验仪器设备

(1) PC机一台。
(2)Quartus Ⅱ开发软件一套
(3)EDA实验开发系统一套(EP1C12Q240C8)

三、实验原理

正弦信号发生器的结构由4部分组成:数据计数器或地址发生器、波形数据ROM、D/A和滤波电路。性能良好的正弦信号发生器的设计要求此4部分具有高速性能,且数据 ROM在高速条件下,占用最少的逻辑资源,设计流程最便捷,波形数据获取最方便。
数据计数器或地址发生器产生控制ROM波形数据表的地址,输出信号的频率由ROM地址的变化速率决定,变化越快,输出频率越高。
波形数据表ROM用于存放波形数据,可以存放正弦波、三角波或者其他波形数据。
D/A转换器将ROM 输出的数据转换成模拟信号,经过滤波电路后输出。

四、实验内容

在Quartus Ⅱ上完成正弦信号发生器设计,包括仿真和资源利用情况(假设利用Cyclone器件)。然后在实验系统上实测,包括Quartus Ⅱ测试、FPGA中 ROM在系统数据读写测试和利用示波器测试。最后完成配置器件的编程。
正弦信号发生器结构图

五、实验步骤

(1)启动Quartus II建立一个空白工程,然后命名为 rom.qpf。
(2)新建VHDL 源程序文件rom.bdf,输入程序代码并保存,进行综合编译,若编译过程中发现错误,则找出并更正错误,直至编译成功为止。
(3)5位计数器生成方法,选择工具栏的File→New→Device Dising→VHDL File→OK,在原程序输入窗口输入以下程序,后保存并编译。编译成功后单击工具栏的File→Credte Update→ Create Symbol Files for Current File

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED. ALL;
ENTITY CNT6b IS
PORT (CLK: IN std_logic;
		CQ:	OUT std_logic_vector(5 downto 0));
END CNT6b;
ARCHITECTURE behav OF CNT6b IS
BEGIN 
PROCESS(CLK)
	variable CQI :std_logic_vector(5 downto 0);
 BEGIN 
	IF CLK'EVENT AND CLK='1'THEN
	IF CQI<4 THEN   CQI:=CQI + 1;
 END IF;
 END IF;
 CQ<= CQI;
 END PROCESS;
 END behav;

编译成功后双击已创建的rom.bdf原理图窗口弹出如下图窗口,单击窗口左上脚Project即可看到刚才建好的CNT6b工程文件,用鼠标左键选择CNT6b,再单击ok即可将cnt6原理图模块调入原理图窗口。
计数器设计图
(4)设计LPM_ROM相关元件,打开Mif任意波编辑器Mif_Maker2010,选择“设定波形”-“全局参数”,修改数据长度为64,数据宽度为8,如图所示。
正弦信号仿真图设计mif
打开Tools菜单,选择MegaWizard Plug-In Manager,操作如下:
在这里插入图片描述
点击“Next”,输出文件信息(文件类型:VHDL;文件地址:D:/Users/DELL/Desktop/sinve/;文件名称:data_rom)
在这里插入图片描述

ROM设计
在这里插入图片描述
点击Next后,导入设计的.mif文件,如下图所示:
在这里插入图片描述
选择产生文件类型,默认产生data_rom.vhd,可以自由选择产生更多的文件
在这里插入图片描述
首先在文件夹D:/Users/DELL/Desktop/sinve/中找到生成的文件data_rom.v;将data_rom.v设为当前工程,并对其编译;选择File-Create/Update-Create Symbol Files for Current File,生成data_rom元件
在这里插入图片描述
(5)选择目标器件并对相应的引脚进行锁定,在这里所选择的器件为Altera公司 Cyclone系列的EPIC12Q240C8芯片。将未使用的管脚设置为三态输入。则找出并更正错误,
(6)对该工程文件进行全程编译处理,若在编译过程中发现错误直至编译成功为止。接到PC机的打印机并口
(7)拿出 Altera Byte Blaster II下载电缆,并将此电缆的两端分别接到PC机的打印机并口和实验箱的JTAG下载口上,打开电源,执行下载命令,把程序下载到 FPGA器件中,观察示波器显示状态。
QUARTUS II效果展示图:
信号发生器展示图
(注:此图中三个data_rom从上到下依次是方波,正弦波,三角波具体做实验时接其一即可)
成果展示图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
引脚配置:
引脚配置

六、实验要求

(1)选择实验电路模式5
(2)设计仿真文件,进行软件验证
(3)用VHDL程序设计方法实现信号发生器设计
(4)通过下载线下载到实验系统上进行硬件测试验证

七、实验扩展

工程文件下载:
正弦,方波,三角波信号发生器设计源工程代码

  • 27
    点赞
  • 216
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易安寄云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值