基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx

上传人:wj 文档编号:361273 上传时间:2023-04-28 格式:DOCX 页数:18 大小:144.86KB
下载 相关 举报
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第1页
第1页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第2页
第2页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第3页
第3页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第4页
第4页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第5页
第5页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第6页
第6页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第7页
第7页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第8页
第8页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第9页
第9页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第10页
第10页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第11页
第11页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第12页
第12页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第13页
第13页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第14页
第14页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第15页
第15页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第16页
第16页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第17页
第17页 / 共18页
基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx

《基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx(18页珍藏版)》请在冰点文库上搜索。

基于VHDL语言信号发生器的设计.EDA课程设计Word格式文档下载.docx

PORT( clk:

INSTD_LOGIC;

--声明clk是标准逻辑位类型的输入端口 clr:

INSTD_LOGIC;

--声明clr是标准逻辑位类型的输入端口

d:

OUTintegerrange0to255);

--声明d是标准逻辑向量类型的

--输出端口

END sinqi;

ARCHITECTUREsinbOFsinqiISBEGIN

PROCESS(clr,clk)

variabletemp:

integerrange0to63;

BEGIN

IFclr='

0'

THENd<

=0;

--clr为低电平d为0ELSIFclk'

EVENTANDclk='

1'

THEN --clk为上升沿

IFtemp=63THENtemp:

ELSE

temp:

=temp+1;

ENDIF;

CASE temp IS

when00=>

d<

=255;

when01=>

=254;

when02=>

=252;

when03=>

=249;

when04=>

=245;

when05=>

=239;

when06=>

=233;

when07=>

=225;

when08=>

=217;

when09=>

=207;

when10=>

=197;

when11=>

=186;

when12=>

=174;

when13=>

=162;

when14=>

=150;

when15=>

=137;

when16=>

=124;

when17=>

=112;

when18=>

=99;

when19=>

=87;

when20=>

=75;

when21=>

=64;

when22=>

=53;

when23=>

=43;

when24=>

=34;

when25=>

=26;

when26=>

=19;

when27=>

=13;

when28=>

=8;

when29=>

=4;

when30=>

=1;

when31=>

when32=>

when33=>

when34=>

when35=>

when36=>

when37=>

when38=>

when39=>

when40=>

when41=>

when42=>

when43=>

when44=>

when45=>

when46=>

when47=>

when48=>

when49=>

when50=>

when51=>

when52=>

when53=>

when54=>

when55=>

when56=>

when57=>

when58=>

when59=>

when60=>

when61=>

when62=>

when63=>

whenothers=>

null;

--当temp值不是选择值,Q作未知

--处理

END CASE;

END IF;

END PROCESS;

ENDsinb;

4.2方波信号发生器的实现

该模块产生方波,是通过交替送出全0和全1实现,每16个时钟翻转一次。

LIBRARYIEEE;

--打开库文件USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYfangboqiIS

