eda实验报告Word文档格式.docx
《eda实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《eda实验报告Word文档格式.docx(36页珍藏版)》请在冰豆网上搜索。
将鼠标移到“clear”信号的240ns处按住鼠标左键并向右拖动鼠标300ns处,松开鼠标左键可以看到这段区域为黑色,被选中,单击工具条中的
即可。
(3)为了将时钟信号“clk”赋周期为40ns的时钟信号。
选中信号“clk”;
设置信号周期。
单击工具条中的
就可以打开下面的对话框,单击“OK”关闭就对话框即可生成所需的时钟。
时钟周期设置对话框
5、选择“File”中的“Save”存盘。
在此已完成波形输入:
建立好的输入波形图
6、运行仿真器,进行时序仿真
从“MAX+PlusII”菜单中选择“Simulator”,打开仿真器,单击按钮“Start”开始仿真。
仿真完毕之后,单击“OpenSCF”按钮打开刚才编辑的波形文件,就可以对仿真结果进行检查。
4、实验结果分析
这个实验是对MAXPLUSⅡ的图形输入法和仿真过程的熟悉和练习。
通过画出系统的原理图,再结合仿真工具就能够得出理论的结果。
这个实验是设计模为12的同步计算器,最终也实现了这个功能。
在波形图设计模块,可以在仿真工具中设定各种需要的值,这对于工程应用是很好的工具。
实验三六位环行计数器设计
(1)熟悉图形输入编辑实现时序逻辑电路设计的过程。
(2)掌握环行计数器的设计思路。
通过分析六位环行计数器设计原理图,试写出该计数器的时钟方程、驱动方程和输出方程,并画出其状态转换图。
通过时序仿真结果验证分析的正确性和原理图设计的合理性。
按照如下的原理图绘制电路原理图:
仿真过程及截图:
建立波形图:
进行仿真,没有出现错误:
导出波形的结果:
四、实验结果及分析
本实验利用原理图编辑输入完成扭环型计数器的设计,提高我们独立设计的能力,在老师的监督和指导下,我们自已动手实验,按实验要求完成任务,达到了预期实验目的。
实验六基于VHDL语言的分频器设计与实现
一、实验目的
1、进一步掌握VHDL语言的基本结构及设计的输入方法。
2、掌握VHDL基本逻辑电路的综合设计应用。
二、实验原理
在数字电路系统中,分频电路应用得十分广泛。
例如,工程人员常常使用分频电路来得到数字通信中的帧头信号、选通信号以及中断信号等。
因此,分频电路在数字电路系统的设计中也应该作为重要的基本电路来掌握,从而给今后的一些设计带来方便。
三、实验内容及实验步骤
1、设计并实现一个6分频的分频电路,要求其输出信号的占空比为50%。
请分析分频电路设计原理并编写VHDL语言程序,利用Max+PlusII开发软件对其进行编译和仿真。
6分频电路实现程序代码如下:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityclk_div6is
port(clk:
instd_logic;
clk_out:
outstd_logic);
endclk_div6;
architecturert1ofclk_div6is
signalclk_temp:
std_logic;
begin
process(clk)
variablecounter:
integerrange0to15;
constantmd:
integer:
=2;
begin
ifclk'
eventandclk='
1'
then
ifcounter=mdthen
counter:
=0;
clk_temp<
=notclk_temp;
else
counter:
=counter+1;
endif;
endprocess;
clk_out<
=clk_temp;
endrt1;
程序的截图如下:
进行程序的调试和仿真,没有错误。
导入波形图,
仿真没有错误,得出波形图:
本实验利用VHDL语言设计分频电路,提高了我们独立设计的能力。
首先,要分析实验要求,还要编写实验程序,按实验要求完成任务,最后,得到了实验结果。
这个实验对于我们提高对vhdl语言有很大的帮助,加强了我们对理论和实践的综合利用。
实验九汽车尾灯控制器设计与实现
2、掌握自顶向下设计方法。
3、掌握层次化设计混合编程方法。
二、实验内容
1、假设汽车尾部左右两侧各有3盏指示灯,其控制功能应包括:
(1)汽车正常行驶时指示灯都不亮。
(2)汽车右转弯时,右侧的一盏指示灯亮。
(3)汽车左转弯时,左侧的一盏指示灯亮。
(4)汽车刹车时,左右两侧的一盏指示灯同时亮。
(5)汽车在夜间行驶时,左右两侧的一盏指示灯同时一直亮,供照明使用。
2、根据系统设计要求,系统设计采用自顶向下的设计方法,顶层设计采用原理图设计方式,它由时钟分频模块、汽车尾灯主控模块、左边灯控制模块和右边灯控制模块四部分组成。
系统设计原理图如下图所示。
系统的输入信号包括:
系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT。
系统的输出信号包括:
汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3。
系统工作原理为:
当汽车正常行驶时所有指示灯都不亮;
当汽车向右转弯时,汽车右侧的指示灯RD1亮;
当汽车向左转弯时,汽车左侧的指示灯LD1亮;
当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;
当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。
请分析汽车尾灯控制器实现过程,编写程序代码,结合已设计底层文件实现顶层元器件(采用混合编程)设计,使之组成完整系统。
3、实验步骤
1、时序控制电路
源程序:
ARCHITECTUREARTOFSZIS
SIGNALCOUNT:
STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
PROCESS(CLK)
BEGIN
IFCLK'
EVENTANDCLK='
THEN
COUNT<
=COUNT+1;
ENDIF;
ENDPROCESS;
CP<
=COUNT(3);
ENDART;
对程序进行仿真,得到仿真波形图如下:
生成一个600ns的时钟脉冲,通过时钟分频把600ns的脉冲分成一个40ns的脉冲,实现了信号同步。
2、汽车尾灯主控模块
ARCHITECTUREARTOFCTRLIS
BEGIN
NIGHT_LED<
=NIGHT;
BRAKE_LED<
=BRAKE;
PROCESS(LEFT,RIGHT)
VARIABLETEMP:
STD_LOGIC_VECTOR(1DOWNTO0);
TEMP:
=LEFT&
RIGHT;
CASETEMPIS
WHEN"
00"
=>
LP<
='
0'
;
RP<
LR<
01"
10"
WHENOTHERS=>
ENDCASE;
对时序仿真图进行分析:
RIGHT,LEFT,NIGHT,BRAKE为输入信号,RIGHT为1表示右转,LEFT为1表示左转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。
RP,LP,NIGHT_LED,BRAKE_LED为输出信号。
如图所示:
当RIGHT为1时,产生一个RP为1的信号脉冲输出,当LEFT为1时,产生一个LP为1的信号脉冲输出,当NIGHT为1时,产生一个NIGHT_LED为1的信号脉冲输出。
当BRAKE为1时,产生一个BRAKE_LED为1的信号脉冲输出。
3、左边灯控制模块
ARCHITECTUREARTOFLCIS
LEDB<
LEDN<
PROCESS(CLK,LP,LR)
THEN
IF(LR='
)THEN
IF(LP='
LEDL<
ELSE
LEDL<
ENDPROCESS;
LP,LR,NIGHT,BRAKE为输入信号,LP为1表示左转,LR为1表示右转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。
LEDL,LEDB,LEDN为输出信号,表示汽车左侧的三盏灯。
当LP为1时,LEDL输出为1表示左侧灯亮,当BRAKE为1时,LEDB输出为1表示左侧灯亮,当NIGHT为1时,LEDN输出为1表示左侧灯亮。
当LR为1时,左侧三盏灯输出均为0。
即没有灯亮
4、右边灯控制模块
ARCHITECTUREARTOFRCIS
PROCESS(CLK,RP,LR)
IF(LR='
IF(RP='
LEDR<
='
四、实验设计及结果分析
通过本次实验,我们对EDA技术有了更深的了解,初步学会了的系统设计方法设计系统,并熟练掌握了利用VHDL语言进行简单的电路模块设计。
此外,我们还进一步熟悉了MAX+PLUSII这款软件的使用,深刻体会到了用软件实现硬件设计的便捷与优越。
本次课程设计不仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,分析问题和解决问题的能力。
它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。
实验十彩灯控制器设计与实现
2、掌握VHDL语言中状态机的设计与实现。
3、掌握层次化设计混合编程方法和元件例化语句的使用方法。
1、设计并实现一彩灯控制器,要有多种花型变化(至少设计4种);
多种花型可以自动变换,循环往复;
彩灯变换的快慢节拍可以选择;
彩灯控制器具有清零开关。
系统整体设计原理图如下图所示,编写SX、XS程序代码,分析彩灯控制器实现过程,结合现已设计底层文件实现顶层元器件(采用混合编程或VHDL文本编辑输入法)系统的设计,使之组成一个完整系统。
系统整体组装设计原理图
4、实验设计及步骤
1、实验的程序
(1)、时序控制:
useieee.std_logic_1164.all;
entitysxkzisport(chose_key:
clk_in:
clr:
clk:
endentitysxkz;
architectureartofsxkzis
signalcllk:
beginprocess(clk_in,clr,chose_key)is
variabletemp:
std_logic_vector(2downto0);
beginifclr='
then
cllk<
temp:
="
000"
elsifrising_edge(clk_in)then
ifchose_key='
iftemp="
011"
temp:
=notcllk;
else
=temp+'
endif;
elseiftemp="
111"
cllk<
else
endif;
endprocess;
clk<
=cllk;
endarchitectureart;
源程序截图:
进行程序调试和仿真,没有错误。
导入波形图:
进行仿真和调试:
仿真没有错误,导出波形图。
2、显示模块:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYXSKZISPORT(CLK:
INSTD_LOGIC;
CLR:
LED:
OUTSTD_LOGIC_VECTOR(15DOWNTO0));
ENDENTITYXSKZ;
ARCHITECTUREARTOFXSKZISTYPESTATEIS(S0,S1,S2,S3,S4,S5,S6);
SIGNALCURRENT_STATE:
STATE;
SIGNALFLOWER:
STD_LOGIC_VECTOR(15DOWNTO0);
BEGINPROCESS(CLR,CLK)ISCONSTANTF1:
STD_LOGIC_VECTOR(15DOWNTO0):
0001000100010001"
CONSTANTF2:
1010101010101010"
CONSTANTF3:
0011001100110011"
CONSTANTF4:
0100100100100100"
CONSTANTF5:
1001010010100101"
CONSTANTF6:
1101101101100110"
BEGINIFCLR='
THENCURRENT_STATE<
=S0;
ELSIFRISING_EDGE(CLK)
THENCASECURRENT_STATEISWHENS0=>
FLOWER<
ZZZZZZZZZZZZZZZZ"
CURRENT_STATE<
=S1;
WHENS1=>
=F1;
CURRENT_STATE<
=S2;
WHENS2=>
=F2;
=S3;
WHENS3=>
=F3;
=S4;
WHENS4=>
=F4;
=S5;
WHENS5=>
=F5;
=S6;
WHENS6=>
FLOWER<
=F6;
ENDCASE;
LED<
=FLOWER;
ENDARCHITECTUREART;
程序的截图:
程序主要是设计了6种花样,由程序可以看出,是五种不同的样式,分别是:
隔3个灯亮一个;
隔1个灯亮一个;
隔两个灯亮2个;
隔两个灯亮1个灯,隔一个灯亮两个。
再进行对程序的仿真,仿真没有错误。
仿真没有错误,导出了波形图。
3、电路系统部分
ENTITYCDKZQISPORT(CLK_IN:
CLR:
CHOSE_KEY:
LED:
ENDENTITYCDKZQ;
ARCHITECTUREARTOFCDKZQISCOMPONENTSXKZISPORT(CHOSE_KEY:
CLK_IN:
CLK:
OUTSTD_LOGIC);
ENDCOMPONENTSXKZ;
COMPONENTXSKZISPORT(CLK:
ENDCOMPONENTXSKZ;
SIGNALS1:
STD_LOGIC;
U1:
SXKZPORTMAP(CHOSE_KEY,CLK_IN,CLR,S1);
U2:
XSKZPORTMAP(S1,CLR,LED);
以下是程序的截图:
对程序进行仿真,仿真没有错误。
仿真没有错误,导出仿真波形。
4、实验结果及分析
这个实验是设计彩灯,可以设计多种不同的花样,对各种花样进行不同的控制,这个实验很有现实意义,对我们是一个理论与实践的结果。
这个实验在设计和制造的时候有很多的困难,但都得到了克服。