EDA课程设计任意波形发生器.docx

上传人:b****6 文档编号:13030292 上传时间:2023-06-10 格式:DOCX 页数:11 大小:794.74KB
下载 相关 举报
EDA课程设计任意波形发生器.docx_第1页
第1页 / 共11页
EDA课程设计任意波形发生器.docx_第2页
第2页 / 共11页
EDA课程设计任意波形发生器.docx_第3页
第3页 / 共11页
EDA课程设计任意波形发生器.docx_第4页
第4页 / 共11页
EDA课程设计任意波形发生器.docx_第5页
第5页 / 共11页
EDA课程设计任意波形发生器.docx_第6页
第6页 / 共11页
EDA课程设计任意波形发生器.docx_第7页
第7页 / 共11页
EDA课程设计任意波形发生器.docx_第8页
第8页 / 共11页
EDA课程设计任意波形发生器.docx_第9页
第9页 / 共11页
EDA课程设计任意波形发生器.docx_第10页
第10页 / 共11页
EDA课程设计任意波形发生器.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

EDA课程设计任意波形发生器.docx

《EDA课程设计任意波形发生器.docx》由会员分享,可在线阅读,更多相关《EDA课程设计任意波形发生器.docx(11页珍藏版)》请在冰点文库上搜索。

EDA课程设计任意波形发生器.docx

EDA课程设计任意波形发生器

EDA课程设计--任意波形发生器

E

D

A

学院:

电子信息学院

专业:

通信专业102班

姓名:

许文博

学号:

41003030210

EDA技术概述

EDA是电子设计自动化(ElectronicDesignAutomation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。

EDA技术是以计算机为工具,根据硬件描述语言HDL(HardwareDescriptionlanguage)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。

典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。

综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。

综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。

也就是说,综合器是软件描述与硬件实现的一座桥梁。

综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。

任意波形信号发生器的概述

随着信息科技的发展,波形发生器在科技社会等多个领域发挥着越来越重要作用。

采用EDA技术利用MAX+PLUS

软件平台,设计的多功能波形发生器系统,大大简化其结构,降低成本,提高了系统的可靠性和灵活性。

设计中运用计数器,数据选择器,对所需的频率进行选择和同步。

使用宏功能模块存储波形。

然后多波形进行幅度的选择。

产生满足需要的不用频率和幅度的波形。

任意波形产生器构成:

•上图为任意波形发生器的构成图,sel为控制波形输出。

•Kk为分频模块,与k步长调整波形输出的频率。

输出8位数字信号经过D/A转换输出负波形,再经过1:

1比例反向放大器输出正向波形,施密特触发电路输出方波然后经测频模块由数码管显示出频率。

仿真产生的波形如下:

正弦波

三角波

方波

示波器显示如下图:

方波

三角波

正弦波

电路模块组成部分:

分频模块

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_ARITH.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCT74161IS

PORT(clk:

INSTD_LOGIC;

clk_div2:

OUTSTD_LOGIC;

clk_div4:

OUTSTD_LOGIC;

clk_div8:

OUTSTD_LOGIC;

clk_div16:

OUTSTD_LOGIC);

ENDCT74161;

ARCHITECTURErtlOFCT74161IS

SIGNALcount:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS(clk)

BEGIN

IF(clk'EVENTANDclk='1')THEN

IF(count="1111")THEN

Count<=(OTHERS=>'0');

ELSE

Count<=count+1;

ENDIF;

ENDIF;

ENDPROCESS;

clk_div2<=count(0);

clk_div4<=count

(1);

clk_div8<=count

(2);

clk_div16<=count(3);

ENDrtl;

频率选择模块

libraryieee;

useieee.std_logic_1164.all;

entitytiaopinis

port(s1,s0:

instd_logic;

a,b,c,d:

instd_logic;

y:

outstd_logic);

endtiaopin;

architectureoneoftiaopinis

signals:

std_logic_vector(1downto0);

signaly_temp:

std_logic;

begin

s<=s1&s0;

process(s1,s0,a,b,c,d)

begin

casesis

when"00"=>y_temp<=a;

when"01"=>y_temp<=b;

when"10"=>y_temp<=c;

when"11"=>y_temp<=d;

whenothers=>y<='X';

endcase;

endprocess;

y<=y_temp;

endone;

波形选择模块

libraryieee;

useieee.std_logic_1164.all;

entityDECODERis

port(a0,a1,a2,s0,s1,s2:

instd_logic;

y0,y1,y2,y3,y4,y5,y6,y7:

outstd_logic);

endDECODER;

architectureymqofDECODERis

signala:

std_logic_vector(2downto0);

begin

a<=a2&a1&a0;

process(a,s0,s1,s2)

variabley:

std_logic_vector(7downto0);

begin

if(s2='0'ands1='0'ands0='1')then

caseais

when"000"=>y:

="11111110";

when"001"=>y:

="11111101";

when"010"=>y:

="11111011";

when"011"=>y:

="11110111";

when"100"=>y:

="11101111";

when"101"=>y:

="11011111";

when"110"=>y:

="10111111";

when"111"=>y:

="01111111";

whenothers=>y:

="XXXXXXXX";

endcase;

else

y:

="11111111";

endif;

y0<=y(0);

y1<=y

(1);

y2<=y

(2);

y3<=y(3);

y4<=y(4);

y5<=y(5);

y6<=y(6);

y7<=y(7);

endprocess;

endymq;

输出波形选择模块

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitylpmis

port(s1,s2,s3:

instd_logic;

a,b,c,d,e,f,g,h:

instd_logic_vector(7downto0);

z:

outstd_logic_vector(7downto0));

endlpm;

architectureoneoflpmis

signals:

std_logic_vector(2downto0);

begin

s<=s3&s2&s1;

process(s1,s2,s3,a,b,c,d,e,f,g,h)

begin

casesis

when"000"=>z<=a;

when"001"=>z<=b;

when"010"=>z<=c;

when"011"=>z<=d;

when"100"=>z<=e;

when"101"=>z<=f;

when"110"=>z<=g;

when"111"=>z<=h;

whenothers=>null;

endcase;

endprocess;

endone;

幅度控制模块

libraryieee;

useieee.std_logic_1164.all;

entitytiaofuis

port(a,b,c:

instd_logic;

sel:

outstd_logic_vector(2downto0));

endtiaofu;

architecturethreeoftiaofuis

begin

sel<=a&b&c;

endthree;

 

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

当前位置:首页 > 人文社科 > 法律资料

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

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