数字系统设计 实验一报告计091班姚伟08093342.docx

上传人:b****4 文档编号:24865172 上传时间:2023-06-02 格式:DOCX 页数:20 大小:169.52KB
下载 相关 举报
数字系统设计 实验一报告计091班姚伟08093342.docx_第1页
第1页 / 共20页
数字系统设计 实验一报告计091班姚伟08093342.docx_第2页
第2页 / 共20页
数字系统设计 实验一报告计091班姚伟08093342.docx_第3页
第3页 / 共20页
数字系统设计 实验一报告计091班姚伟08093342.docx_第4页
第4页 / 共20页
数字系统设计 实验一报告计091班姚伟08093342.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

数字系统设计 实验一报告计091班姚伟08093342.docx

《数字系统设计 实验一报告计091班姚伟08093342.docx》由会员分享,可在线阅读,更多相关《数字系统设计 实验一报告计091班姚伟08093342.docx(20页珍藏版)》请在冰豆网上搜索。

数字系统设计 实验一报告计091班姚伟08093342.docx

数字系统设计实验一报告计091班姚伟08093342

 

数字系统设计基础实验报告

 

实验名称:

1.组合电路设计___

2.失序电路设计___

3.计数器的设计___

4.原理图设计加法器

学号:

___08093342______

姓名:

___姚伟_______

班级:

__计科09-1班_____

老师:

________

 

中国矿业大学计算机学院

2011年10月27日

实验一:

组合电路的设计

一.实验目的

熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、仿真和硬件测试。

二.实验任务

任务1:

利用QuartusⅡ完成2选1多路选择器的文本编辑输入和仿真测试等步骤,得出仿真波形。

最后在试验系统上进行硬件测试,验证本项设计的功能。

任务2:

将此多路选择器看成是一个元件mux21a,利用元件例化语句描述电路图,并将此文件放在同一目录中。

对于任务中的例子分别进行编译、综合、仿真,并对其仿真波形作出分析说明。

三.实验过程

1.新建一个文件夹,取名CNT10。

2.输入源程序。

3.文件存盘,文件名为cnt10,扩展名为.vhd。

4.创建工程,按照老师要求对软件进行设置。

5.进行失序仿真,得到仿真图形。

四.实验程序

任务1:

entityCNT10IS

port(a,b,s:

inbit;

y:

outbit);

endentityCNT10;

architectureoneofCNT10is

begin

process(a,b,s)

ifs='0'theny<=a;elsey<=b;

endif;

endprocess;

endarchitectureone;

任务2:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYMUXKIS

PORT(s0,s1:

inSTD_LOGIC;

a1,a2,a3:

inSTD_LOGIC;

outy:

outSTD_LOGIC);

ENDENTITYMUXK;

ARCHITECTUREdoubleOFMUXKIS

SIGNALtmpout,tmp:

STD_LOGIC;

BEGIN

u1:

PROCESS(s0,a2,a3,tmp)

BEGIN

IFs0='0'thentmp<=a2;

elsetmp<=a3;

ENDIF;

ENDPROCESSu1;

u2:

PROCESS(s1,a1,tmp,tmpout)

BEGIN

IFs1='0'thentmpout<=a1;

elsetmpout<=tmp;

ENDIF;

ENDPROCESSu2;

outy<=tmpout;

ENDARCHITECTUREdouble;

五.实验结果

任务1:

任务2:

六.实验体会

在课堂上对于“EDA与VHDL”这门课的用处及用法一直一知半解,课上对于一些编程也是学的很模糊,因为学习过模拟电路与数字电路,所以总认为器件仿真要用电脑模拟器件或者直接用实物,但是通过本次实验对QuartusⅡ的初步接触,了解了其功能的强大。

通过实验我初步掌握了软件的使用技巧,对下节课的实验打下了很好的基本功。

 

实验二:

时序电路设计

一.实验目的

熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序电路的设计、仿真和测试。

二.实验任务

任务1:

设计触发器,给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。

任务2:

设计锁存器,同样给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。

三.实验过程

a)新建一个文件夹,取名second。

b)输入源程序。

