EDA课程设计正弦信号发生器的设计

  • 格式:docx
  • 大小:596.43 KB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《EDA技术》设计报告

设计题目正弦信号发生器的设计

院系:信息工程学院

专业:通信工程

学姓号:名:

RST

7 根地址线

CLK

计 数器

8 位R O M

并转串输出

TLV5620 D/A 转换

一.设计任务及要求

1. 设计任务 :

利用实验箱上的 D/A 转换器和示波器设计正弦波发生器,可以在示波器上观察到正弦波

2. 设计要求 :

(1) 用 VHDL 编写正弦波扫描驱动电路 (2) 设计可以产生正弦波信号的电路

(3) 连接实验箱上的 D/A 转换器和示波器,观察正弦波波形

二.设计方案

(1)设计能存储数据的 ROM 模块,将正弦波的正弦信号数据存储在在 ROM 中,通过地址发生器读取,将正弦波信号输入八位 D/A 转化器,在示波器上观

察波形

(2)用 VHDL 编写正弦波信号数据, 将正弦波信号输入八位 D/A 转化器, 在示波器上观察波形

三.设计框图

图 1 设计框图

信号发生器主要由以下几个部分构成:计数器用于对数据进行采样,

ROM

用于存储待采样的波形幅度数值, TLV5620 用于将采集的到正弦波数字量变为模拟量,最后通过示波器进行测量获得的波形。其中,

ROM 设置为 7 根地址线, 8

个数据位,8 位并行输出。TLV5260 为串行输入的 D/A 转换芯片,因此要把 ROM 中并行输出的数据进行并转串。

四.实现步骤

1. 定制 ROM

ROM 的数据位选择为8 位,数据数选择128 个。利用megawizard plug-in manager定制正弦信号数据ROM 宏功能块,并将上面的波形数据加载于此ROM 中。如图 3 所示。

图2 ROM 存储的数据

图3 调入ROM 初始化数据文件并选择在系统读写功能

2. 设计顶层

.

顶层设计主要是通过编写VHDL 语言或设计原理图用于产生计数信号和调

用room 存储的数据并输出。在此步骤里要建立EDA 工程文件,工程文件结构

如图4 所示,SIN_CNT 中的VHDL 代码如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY SIN_GNT IS

PORT ( RST, CLK, EN : IN STD_LOGIC;

ADDR : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);

DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

END SIN_GNT;

ARCHITECTURE BEHA VIOR OF SIN_GNT IS

COMPONENT ROM IS

PORT ( address : IN STD_LOGIC_VECTOR(6 DOWNTO 0);

inclock : IN STD_LOGIC;

q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

END COMPONENT;

SIGNAL Q : STD_LOGIC_VECTOR(6 DOWNTO 0);

BEGIN

U : ROM PORT MAP ( address => Q,

inclock => CLK,

q => DOUT);

PROCESS(CLK, RST, EN)

BEGIN

IF RST = '0' THEN

Q <= "0000000";

ELSIF CLK'EVENT AND CLK = '1' THEN

IF EN = '1' THEN

Q <= Q + 1;

END IF;

END IF;

END PROCESS;

ADDR <= Q;

END BEHA VIOR;

工程文件的建立步骤简述如下:

1、新建一个文件夹。利用资源管理器,新建一个文件夹,如:E: \SIN_GNT 。注意,文件夹名不能用中文。

2、输入源程序。打开QuartusII,选择菜单“ File”→“ New”,在New 窗中的“ Device Design Files”中选择编译文件的语言类型,这里选“ VHDL Files ”。然后在V H D L文本编译窗中键入如图 4 所示的VHDL 程序。

图4 Quartusii 编辑代码窗口

3、文件存盘。选择“File”→“Save As”,找到已设立的文件夹 e : \SIN_GNT ,存盘文件名应该与实体名一致,即singt.vhd 。当出现问句“D o you want to create ”时,若选“否”,可按以下的方法进入创建工程流程;

若选“是”,则直接进入创建工程流程,创建工程流程如下:

3.1 、建立新工程管理窗。选择菜单“File”→“New Preject Wizard”,即弹出工程设置对话框。点击此框最上一栏右侧的按钮“”,找到文件夹E: \SIN_GNT ,选中已存盘的文件singt.vhd(一般应该设定顶层设计文件为工程),再点击“打开”,即出现如图 5 所示设置情况。其中第一行表示工程所在的工作

库文件夹;第二行表示此项工程的工程名,此工程名可以取任何其它的名,通常直接用顶层文件的实体名作为工程名,第三行是顶层文件的实体名。

3.2 、将设计文件加入工程中。然后点击下方的“Next”按钮,在弹出的对话框中点击“File”栏的按钮,将此工程相关的所有VHDL 文件加入进此工程(如果有的话),即得到如图 6 所示的情况。工程的文件加入的方法有两种:第 1 种是点击右边的“Add All ”按钮,将设定的工程目录中的所有VHD 文件加入到工