PORT(clk:

--声明clk是标准逻辑位类型的输入端口

clr:

--声明clr是标准逻辑位类型的输入端口

q:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

--声明q是标准逻辑

--向量类型的输出端口

ENDfangboqi;

ARCHITECTUREfangbo1OFfangboqiIS --结构体说明SIGNALa:

STD_LOGIC;

BEGIN

PROCESS(clk,clr)

VARIABLE tmp:

std_logic_vector(3downto0);

--变量定义BEGIN

THEN a<

='

;

ELSIFclk'

eventANDclk='

THEN --clk为上升沿

IF tmp="

1111"

THENtmp:

="

0000"

tmp:

=tmp+1;

IFtmp<

"

1000"

THENa<

ELSE

a<

ENDPROCESS;

PROCESS(clk,a)BEGIN

IFclk'

THEN --clk为上升沿

IFa='

THEN

q<

11111111"

--q赋值

00000000"

--结束进程

END fangbo1;

--结束结构体

4.3三角波信号发生器的实现

该模块产生的三角波形以64个时钟为一个周期,输出q每次加减8

--打开库文件USEIEEE.STD_LOGIC_1164.ALL;

ENTITYsjboIS

PORT(clk:

clr:

ENDsjbo;

ARCHITECTUREsjqiOFsjboIS --结构体说明BEGIN

VARIABLEtmp:

STD_LOGIC_VECTOR(7DOWNTO0);

--变量说明VARIABLEa:

STD_LOGIC;

eventANDclk='

IFtmp="

11111000"

a:

=tmp+8;

00000111"

=tmp-8;

=tmp;

ENDPROCESS;

ENDsjqi;

4.4阶梯波信号发生器的实现

该模块产生的是阶梯波形。

ENTITYjietiboqiIS

--声明clk是标准逻辑位类型的输入端口clr:

--声明clr是标准逻辑位类型的输入端口Q:

BUFFERSTD_LOGIC_VECTOR(7DOWNTO0));

ENDjietiboqi;

ARCHITECTUREjietiboOFjietiboqiIS --结构体说明BEGIN

--变量定义BEGIN

--变量赋值

ELSEIFclk'

=tmp+30;

ENDIF;

Q<

ENDjietibo;

4.5四选一数据选择器的实现

该模块的VHDL语言源程序代码如下所示:

LIBRARYIEEE;

--打开库文件

ENTITYselector4_1IS --实体说明

PORT( --端口说明

sel:

INSTD_LOGIC_VECTOR(1DOWNTO0);

D0,D1,D2,D3:

INSTD_LOGIC_VECTOR(7DOWNTO0);

Q:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDselector4_1;

ARCHITECTUREoneOFselector4_1IS --结构体说明BEGIN

PROCESS(sel,D0,D1,D2,D3)BEGIN

CASEselIS

WHEN"

00"

=>

=D0;

WHEN"

01"

=D1;

10"

=D2;

11"

=D3;

WHENothers=>

=null;

--当sel的值不是选择值时,Q作未知处理

ENDCASE;

ENDone;

4.6数模转换器(D/A)

图4.6数模转换器DAC0832的连接电路图

选择一个D/A转换器,将数据选择器的输出信号与D/A转换器的输入端相连接,D/A转换器的可选择范围很宽,这里选择常用的DAC0832,其DAC0832的连接电路如上图4.6所示。

4.7信号发生器程序流程框图

当输入端有时钟信号输入时,各个信号发生器模块独立运行,独立存在,发出各种信号,这些信号作为数据选择器的输入信号,在数据选择器的作用下,波形切换到相应的模块输出,再通过数模转换器(D/A),将通过示波器显示出相应的波形图,其程序流程图如下图4.7所示:

开始

输入信号

复位

各个信号发生器模块

四选一数据选择器

数模转换器(D/A)

5、系统仿真

图4.7信号发生器程序流程框图

通过QuartusⅡ软件设计出各个模块的原理图及其相关仿真波形示意图如下:

在QuartusII的软件环境下,通过文本方式编写各个信号波形模块的VHDL

语言源程序,且进行仿真。

接下来将各个信号波形模块产生相应的元件符号,新建一个工程,加载上述模块,利用原理图输入法生成整体多波形信号发生器。

5.1正弦波发生器的原理图及其仿真波形图:

正弦波信号发生器的原理图如下图所示:

图5.1.1正弦波信号发生器原理图

正弦波信号发生器的仿真波形图如下图所示:

图5.1.2正弦波信号发生器仿真波形图

Clk 由0到1交替变更,clr一直处于高电平状态,Q端则由00001000到

00010000并依次加00001000

5.2方波发生器的原理图及其仿真波形图:

方波信号发生器的原理图如下图所示:

图5.2.1方波信号发生器的原理图

方波信号发生器的仿真波形图如下图所示:

图5.2.2方波信号发生器的仿真波形图

Clk 由0到1交替变更,clr一直处于高电平状态,q端则由00000000到

11111111并依次交替下去

5.3三角波发生器的原理图及其仿真波形图:

三角波信号发生器的原理图如下图所示:

图5.3.1三角波信号发生器的原理图

三角波信号发生器的仿真波形图如下图所示:

图5.3.2三角波信号发生器的仿真波形图

Clk 、clr均同时由0到1交替变更Q端则由00000000到00000001并依次

加00000001进行下去

5.4阶梯波发生器的原理图及其仿真波形图

阶梯波信号发生器的原理图如下图所示:

图5.4.1阶梯波信号发生器的原理图

阶梯波信号发生器的仿真波形图如下图5.8所示:

图5.4.2阶梯波信号发生器的仿真波形图

Clk 由0到1交替变更,clr一直处于高电平状态,Q端从00000000开始则

高四位依次由0001每次加0010进行下去,第四位依次由1110每次减0010进行下去。

5.54选1数据选择器的原理图及其仿真波形图

4选1数据选择器的原理图如下图所示:

图5.5.14选1数据选择器的原理图

4选1数据选择器的仿真波形图如下图所示:

图5.5.24选1数据选择器的仿真图

sel 由00每次加01交替变更,依次选择Q的输出值。

5.6信号发生器的原理图及其仿真波形图

整体信号发生器的原理图如下图所示:

图5.6.1信号发生器原理图

整体信号发生器的仿真波形图如下图所示:

图5.6.2多功能信号发生器的仿真图

clk 由0到1交替变更,clr一直处于高电平状态,Q端则由56每次加8依次进行下去。

6、使用说明

6.1从QuartusII软件环境中编写各个相关信号模块的VHDL语言源程序及生成相关模块的元件符号名称:

sinqi:

正弦波信号发生器模块;

fangboqi:

方波信号发生器模块;

sjqi1:

三角波信号发生器模块;

jietiboqi:

阶梯波信号发生器模块;

selector4_1:

四选一数据选择器输出模块;

多功能信号发生器输出波形可以由sel中位的组合形式选择,从而控制信号发生器波形的输出,通过sel的不同值可以选取正弦波信号发生器模块、方波信号发生器模块、正弦波信号发生器模块及三角波信号发生器模块、

6.2整体电路的综合分析

在QuartusII软件环境原理图输入方式中放置各个元件符号,放置输入和输出接口、组合各个信号模块、连线、编译、建立波形仿真图、仿真。

所有的操作都是在QuartusII软件环境中进行,输入信号从各个信号发生器

模块输入端输入,通过数据选择器输出所选择的的信号来切换输出相应波形的输出,在通过数模转换器(D/A)将数字信号转换为模拟信号,最后由示波器显示相应的波形。

7、总结

在本次课程设计中,我的设计较好地完成了既定目标,能够产生正弦波、方波、三角波和阶梯波波形,很成功的完成系统的功能实现。

通过该课程设计使我全面熟悉、掌握了VHDL语言基本知识,掌握利用VHDL语言对信号发生器的编程和时序逻辑电路的编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效办法,进一步提高动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。

在设计的过程中,也遇到了很多问题,在同学和指导老师的帮助下,都一一得到了解决。

从选题到定稿,从了解到熟悉,用了大概一个星期的时间,在这段时间内,苦恼、思考、喜悦、收获,感受颇多。

当然此次设计也体现出我平时学习中有许多不足和欠缺之处,此后需通过学习来查漏补缺。

参考文献

[1]江国强.EDA技术与应用(M).电子工业出版社,2010.20(3):

36-39

[2]赵建东,陈小乐.基于Internet的智能家庭网络控制器的实现[J].电子技术应用,

2002,34(12):

23-25.

[3]李永东,岳继光,李炳宇.PIC单片机在楼宇对讲系统中的应用[J].电

[4]李强华,张根宝,段力.基于单片机控制的楼宇对讲系统的设计[J].电气应用,2007,12(01):

04-06.

[5]江国强.EDA技术与应用(第3版)2010,4(11):

10-22

[6]吴庆元,卢益民.智能小区系统通信协议的设计[J].通信技术,2003,19(7):

98-99.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2