eda课程设计.docx
- 文档编号:26897598
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:24
- 大小:147.75KB
eda课程设计.docx
《eda课程设计.docx》由会员分享,可在线阅读,更多相关《eda课程设计.docx(24页珍藏版)》请在冰豆网上搜索。
eda课程设计
一、课程设计课题
设计任意波形产生器
二、课程设计要求
电路要求可以产生方波、正弦波、三角波,波形的频率可调,通过控制开关控制产生的波形,并通过控制按键控制设计信号的频率,
在完成以上设计功能的要求后,设计一特殊信号的产生电路,示意波形如下图。
三、课程设计工作量
6月20、21号进行电路原理的讲述及程序的编写
6月22、23进行程序的编写调试与仿真
6月24号进行设计报告的撰写
四、课程设计说明书内容(有指导书的可省略)
1.写出电路的工作原理与电路图;
2.画数电路详细框图;
3.画出电路的控制器的详细流程图,并分析其状态改变过程;
4.画出电路的工作时序电路图;
5.写出各模块的源程序;
6.叙述各模块电路工作原理;
7.制作电路并说明电路的调试情况;
8.书写报告应结构合理,层次分明,在分析时注意语言的流畅。
目录
第一章绪论2
1.1EDA技术的简介2
1.1.1EDA的软件介绍2
1.1.2EDA技术的基本特征2
1.1.3EDA的应用2
1.2VHDL硬件描述语言3
1.2.1VHDL设计的特点3
第二章设计要求4
2.1课程设计要求4
2.2原理图5
第三章系统设计方案6
3.1设计思路6
3.2设计模块图6
3.3设计步骤6
3.4设计程序7
3.4.1正弦波7
3.4.2三角波8
3.4.3方波9
3.4.4特殊波形10
3.4.5分频12
3.4.6时钟输入12
3.4.7输出波形选择器13
3.5硬件实现及调试结果14
3.6管脚定义15
第四章心得体会16
参考文献16
第一章绪论
1.1EDA技术的简介
EDA是电子设计自动化(ElectronicDesignAutomation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。
EDA技术是以计算机为工具,根据硬件描述语言HDL(HardwareDescriptionlanguage)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。
1.1.1EDA的软件介绍
EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:
multiSIM7(原EWB的最新版本)、PSPICE、OrCAD、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIIogic、Cadence、MicroSim等等。
这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同进还可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。
③20世纪90年代为电子设计自动化(EDA)阶段。
1.1.2EDA技术的基本特征
EDA代表了当今电子设计技术的最新发展方向。
它的基本特征是:
设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分。
系统的关键电路用一片或几片专用集成电路(ASIC,ApplicationSpecificIntegratedCircnit)实现,然后采用硬件描述语言(HDlHardwareDescriptionLanguage)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。
1.1.3EDA的应用
EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。
在教学方面,几乎所有理工科(特别是电子信息)类的高校都开设了EDA课程。
主要是让学生了解EDA的基本概念和基本原理、掌握用HDL语言编写规范、掌握逻辑综合的理论和算法、使用EDA工具进行电子电路课程的实验验证并从事简单系统的设计。
一般学习电路仿真工具(如multiSIM、PSPICE)和PLD开发工具(如Altera/Xilinx的器件结构及开发系统),为今后工作打下基础。
从应用领域来看,EDA技术已经渗透到各行各业,如上文所说,包括在机械、电子、通信、航空航航天、化工、矿产、生物、医学、军事等各个领域,都有EDA应用。
另外,EDA软件的功能日益强大,原来功能比较单一的软件,现在增加了很多新用途。
如AutoCAD软件可用于机械及建筑设计,也扩展到建筑装璜及各类效果图、汽车和飞机的模型、电影特技等领域。
1.2VHDL硬件描述语言
VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。
1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。
自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。
此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。
1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。
现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。
有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点
1.2.1VHDL设计的特点
与其他硬件描述语言相比,VHDL具有以下特点:
功能强大、设计灵活。
VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。
它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。
VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言虽不能比拟的。
VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。
支持广泛、易于修改。
由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。
在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。
强大的系统硬件描述能力。
VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。
而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。
另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。
VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。
独立于器件的设计、与工艺无关。
设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。
当设计描述完成后,可以用多种不同的器件结构来实现其功能。
很强的移植能力。
VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。
易于共享和复用。
VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。
这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。
(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,
高速的完成必须有多人甚至多个代发组共同并行工作才能实现。
(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
第二章设计要求
2.1课程设计要求
电路要求可以产生正弦波、方波、三角波、特殊波任意波形发生器,波形的频率可调,通过k1、k2、k3、k4共四个开关控制产生的波形,并通过控制按键控制设计信号的频率,改变频率的方法可以采用分频和DDS的原理进行控制信号频率。
并进行D/A转换电路与滤波电路的设计,通过采用施密特触发器对波形进行整形,设计一频率测量电路对所产生的频率进行测量,通过数码管显示出来,并在数码管上显示当前的波形代码。
2.2原理图
第三章系统设计方案
3.1设计思路
采用由底向上的设计方法,根据系统对硬件的要求,画出系统控制流程图,仔细分析系统要求到达各个功能,将系统的功能进行细化,合理的划分功能模块,并画出系统的功能框图;进行各功能模块计数,运用VHDL语言设计出各个功能模块;在软件环境下导出各个功能框图,再将各个模块按系统要求到达功能连起来,做出系统的原理图;编译、调试完成后,在下载到硬件结构,进行硬件调试。
3.2设计模块图
3.3设计步骤
1、在具体设计之前,详细分析设计要求、确定系统输入/输出信号是必要的,只有在明确设计,要求的基础上,才能使系统设计有序地进行。
2.确定整体设计方案
对于一个具体的设计可能有多种不同的方案,确定方案时,应对不同方案的性能、成本、可靠性等方面进行综合考虑,最终确定设计方案。
3.自顶向下(top-down)的模块化设计方法数字系统的设计通常有两种设计方法,一种是自底向上的设计方法,一种是自顶向下的设计方法。
自底向上(Bottom-up)的设计过程从最底层设计开始。
设计系统硬件时,首先选择具体的元器件,用这些元器件通过逻辑电路设计,完成系统中各独立功能模块的设计,再把这些功能模块连接起来,总装成完整的硬件系统。
3.4设计程序
3.4.1正弦波
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
entitysinis
port(clk4:
instd_logic;
k:
inintegerrange15downto0;
dd4:
outintegerrange255downto0);
endsin;
architecturedaccofsinis
signalq:
integerrange63downto0;
begin
process(clk4)
begin
if(clk4'eventandclk4='1')thenq<=q+k;
endif;
endprocess;
process(q)
begin
caseqis
when00=>dd4<=255;
when01=>dd4<=254;
when02=>dd4<=253;
when03=>dd4<=250;
when04=>dd4<=245;
when05=>dd4<=240;
when06=>dd4<=234;
when07=>dd4<=226;
when08=>dd4<=218;
when09=>dd4<=208;
when10=>dd4<=198;
when11=>dd4<=188;
when12=>dd4<=176;
when13=>dd4<=165;
when14=>dd4<=152;
when15=>dd4<=140;
when16=>dd4<=128;
when17=>dd4<=115;
when18=>dd4<=103;
when19=>dd4<=90;
when20=>dd4<=79;
when21=>dd4<=67;
when22=>dd4<=57;
when23=>dd4<=47;
when24=>dd4<=37;
when25=>dd4<=29;
when26=>dd4<=21;
when27=>dd4<=15;
when28=>dd4<=10;
when29=>dd4<=5;
when30=>dd4<=2;
when31=>dd4<=1;
when32=>dd4<=0;
when33=>dd4<=1;
when34=>dd4<=2;
when35=>dd4<=5;
when36=>dd4<=10;
when37=>dd4<=15;
when38=>dd4<=21;
when39=>dd4<=29;
when40=>dd4<=37;
when41=>dd4<=47;
when42=>dd4<=57;
when43=>dd4<=67;
when44=>dd4<=79;
when45=>dd4<=90;
when46=>dd4<=103;
when47=>dd4<=115;
when48=>dd4<=128;
when49=>dd4<=140;
when50=>dd4<=165;
when51=>dd4<=176;
when52=>dd4<=188;
when53=>dd4<=198;
when54=>dd4<=208;
when55=>dd4<=218;
when56=>dd4<=226;
when57=>dd4<=234;
when58=>dd4<=240;
when59=>dd4<=245;
when60=>dd4<=250;
when61=>dd4<=253;
when62=>dd4<=254;
when63=>dd4<=255;
whenothers=>null;
endcase;
endprocess;
enddacc;
3.4.2三角波
libraryieee;useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitytriais
port(clk3:
instd_logic;
k:
inintegerrange15downto0;
dd3:
outintegerrange255downto0);
endtria;
architecturedaccoftriais
signalb:
std_logic;
signalc:
integerrange255downto0;
begin
process(clk3)
begin
if(clk3'eventandclk3='1')then
if(b='0')then
c<=c+k;
if(c>=250)then
b<='1';
endif;
elsif(b='1')then
c<=c-k;
if(c<=1)then
b<='0';
endif;
endif;
dd3<=c;
endif;
endprocess;
enddacc;
3.4.3方波
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entitysquareis
port(clk1:
instd_logic;
k:
inintegerrange15downto0;
dd1:
bufferintegerrange255downto0);
endsquare;
architecturedaccofsquareis
signalq:
integerrange255downto0;
begin
process(clk1)
begin
if(clk1'eventandclk1='1')then
q<=q+k;
endif;
endprocess;
process(q)
begin
caseqis
when0to127=>dd1<=255;
when128to255=>dd1<=127;
whenothers=>null;
endcase;
endprocess;
enddacc;
3.4.4特殊波形
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entitysintrais
port(clk4:
instd_logic;
k:
inintegerrange15downto0;
dd4:
outintegerrange255downto0);
endsintra;
architecturedaccofsintrais
signalq:
integerrange63downto0;
begin
process(clk4)
begin
if(clk4'eventandclk4='1')then
q<=q+k;
endif;
endprocess;
process(q)
begin
caseqis
when00=>dd4<=255;
when01=>dd4<=254;
when02=>dd4<=253;
when03=>dd4<=250;
when04=>dd4<=245;
when05=>dd4<=240;
when06=>dd4<=234;
when07=>dd4<=226;
when08=>dd4<=218;
when09=>dd4<=208;
when10=>dd4<=198;
when11=>dd4<=188;
when12=>dd4<=176;
when13=>dd4<=165;
when14=>dd4<=152;
when15=>dd4<=140;
when16=>dd4<=128;
when17=>dd4<=115;
when18=>dd4<=103;
when19=>dd4<=90;
when20=>dd4<=79;
when21=>dd4<=67;
when22=>dd4<=57;
when23=>dd4<=47;
when24=>dd4<=37;
when25=>dd4<=29;
when26=>dd4<=21;
when27=>dd4<=15;
when28=>dd4<=10;
when29=>dd4<=5;
when30=>dd4<=2;
when31=>dd4<=1;
when32=>dd4<=0;
when33=>dd4<=8;
when34=>dd4<=16;
when35=>dd4<=24;
when36=>dd4<=32;
when37=>dd4<=40;
when38=>dd4<=48;
when39=>dd4<=56;
when40=>dd4<=64;
when41=>dd4<=72;
when42=>dd4<=80;
when43=>dd4<=88;
when44=>dd4<=96;
when45=>dd4<=104;
when46=>dd4<=112;
when47=>dd4<=120;
when48=>dd4<=128;
when49=>dd4<=136;
when50=>dd4<=144;
when51=>dd4<=152;
when52=>dd4<=160;
when53=>dd4<=168;
when54=>dd4<=176;
when55=>dd4<=184;
when56=>dd4<=192;
when57=>dd4<=200;
when58=>dd4<=208;
when59=>dd4<=216;
when60=>dd4<=224;
when61=>dd4<=232;
when62=>dd4<=240;
when63=>dd4<=247;
whenothers=>null;
endcase;
endprocess;
enddacc;
3.4.5分频
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
ENTITYfpIS
port(clk:
instd_logic;
k:
inintegerrange7downto0;
clko:
bufferstd_logic);
endfp;
architectureaoffpis
signaltemp:
std_logic_vector(3downto0);
begin
process(clk)
begin
ifclk'eventandclk='1'then
iftemp temp<=temp+1; else temp<="0000"; clko<=notclko; endif;endif;endprocess; enda; 3.4.6时钟输入 libraryieee; useieee.std_logic_1164.all; useieee.std_logic_arith.all; useieee.std_logic_unsigned.all; entityWaveSelectis port(clk1,clk2,clk3,clk4: instd_logic_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- eda 课程设计