c)文件存盘,文件名为second,扩展名为.vhd。

d)创建工程,按照老师要求对软件进行设置。

e)进行失序仿真,得到仿真图形。

四.实验程序

任务1:

libraryieee;

useieee.std_logic_1164.all;

entitysecondis

port(clk,d:

instd_logic;

q:

outstd_logic);

end;

architecturebhvofsecondis

signalq1:

std_logic;

begin

process(clk,q1)

begin

ifclk'eventandclk='1'

thenq1<=d;

endif;

endprocess;

q<=q1;

endbhv;

任务2:

libraryieee;

useieee.std_logic_1164.all;

entitysuocunis

port(clk,d:

instd_logic;

q:

outstd_logic);

end;

architecturebhvofsuocunis

begin

process(clk,d)

begin

ifclk='1'

thenq<=d;

endif;

endprocess;

end;

五.实验结果

任务1:

任务2:

六.实验体会

本次实验虽然是参照书上的例子,但是由于书上只提供了结构体部分,所以实体部分需要自己来设计。

虽然难度不是很大,但是觉得自己的收获还是非常不小。

本次实验分别设计了锁存器和触发器,唯一的不足就是得到的波形图与书上稍微有些出入,由于自己弄的是时序仿真,所以会有很大的延时。

总之,这次实验的收获还是很大的。

 

实验三:

加法计数器的设计

一.实验目的

学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。

二.实验任务

任务1:

在QuartusⅡ上对加法计数器进行编辑、编译、综合、适配以及仿真。

说明例中各语句作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。

任务2:

引脚锁定以及硬件下载测试。

引脚锁定后进行编译、下载和硬件测试实验,将实验过程和实验结果写进实验报告。

三.实验过程

依据以前实验步骤,对加法器进行设计,得出时序仿真图。

四.实验程序

任务1:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityjiafais

port(clk,rst,en:

instd_logic;

cq:

outstd_logic_vector(3downto0);

cout:

outstd_logic);

endjiafa;

architecturebehavofjiafais

begin

process(clk,rst,en)

variablecqi:

std_logic_vector(3downto0);

begin

ifrst='1'thencqi:

=(others=>'0');

elsifclk'eventandclk='1'then

ifen='1'then

ifcqi<9thencqi:

=cqi+1;

elsecqi:

=(others=>'0');

endif;

endif;

endif;

ifcqi=9thencout<='1';

elsecout<='0';

endif;

cq<=cqi;

endprocess;

endbehav;

五.实验结果

任务1:

任务2:

六.实验体会

本次实验主要涉及到了硬件仿真的内容,但是实验完成的并不是很顺利,由于机箱的原因,自己并没有亲自进行操作,而是和别人共同完成。

即使如此,我也初步掌握了下载文件的操作,对机箱有了一些认识。

本次实验内容不多,但是涉及范围比较广,所以学到了很多知识点。

 

实验四:

原理图输入法设计全加器

一.实验目的

熟悉利用QuartusⅡ原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个八位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。

二.实验任务

任务1:

完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真和实验板上硬件测试,并将此全加器电路设置成一个硬件符号入库。

任务2:

建立一个高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。

三.实验过程

a)打开QuartusⅡ软件,选择File->New命令,并选择BlockDiagram/SchematicFile选项,打开原理图编辑窗口。

b)右击鼠标,选择Insert->Symbol命令,在窗口中点击“…”按钮找到基本单元库路径,然后选择原件,编辑原理图。

c)保存所创建的原理图,文件取名为banjia.bdf。

d)选择File->Create/Update->CreateSymbolFileforCurrentFile命令,将上述得到的文件变成一个元件符号存盘,留着设计全加器调用。

e)在打开一个原理图编辑窗口,调用半加器元件后对全加器进行设计,然后存盘,取名为quanjia.bdf。

f)然后按照以前的步骤创建名为quanjia的工程,并得到时序仿真波形。

g)全加器设计:

设计8位全加器即把一位全加器转变为一个元件符号存盘,然后按照一位全加器设计方法,利用8个一位全加器连接,构成一个8位全加器。

四.实验程序及原理图

任务1:

半加器程序:

