好文档 - 专业文书写作范文服务资料分享网站

EDA课程设计-信号发生器与数字钟设计 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

EDA综合设计报告

题目:信号发生器与数字钟设计 学院:电气信息学院 专业:通信工程 姓名: 学号: 指导老师:汪敏

第一部分:信号发生器

一、设计任务

要求设计一个多功能信号发生器,根据输入信号的选择可以输出递增锯齿波,递减锯齿波,三角波,阶梯波,方波和正弦波六种信号,并能实现频率选择和幅度调节,信号发生器的控制模块可以用数据选择器实现,六种信号的选择可以用6选1数据选择器实现。

二、方案设计

(一)设计思路

1.利用VHDL语言,设计分频器,实现2分频,4分频,8分频及16分频,实现频率选择功能,生成模块。与利用数据选择器原理设计的频率选择器模块相连,实现频率选择输出。

2.利用VHDL语言,分别实现六种信号(递增/递减锯齿波,三角波,阶梯波,方波和正弦波)的输出,生成模块。

3.将设计的各功能模块按要求连接,分配引脚接口,连接实验箱,进行硬件测试,验证实现功能。

(二)程序流程

Clk 输入 六种 波形 输出 时钟 波形 波形 幅度 选择 频率 输入 选择 模块 选择 调节 波形

(三)设计软件

Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。

Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。

此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性。

三、硬件设计

(一)分频器

分频器的功能是:利用对时钟上升沿计数,从而实现可以输出二分频,四分频,八分频及十六分频模块,分频器模块是为了实现信号发生器的频率选择功能。在VHDL编程中,设置一个4位标准逻辑矢量,并循环计数,分别输出它的每一位,即实现了分频功能。生成的模块如图3-1示。

图3-1

利用波形仿真工具,生成改分频器的波形图,如下图3-2示,该编程实现了分频功能。

图3-2

(二)频率选择器

频率选择器利用四选一数据选择器原理,与分频器结合实现各种分频的频率选择输出,接入各个信号的CLK输入接口。四选一数据选择器有四种实现方式:if语句,case语句,条件信号赋值语句及选择信号赋值语句。本次设计采用条件信号赋值语句。s1,s2为输出选择端,q输出选择的频率,生成的模块如图3-3示。

图3-3

利用波形仿真工具,生成的频率选择器波形如图3-4示。

图3-4

(三)输出选择模块

输出选择模块与频率选择模块原理一样,本次设计实现六选一波形发生器,故输出选择模块为六选一数据选择器,利用CASE语句实现波形选择输出,设置sel位三位标准逻辑矢量,超出范围case选择指向null。且case选择语句必须有others。生成模块如图3-5示。

图3-5

(四)调幅模块

MegaWizard Plug-In Manager工具提供了丰富的库函数,这些库函数专门针对Altera公司的器件进行优化,电路结构简单,并大大减少了设计者的工作量。通过MegaWizard Plug-In Manager工具的向导,设计者可以利用Quartus II提供的库函数自定义功能宏块,并设置模块参数和可选端口数值。

调幅模块利用该库函数中的lpm_divide(除法器模块),通过利用除法器模块将输出选择模块中的输出值除以denom中设置的输入值,从而实现调幅功能。生成模块如图3-6示。

图3-6

(五)各信号模块 1.递增锯齿波

设置clk及reset两个标准逻辑位输入端,一个8位标准逻辑矢量q输出,具有异步复位功能,故进程中敏感信号包括clk及reset,当reset值为‘0’时,输出清零复位。检测是否达到最大值“11111111”,未到则加一,实现递增锯齿波,到后清零重复循环。生成模块如下图3-7示。

图3-7

2.递减锯齿波

与递增锯齿波类似,具有相同的输入输出端,及异步复位功能。区别在于检测是否达到最小值“00000000”,未到则减一,实现递减锯齿波,到后重置为“11111111”,循环重复实现锯齿波输出。生成模块如下图3-8示。

图3-8

3.三角波

设置clk,reset两个标准逻辑位输入、一个8位标准逻辑矢量数据输出、异步复位。reset为‘0’时,输出清零复位。设置局部变量a,当a为0时,temp执行连加计算,当temp加至“11111111”时,a置为1;当a为1时,temp执行连减计算,当temp减至“00000000”后,a置为0。依次循环,实现三角波信号输出。生成模块如下图3-9示。

图3-9

4.阶梯波

设置clk,reset两个标准逻辑位输入、一个8位标准逻辑矢量数据输出、异步复位。同样reset为‘0’时有效,输出清零复位。检测变量temp为“11111111”后置0,否则按16为步长增加temp的值,输出阶梯波信号,生成模块如下图3-10示。

图3-10

5.方波

设置clk,reset两个标准逻辑位输入、一个8位标准逻辑矢量数据输出、异步复位。检测clk上升沿执行temp加1计算,当temp小于“10000000”时,a置1,否则a置0,当a为1时,输出q为“11111111”,a为0时,q为“00000000”。从而实现占空比为1:1的方波输出。生成模块如下图3-11示。

图3-11

6.正弦波

设置clk,reset两个标准逻辑位输入,一个0到255的整形实数输出,异步复位。设置中间变量整形temp为0到63,检测clk上升沿执行temp加1计算,利用case语句,将temp对应为正弦信号的x轴,分别将y轴的值赋给64个temp值相对应,从而输出q,实现近似于正弦信号的输出,生成模块如图3-12示。

图3-12

四、波形仿真结果及分析

(一)系统电路图

将上述模块按功能逻辑连接,如下图4-1示。具有一个clk时钟输入,一个reset复位信号输入,一个(s1,s2)的频率选择端输入,一个三位sel输出信号选择端输入。一个8位的输出信号输出。

图4-1

(二)管脚分配

在前面选择好一个合适的目标器件(本次设计选择为EP2C35F672C8)完成设计的分析综合过程,得到工程的数据文件以后,需要对设计中的输入、输出指定到具体的器件管脚号码,指定管脚号码称为管脚分配或管脚锁定。

在菜单assignments中选择pins项,点击在下图4-2中下面的表格右侧的filter的下箭头,选择pins:all,将显示本工程中所有的输入输出端口。选择要分配的端口,在location对应的行中双击鼠标左键,将显示芯片所有的引脚,选择要使用的引脚即可。引脚锁定后,必须再进行一次编译,将引脚信息编译进下载文件中。

图4-2

(三)仿真波形

创建波形仿真文件,选择QUARTUSII软件,进行新建,选择Vector Waveform File,点击OK,则打开了一个空的波形编辑器。在波形编辑器窗口左边的的端口名列表区点击鼠标右键,在弹出的对话框中选择Insert Node or Bus命令,在弹出的对话框中,选择需要的信号进行仿真。

这里,我们将分别对可选的6个信号波形进行波形仿真。 1.正弦波

EDA课程设计-信号发生器与数字钟设计 - 图文

EDA综合设计报告题目:信号发生器与数字钟设计学院:电气信息学院专业:通信工程姓名:学号:指导老师:汪敏
推荐度:
点击下载文档文档为doc格式
774bt9qe0l6ehs64cxfu8wrp7230fg017qr
领取福利

微信扫码领取福利

微信扫码分享