EDA实验报告Word格式文档下载.docx

上传人:b****6 文档编号:16200067 上传时间:2022-11-21 格式:DOCX 页数:34 大小:257.09KB
下载 相关 举报
EDA实验报告Word格式文档下载.docx_第1页
第1页 / 共34页
EDA实验报告Word格式文档下载.docx_第2页
第2页 / 共34页
EDA实验报告Word格式文档下载.docx_第3页
第3页 / 共34页
EDA实验报告Word格式文档下载.docx_第4页
第4页 / 共34页
EDA实验报告Word格式文档下载.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

EDA实验报告Word格式文档下载.docx

《EDA实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《EDA实验报告Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。

EDA实验报告Word格式文档下载.docx

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

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

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1