EDA实验报告Word格式文档下载.docx
- 文档编号:16200067
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:34
- 大小:257.09KB
EDA实验报告Word格式文档下载.docx
《EDA实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《EDA实验报告Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。
1、系统时序仿真情况
六、实验心得
其实这个实验很简单,仅仅是让我们熟悉QuartusⅡ9.0软件的使用方法,在书本上的每个步骤都写的清清楚楚,我们组员按着书本上的步骤一步一步的做,实验做完后,我们那一大组很多小组依旧不停的请求老师指导,我们是最先做完实验的小组了。
之后我们被不同的小组询问。
其实只要看看书就可以很顺利做完实验,但是同学们做实验之前都没有好好做实验预习报告。
指导教师
成绩
实验二七人表决器的设计
1、初步了解VHDL语言;
2、学会用行为描述方式来设计电路。
1、用七个开关作为表决器的7个输入变量,输入变量为逻辑“1”时表示表决者“赞同”;
输入变量为“0”时,表示表决者“不赞同”。
输出逻辑“1”时,表示表决“通过”;
输出逻辑“0”时,表示表决“不通过”。
当表决器的七个输入变量中有4个以上(含4个)为“1”时,则表决器输出为“1”;
否则为“0”。
2、采用行为描述时,可用一变量来表示选举通过的总人数。
当选举人大于或等于4时为通过,输出灯亮,反之不通过时,灯不亮。
描述时,只须检查每一个输入的状态(通过为“1”不通过为“0”)并将这些状态值相加,判断状态值和即可选择输出。
1.编写上述电路的VHDL源程序,并进行编译。
2.锁定引脚,建议选择实验电路模式5。
3.编程下载与硬件验证。
1、VHDL程序
libraryieee;
useieee.std_logic_1164.all;
entitybiaoqueis
port(x0,x1,x2,x3,x4,x5,x6:
inbit;
y1:
outbit);
endentitybiaoque;
architectureoneofbiaoqueis
begin
process(x0,x1,x2,x3,x4,x5,x6)
variablea,b,c,d,e:
integer;
begin
a:
=0;
b:
c:
e:
if((x0orx1)='
0'
)thena:
elsif((x0andx1)='
1'
=2;
elsea:
=1;
endif;
if((x2orx3)='
)thenb:
elsif((x2andx3)='
elseb:
if((x4orx5)='
)thenc:
elsif((x4andx5)='
elsec:
ifx6='
thend:
elsed:
e:
=a+b+c+d;
ife>
=4theny1<
='
;
elsey1<
endprocess;
endarchitectureone;
2、系统时序仿真情况
3、引脚匹配
做这个实验之前做了预习报告,但是上实验室进行调试和老师的指导,才发现自己的之前的程序是行不通的,看到其他小组不同的程序,最后经过努力重新编写,最后成功完成实验。
条条道路通罗马,在学习的道路上不能去复制他人的东西,而要自己去思考,去创新!
努力让自己多学点东西。
经过努力完成的事情才会有成就感。
指导教师:
实验三显示电路设计
1、学习7段数码显示译码器设计;
2、学习VHDL的多层设计方法。
二、实验仪器设备
1、PC机一台2、GW48-PK2系列SOPC/EDA实验开发系统
三、实验原理
1、七段数码显示工作原理(共阴极接法)
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。
作为7段译码器,输出信号LED7S的7位分别接数码管的7个段,高位在左,低位在右。
例如当LED7S输出为“1101101”时,数码管的7个段:
g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;
接有高电平的段发亮,于是数码管显示“5”。
注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h。
2、显示代码概念显示代码
字型
abcdefg
1111110
0110000
2
1101101
3
1111001
4
0110011
5
1011011
6
1011111
7
1110000
8
1111111
9
1111011
四、实验内容
1、编写7段译码器VHDL源程序。
2、在QuartusⅡ软件上编译和仿真。
3、锁定管脚,建议选择实验电路模式6,显示译码输出用数码8显示译码输出(PIO46-PIO40),键8、键7、键6和键5四位控制输入。
4编程下载与硬件验证。
5、记录系统仿真和硬件验证结果。
五、实验结果:
1、VHDL源程序
port(x:
instd_logic_vector(3downto0);
led:
outstd_logic_vector(6downto0));
endentityxianshi;
architectureoneofxianshiis
signalled7:
std_logic_vector(6downto0);
process(x)
casexis
when"
0000"
=>
led<
="
1111110"
0001"
0110000"
0010"
1101101"
0011"
1111001"
0100"
0110011"
0101"
1011011"
0110"
1011111"
0111"
1110000"
1000"
1111111"
1001"
1111011"
whenothers=>
null;
endcase;
2、波形仿真图:
4、引脚锁定:
六、实验心得:
其实本实验的显示我们在模电里面就学习过了,也用集成块进行过实验,本实验用程序加硬件完成。
真所谓条条道路通罗马!
实验四四位全加器
通过实验让学生熟悉QuartusⅡ的VHDL文本设计流程全过程,掌握组合逻辑电路的文本输入设计法,通过对设计电路的仿真和硬件验证,让学生进一步了解加法器的功能。
1、PC机一台
2、GW48-PK2系列SOPC/EDA实验开发系统
C0C0
C2C0
C1C0
4位全加器可看作4个1位全加器串行构成,具体连接方法如下图所示:
图3-1由1位全加器构成4位全加器连接示意图
采用VHDL语言设计时调用其附带的程序包,其系统内部会自行生成此结构
4.编写1位全加器full_add1的VHDL源程序,并进行编译。
5.利用元件例化语句编写4位全加器full_adder4的VHDL源程序,并进行编译和仿真。
6.锁定引脚,建议选择实验电路模式1:
键1输入4位加数,键2输入4位被加数,键8输入Cin,数码管5显示相加和,D8显示进位CO。
7.编程下载与硬件验证。
五、设计提示
调用STD_LOGIC_UNSIGNED包。
先设计一个一位的全加器包括三个输入端:
a,b,cin(进位输入),两个输出端:
s(和),cout(进位输出)。
四位串行进位的全加器可以利用四个一位的全加器搭建而成,其结构如上图所示,其输入端口分别为a0,a1,a2,a3,b0,b1,b2,b3,cin输出端口分别为s0,s1,s2,s3,cout。
在实验中只需要先描述一位全加器,然后用component语句进行元件说明,再利用元件例化语句就可以实现四位的全加器。
六、实验验证:
1、实验程序:
一位全加器
entityfull_add1is
port(a,b,cin:
instd_logic;
s,count:
outstd_logic);
endentityfull_add1;
architectureoneoffull_add1is
begin
s<
=axorbxorcin;
count<
=(aandb)or(aandcin)or(bandcin);
四位全加器
entityfull_adder4is
port(A,B:
Cin:
S:
outstd_logic_vector(3downto0);
Co:
endentityfull_adder4;
architecturetwooffull_adder4is
componentfull_add1is
port(a,b,cin:
endcomponent;
signald,e,f:
std_logic;
u1:
full_add1portmap(a=>
A(0),b=>
B(0),cin=>
Cin,s=>
S(0),count=>
d);
u2:
A
(1),b=>
B
(1),cin=>
d,s=>
S
(1),count=>
e);
u3:
A
(2),b=>
B
(2),cin=>
e,s=>
S
(2),count=>
f);
u4:
A(3),b=>
B(3),cin=>
f,s=>
S(3),count=>
Co);
endarchitecturetwo;
2、波形图仿真:
七、实验心得:
真正意义上明白了例化语句的功能。
实验五序列检测器设计
实验室名称:
EDA技术学时数:
2节
注:
报告内容根据具体实验课程或实验项目的要求确定,一般包括实验目的、实验仪器、原理摘要、数据记录及结果分析等。
如纸张不够请自行加纸。
1、了解状态机的设计;
2、用状态机实现序列检测器的设计。
二、实验内容
1、预习序列检测器原理并写出预习报告;
2、设计一个8位检测序列信号“11100101”的序列检测器;
3、画出ASM图;
4、用VHDL语言编写出源程序;
5、在QuartusⅡ软件上编译和仿真,
6、锁定引脚。
建议选择电路模式8,用键7(PIO11)控制复位信号CLR;
键6(PIO9)控制状态机工作时钟CLK;
待检测串行序列数输入DIN接PIO10(左移,最高位在前);
指示输出AB接PIO39~PIO36(显示于数码管6)。
下载后:
①按实验板“系统复位”键;
②用键2和键1输入2位十六进制待测序列数“11100101”;
③按键7复位(平时数码6指示显“B”);
④按键6(CLK)8次,这时若串行输入的8位二进制序列码(显示于数码2/1和发光管D8~D0)与预置码“11100101”相同,则数码管6应从原来的B变成A,表示序列检测正确,否则仍为B。
7、编程下载与硬件验证。
三、实验条件
根据以上的实验内容写出实验报告,包括序列检测器原理的叙述,程序设计、软件编译、仿真分析、引脚锁定、硬件测试和详细实验过程,给出程序分析报告、仿真波形图及其分析报告。
、
1、VHDL源程序
entityxljcqis
port(din,clk,clr:
AB:
outstd_logic_vector(3downto0));
endxljcq;
architectureoneofxljcqis
typestatesis(s0,s1,s2,s3,s4,s5,s6,s7,s8);
signalst,nst:
states:
=s0;
com:
process(st,din)
casestis
whens0=>
ifdin='
thennst<
=s1;
elsenst<
whens1=>
=s2;
whens2=>
=s3;
whens3=>
=s4;
whens4=>
=s5;
whens5=>
=s6;
whens6=>
=s7;
whens7=>
=s8;
whens8=>
nst<
=s0;
reg:
process(clk,clr)
ifclr='
thenst<
elsifclk'
eventandclk='
=nst;
endprocessreg;
AB<
="
1010"
whenst=s8else"
1011"
endone;
2、管脚锁定
5、系统时序仿真情况
动手这次实验,使测试技术这门课的一些理论知识与实践相结合,更加深刻了我对测试技术这门课的认识,巩固了我的理论知识。
实验六分频器的设计
学习数控分频器的设计、分析和测试方法
1、预习数控分频器原理并写出预习报告;
2、设计一个数控分频器;
3、用VHDL语言编写出源程序;
4、在QuartusⅡ软件上编译和仿真;
5、锁定引脚和硬件验证。
建议选择电路模式1,键2/键1负责输入8位预置数D(PIO7-PIO0);
CLK由clock0输入,频率选65536Hz或更高(确保分频后落在音频范围);
输出FOUT接扬声器(SPKER)。
编译下载后进行硬件测试:
改变键2/键1的输入值,可听到不同音调的声音。
数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可。
1、系统的原理框图
2、VHDL源程序
useieee.std_logic_unsigned.all;
entityfenpinis
port(din:
instd_logic_vector(7downto0);
iclk:
instd_logic;
oclk:
bufferstd_logic);
endfenpin;
architecturefpoffenpinis
process(din,iclk)
variableq:
std_logic_vector(7downto0);
ificlk'
eventandiclk='
then
ifq<
dinthenq:
=q+1;
elseoclk<
=notoclk;
q:
=(others=>
'
);
endprocess;
endfp;
6、系统时序仿真情况
通过这次测试技术的实验,使我学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅.
实验七步进电机设计
学习用FPGA实现步进电机的驱动和细分控制
1、预习步进电机原理,详细看教材P390—P396.
2、设计一个步进电机控制器;
用VHDL语言编写出源程序;
在QuartusⅡ软件上编译和仿真锁定引脚、编程下载与硬件验证。
3、对步进电机控制器的原理进行叙述,程序设计、软件编译、仿真分析硬件测试。
4、锁定引脚和硬件验证。
建议选择电路模式5,CLK0接clock0,选择4Hz;
CLK5接clock5,选择32768Hz;
S接PIO6(键7),控制步进电机细分旋转(1/8细分,2.25度/步),或不细分旋转(18度/步);
U_D接PIO7(键8),控制旋转方向。
步进电机的四个相Ap、Bp、Cp、Dp(对应程序中的Y0、Y1、Y2、Y3)分别与PIO64,PIO65,PIO66,PIO67相接。
步进电机作为一种电脉冲——角位移的转换元件,由于具有价格低廉、易于控制、无积累误差和计算机接口方便等优点,在机械、仪表、工业控制等领域中获得了广泛的应用。
利用FPGA设计的数字比较器可以同步产生多路PWM电流波形,对多相步进电机进行灵活的控制。
通过改变控制波形表的数据、增加计数器的位数,可提高技术精度,从而可以对步进电机的步进转角进行任意细分,实现步进转角的精确控制。
用FPGA实现多路PWM控制,无须外接D/A转换器,使外围控制电路大大简化,控制方式简洁,控制精度高,控制效果好。
用单片机和DSP的控制都难以达到同样地控制效果。
LIBRARYieee;
USEieee.std_logic_1164.all;
LIBRARYwork;
ENTITYstep_aIS
PORT
(
clk0:
INSTD_LOGIC;
u_d:
clk5:
S:
Y:
OUTSTD_LOGIC_VECTOR(3DOWNTO0)
);
ENDstep_a;
ARCHITECTUREbdf_typeOFstep_aIS
ATTRIBUTEblack_box:
BOOLEAN;
nATTRIBUTEnoopt:
COMPONENTbusmux_0
PORT(sel:
dataa:
INSTD_LOGIC_VECTOR(3DOWNTO0);
datab:
result:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDCOMPONENT;
ATTRIBUTEblack_boxOFbusmux_0:
COMPONENTIStrue;
ATTRIBUTEnooptOFbusmux_0:
COMPONENTdec2
PORT(CLK:
A:
INSTD_LOGIC_VECTOR(1DOWNTO0);
D:
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 实验 报告