LIBRARYieee;

USEieee.std_logic_1164.all;

LIBRARYwork;

ENTITYbanjiaIS

PORT

a:

INSTD_LOGIC;

b:

INSTD_LOGIC;

co:

OUTSTD_LOGIC;

so:

OUTSTD_LOGIC

);

ENDbanjia;

ARCHITECTUREbdf_typeOFbanjiaIS

SIGNALSYNTHESIZED_WIRE_0:

STD_LOGIC;

BEGIN

或门程序:

libraryieee;

useieee.std_logic_1164.all;

entityor2ais

port(a,b:

instd_logic;

c:

outstd_logic);

endentityor2a;

architectureoneofor2ais

begin

c<=aorb;

end;

全加器程序(例化):

--Copyright(C)1991-2009AlteraCorporation

--YouruseofAlteraCorporation'sdesigntools,logicfunctions

--andothersoftwareandtools,anditsAMPPpartnerlogic

--functions,andanyoutputfilesfromanyoftheforegoing

--(includingdeviceprogrammingorsimulationfiles),andany

--associateddocumentationorinformationareexpresslysubject

--tothetermsandconditionsoftheAlteraProgramLicense

--SubscriptionAgreement,AlteraMegaCoreFunctionLicense

--Agreement,orotherapplicablelicenseagreement,including,

--withoutlimitation,thatyouruseisforthesolepurposeof

--programminglogicdevicesmanufacturedbyAlteraandsoldby

--Alteraoritsauthorizeddistributors.Pleaserefertothe

--applicableagreementforfurtherdetails.

--PROGRAM"QuartusII"

--VERSION"Version9.0Build18404/29/2009ServicePack1SJFullVersion"

--CREATEDON"FriOct2815:

29:

122011"

LIBRARYieee;

USEieee.std_logic_1164.all;

LIBRARYwork;

ENTITYquanjiaIS

PORT

ain:

INSTD_LOGIC;

bin:

INSTD_LOGIC;

cin:

INSTD_LOGIC;

cout:

OUTSTD_LOGIC;

sum:

OUTSTD_LOGIC

);

ENDquanjia;

ARCHITECTUREbdf_typeOFquanjiaIS

COMPONENTbanjia

PORT(a:

INSTD_LOGIC;

b:

INSTD_LOGIC;

so:

OUTSTD_LOGIC;

co:

OUTSTD_LOGIC

);

ENDCOMPONENT;

SIGNALSYNTHESIZED_WIRE_0:

STD_LOGIC;

SIGNALSYNTHESIZED_WIRE_1:

STD_LOGIC;

SIGNALSYNTHESIZED_WIRE_2:

STD_LOGIC;

BEGIN

b2v_inst:

banjia

PORTMAP(a=>ain,

b=>bin,

so=>SYNTHESIZED_WIRE_2,

co=>SYNTHESIZED_WIRE_0);

b2v_inst1:

banjia

PORTMAP(a=>SYNTHESIZED_WIRE_0,

b=>cin,

so=>SYNTHESIZED_WIRE_1,

co=>sum);

cout<=SYNTHESIZED_WIRE_1ORSYNTHESIZED_WIRE_2;

ENDbdf_type;

半加器原理图:

元件符号存盘:

全加器原理图:

元件符号存盘:

8位全加器原理图:

五.实验结果

任务1:

任务2:

 

六.实验体会

本次实验内容比较多,也比较复杂,一开始并不是很清楚该怎么做,也犯过很多错误,最后经过多次问老师,在老师的指导下,明白了一些脉络。

由于对8位全加器的设计很陌生,所以在网上查了许多资料,通过一点一点学习,掌握了一些基本原理。

虽然这次实验用了很长时间,并且效果也并不怎么好,但是总体来说,收获还是很多的。

 

总体收获

通过以上四次实验,不但增强了我的动手能力,对EDA的编程熟练了许多,更主要的是建立了我对这门课程的兴趣,非常有助于我在今后对于专业课的强化学习。

感谢这次实验,真的让我收获很多,给了我自信。

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

当前位置:首页 > 经管营销 > 企业管理

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

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