数字逻辑实验指导书学生.docx

上传人:b****4 文档编号:5505390 上传时间:2023-05-08 格式:DOCX 页数:33 大小:424.65KB
下载 相关 举报
数字逻辑实验指导书学生.docx_第1页
第1页 / 共33页
数字逻辑实验指导书学生.docx_第2页
第2页 / 共33页
数字逻辑实验指导书学生.docx_第3页
第3页 / 共33页
数字逻辑实验指导书学生.docx_第4页
第4页 / 共33页
数字逻辑实验指导书学生.docx_第5页
第5页 / 共33页
数字逻辑实验指导书学生.docx_第6页
第6页 / 共33页
数字逻辑实验指导书学生.docx_第7页
第7页 / 共33页
数字逻辑实验指导书学生.docx_第8页
第8页 / 共33页
数字逻辑实验指导书学生.docx_第9页
第9页 / 共33页
数字逻辑实验指导书学生.docx_第10页
第10页 / 共33页
数字逻辑实验指导书学生.docx_第11页
第11页 / 共33页
数字逻辑实验指导书学生.docx_第12页
第12页 / 共33页
数字逻辑实验指导书学生.docx_第13页
第13页 / 共33页
数字逻辑实验指导书学生.docx_第14页
第14页 / 共33页
数字逻辑实验指导书学生.docx_第15页
第15页 / 共33页
数字逻辑实验指导书学生.docx_第16页
第16页 / 共33页
数字逻辑实验指导书学生.docx_第17页
第17页 / 共33页
数字逻辑实验指导书学生.docx_第18页
第18页 / 共33页
数字逻辑实验指导书学生.docx_第19页
第19页 / 共33页
数字逻辑实验指导书学生.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数字逻辑实验指导书学生.docx

《数字逻辑实验指导书学生.docx》由会员分享,可在线阅读,更多相关《数字逻辑实验指导书学生.docx(33页珍藏版)》请在冰点文库上搜索。

数字逻辑实验指导书学生.docx

数字逻辑实验指导书学生

 

 

数字电路及逻辑

实验指导书

 

计算机学院实验中心

 

第一章实验平台简介

1.1LP-2900逻辑设计实验平台

1.2逻辑门

第二章PLD开发软件QUARTUSII的使用指导

2.1基于QuartusII的设计输入

2.2基于QuartusII的平面编辑

2.3基于QuartusII的模拟仿真

2.4基于QuartusII的编程下载

2.5QuartusII具体操作示意图

第三章数字电路及逻辑实验

3.1一位半加器设计

3.2译码器的设计

3.3数据比较器的设计

3.4同步计数器的设计

3.5分频(除频)器的设计

3.6移位寄存器的设计

3.7数字显示电路的设计

 

第一章实验平台简介

1.1LP-2900逻辑设计实验平台

LP-2990逻辑设计实验平台由CPLD晶片板、I/O元件实验板、PC下载界面电路和电源四部分组成。

1.CPLD晶片板

在CPLD晶片板上,有一片Altera10K系列晶片,AlteraEPF10K10TC144-4CPLD,该晶片提供不断重新下载新电路的弹性与便利。

2.I/O元件实验板

在I/O元件实验板上,有12种I/O元件:

4组红绿黄LED;6个共阴极七段显示器;一个蜂鸣器;两个电子骰子;一个时序电路;3组8位开关;4个脉冲按键;一个4x3键盘;一块8x8点矩阵LED显示器;一个液晶显示器;A/D与D/A电路组件;8051单片机模组。

这些I/O元件,提供了调试逻辑电路必要的环境。

为了便于实验,给出LP-2900的部分I/O元件的脚位:

4组红绿黄LED

代号

L1

L2

L3

L4

L5

L6

L7

L8

装置

红LED

黄LED

绿LED

红LED

黄LED

绿LED

红LED

黄LED

脚位

Pin7

Pin8

Pin9

Pin10

Pin11

Pin12

Pin13

Pin14

代号

L9

L10

L11

L12

LED_COM

装置

绿LED

红LED

黄LED

绿LED

LED1---LED12的共阴点

脚位

Pin17

Pin18

Pin19

Pin20

Pin141

6个共阴极七段显示器

代号

a

b

c

d

e

f

g

dp

脚位

Pin23

Pin26

Pin27

Pin28

Pin29

Pin30

Pin31

Pin32

代号

DE1

DE2

DE3

脚位

Pin33

Pin36

Pin37

DE1、DE2、DE3为译码器(74LS138)的输入端,译码器(74LS138)输出端Y0---Y5为C1---C6,C1---C6分别为6个显示器阴极共点端。

4x3键盘

代号

DE1

DE2

DE3

RK1

RK2

RK3

脚位

Pin33

Pin36

Pin37

Pin42

Pin43

Pin44

RK1RK2RK3为键盘列输出。

DE1、DE2、DE3为译码器(74LS138)的输入端,译码器(74LS138)输出端Y0---Y3为C1---C4,C1---C4分别为键盘的扫描输出。

3组8位开关

代号

Sw1

Sw2

Sw3

Sw4

Sw5

Sw6

Sw7

Sw8

脚位

Pin47

Pin48

Pin49

Pin51

Pin59

Pin60

Pin62

Pin63

代号

Sw9

Sw10

Sw11

Sw12

Sw13

Sw14

Sw15

Sw16

脚位

Pin64

Pin65

Pin67

Pin68

Pin69

Pin70

Pin72

Pin73

代号

Sw17

Sw18

Sw19

Sw20

Sw21

Sw22

Sw23

Sw24

脚位

Pin78

Pin79

Pin80

Pin81

Pin82

Pin83

Pin86

Pin87

蜂鸣器

代号

Sp1

脚位

Pin46

时序电路

代号

SOC

脚位

Pin55(10MHZ)

3.PC下载界面电路

PC与LP2900的通信电路。

1.2逻辑门

为了便于在图形方式下选取逻辑器件和在文本方式下使用门原语设计逻辑电路,下面给出部分逻辑门符号以供使用。

(1)图形方式逻辑门名称

and2两输入端与门andii输入端与门

or2两输入端或门(i=28)

nand2两输入端与非门

nor2两输入端或非门

not非门

xor异或门

xnor同或门

tri三态门

(2)门原语设计使用逻辑符号

and与如:

一位半加器

nand与非modulefadd(s,c,a,b);//端口列表

or或inputa,b;//输入

nor或非outputs,c;//输出

not非xor(s,a,b);//s=a异或b

xor异或and(c,a,b);//c=a与b

xnor同或andmodule

 

第二章QuartusII使用

2.1基于QuartusII的设计输入

1.点击桌面图标QuartusII或开始菜单程序的Altera程序项。

2.电路输入(图形方式)

(1)新建工程:

File>NewProjectWizard。

在E盘创建工程。

(2)新建文件:

File>New>DesignFiles>BlockDiagram/schematic,出现图形编辑窗口。

(3)电路输入:

在图形编辑窗口点击鼠标右键>Insert>Symbol>输入电路符号。

(4)电路连接:

使用窗口左侧的绘图工具连接电路。

(5)管角命名:

鼠标移动到管角名称处>双击鼠标>输入管角名。

(6)保存文件名:

File>SaveAs。

生成的文件扩展名为.bdf,并自动添加到工程。

(7)编译工程:

Progressing>StartCompilation。

或者在工具栏中选项编译工具按钮。

3.文本输入(文本方式)

(1)新建工程:

File>NewProjectWizard。

(2)新建文件:

File>New>DesignFiles>VerilogHDLFilles,出现文本编辑窗口。

编写Verilog程序。

(3)保存文件名:

File>SaveAs。

生成的文件扩展名为.v,并自动添加到工程。

(4)编译工程:

Progressing>StartCompilation。

或者在工具栏中选项编译工具按钮。

2.2基于QuartusII的平面编辑

(1)设备选择:

Assignments>device…。

Devicefamily:

FLEX10K

Availabledevices:

EPF10K10TC144-4

(2)平面规划:

Assignments>Pins。

出现图形界面,对管脚进行编辑,在Location中输入管脚分配号,同时可以在上面的芯片上看到引脚锁定。

(3)编译工程:

Progressing>StartCompilation。

或者在工具栏中选项编译工具按钮。

2.3基于QuartusII的模拟仿真

仿真可以分为功能仿真和时序仿真(***功能仿真需用工具生成功能仿真网表文件)。

功能仿真生成网表文件方法:

菜单\Processing\GenerateFunctionalSimulationNetlist。

仿真步骤如下:

(1)在工具栏中选择Settings>SimulatorSettings>Simulationmode,设置仿真方式为功能仿真或时序仿真。

(2)创建波形文件:

File>New>VectorWaveformFile。

(3)选择仿真节点:

View>NodeFinder。

添加波形文件的引脚。

(4)设置仿真时间:

Edit>Endtime:

1us

GridSize:

100us

(5)设置波形或数据:

利用窗口左侧图标进行设置。

(6)存储波形文件:

File>SaveAs。

(7)波形模拟仿真:

Progressing>StartSimulation。

或点击工具栏中仿真图标。

2.4基于QuartusII的编程下载

(1)编程下载:

Tools>Programmer>Configure(hardtype:

ByteBlasterMV)。

(2)功能调试:

在LP-CPLD2900数字实验平台上验证电路功能。

2.5QuartusII具体操作示意图

在QuartusII中通过原理图的方法,使用与门和异或门实现半加器。

第1步:

打开QuartusII软件。

双击桌面

图标,运行QuartusII9.0软件。

第2步:

新建一个空项目。

选择菜单File->NewProjectWizard,进入新建项目向导。

如下图所示,填入项目的名称“hadder”,默认项目保存路径在Quartus安装下,也可修改为其他地址,视具体情况而定。

注意:

所有的名称和路径均不能包含空格和汉字。

第3步:

单击Next按钮,进入向导的下一页进行项目内文件的添加操作,如果没有文件需要添加进项目,则直接点击Next按钮既可。

第4步:

选择CPLD/FPGA器件,如下图所示,选择芯片系列为“FLEX10K”,型号为“EPF10K10TC144-4”。

第5步:

向导的后面几步不做更改,直接点击Next即可,最后点击Finish结束向导。

到此即完成了一个项目的新建工作。

第6步:

新建一个图形文件。

选择File->New命令,选择“Diagram/SchematicFile”,点击OK按钮完成。

将该图形文件另存为hadder.bdf。

图形编辑窗口如下图所示,窗口左边是图形编辑工具条。

第7步:

在图形编辑窗口的空白处双击,打开符号库窗口,如左下图所示。

展开符号库“c:

//.../libraries/”,可以看到有三个类别,分别是“megafunctions”——表示具有宏功能的符号,“others”——主要是一些常用的集成电路符号,“primitives”——主要是一些基本门电路符号、引脚和接地、电源符号等。

窗口中的“name”框可快速检索到需要的符号,例如当输入型号“7408”,符号库立刻找到相应集成电路的符号,如右下图所示。

第8步:

选择好需要的符号后,单击OK按钮,界面将回到原理图编辑界面,然后单击左键即在窗口内放置该符号。

再用同样的方法,在“name”框中输入“xor”即可找到异或门的符号;如下图所示。

第9步:

在图形编辑窗口中分别放置与门“7408”和异或门“xor”,如下图所示。

第10步:

再次打开符号,在“name”栏中输入“input”,符号库自动在库中找到输入“input”符号(如左下图所示),并选中“Repeat-insertmode”点击OK按钮,可反复在编辑窗口中放入输入符号,直单击右键取消放置为止。

由于输入信号一共有2个,所以需要放入2个输入符号,并将2个输入符号命名为a和b。

用同样的方法放置2个输出“output”符号,并分别命名为s、cout。

再选择工具栏中的

按钮,将各符号连接起来,结果如右下图所示。

第11步:

保存图形文件,进行语法检查和编译。

通过快捷按钮

,对上面的代码进行语法检查和综合,同时在信息(Messages)窗口中显示检查结果,如程序中有错误,也将指出错误的地方以便修正。

如果没有错误,则使用快捷按钮进行编译。

编译结束后会自动打开一个编译报告(CompilationReport)窗口,如图所示。

第12步:

仿真。

在开发板上实现该电路之前,可以先在Quartus软件中对电路进行功能仿真,以测试电路逻辑的正确性。

在仿真之前,先要建立一个矢量波形文件,包含输入信号的波形,并指定需要观察的输出信号。

执行File->New命令,选择“OtherFiles”选项页中VectorWaveformFile,并单击OK按钮,打开矢量波形编辑器窗口,如下图所示。

第13步:

另存矢量波形文件为hadder.vwf。

执行Edit->InsertNodeorBus命令,将需要仿真的输入和输出节点加入到波形中来。

其窗口如下图所示。

可以在Name框中直接输入节点的名称,也可点击NodeFinder按钮,打开节点搜索窗口,如下图所示。

在Filter下拉框中选择所要寻找的节点类型,这里选择“Pins:

all”,点击List按钮,在NodesFound框中列出所有的引脚。

第14步:

选择所有引脚,单击

按钮,将所有引脚添加到SelectedNodes框中,再按OK按钮返回波形编辑器窗口,如下图所示。

选择波形工具栏中的

按钮,在波形图上左击或右击分别进行波形的放大和缩小。

第15步:

编辑a和b的输入波形,再由仿真器输出y的波形。

首先选中需要编辑的波形区间,再选择波形工具栏中的

按钮,对选中区间进行置1或0。

最后的输入波形如下图所示,保存矢量波形文件。

第16步:

功能仿真。

选择Processing->SimulatorTool,窗口如下图所示。

选择仿真模式(Simulatormode)为“Functional”,并选择hadder.vwf文件作为仿真输入(Simulationinput)波形文件。

点击GenerateFunctionalSimulationNetlist按钮,生成仿真网表。

然后点击Start按钮,开始仿真。

在仿真完成后,点击Report按钮即可观看仿真的结果,如下图所示。

从波形可以看出,程序的逻辑功能与半加器相符。

第17步:

引脚分配。

通常,如果用户不对引脚进行分配,Quartus软件会自动随机为设计分配引脚,这一般无法满足需求。

在开发板上,FPGA与外部器件的连接是确定的,其连接关系可参看附录。

如果选择数码开关SW0和SW1分别代表输入信号a和b、LED15和LED16代表输出信号s和cout,则通过附录查表可知它们分别对应CPLD的引脚PIN_39、PIN_38、PIN_15和PIN_16。

选择Assignments->Pins命令,打开引脚规划器(PinPlanner),如下图所示。

接着双击信号a的Location栏,在下拉框中选择PIN_39,其他信号通过相同的办法进行分配。

第18步:

在仿真正确,并锁定自定引脚后,通过按钮

对项目再次编译。

第19步:

时序仿真。

时序仿真不仅可以仿真其逻辑功能是否正确,同时可以仿真出信号之间的时间延迟。

时序仿真又称后仿真,通常是在编译完成后进行。

再次选择Processing->SimulatorTool,并将仿真模式设为“Timing”,然后点击Start按钮。

最后点击Report按钮查看仿真结果,结果如下图。

与功能仿真结果图相比较,可以看出时序仿真的输出带有一定的延迟。

第20步:

程序下载。

1)用USB连接线连接DE2和电脑,选择Tools->Programmer命令,打开配置窗口,如下图所示。

2)图中第一列显示“NoHardware”,说明未指定硬件设备,单击HardwareSetup按钮,打开硬件设置窗口,如下图所示。

双击列表框中的USB-Blaster,然后点击Close按钮,完成硬件设置。

3)从下图可以看出,硬件已经设置完成,而且待配置的文件也已经在文件列表中。

然后选中Program/Config选项,单击Start按钮,开始编程。

编程结束后,即可在开发板上验证。

 

实验一一位二进制半加器的设计

一、实验目的

1、了解并掌握QuartusII软件的使用方法。

2、掌握使用基本门电路设计半加器并利用QuartusII软件仿真及下载。

二、实验内容

将两个一位二进制变量a、b相加,输出本位和s及进位c的逻辑电路。

三、设计方法

1、利用真值表法,写出最简与或逻辑表达式s=a’b+ab’=a⊕bc=ab

输入变量

ab

输出变量

sc

10

11

20

11

10

20

10

01

逻辑符号名:

xor---异或门;and2---两输入与门

2、根据最简逻辑表达式,实现逻辑电路

3、启动QUARTUSII设计软件,画图、检查、编辑及下载调试

详细操作见实验指导书对应章节。

4、利用VerilogHDL描述半加器

moduleFadd(a,b,s,c,ledcom);//端口变量声明

inputa,b;//端口I/O定义

outputs,c,ledcom;

wirea,b,s,c;

assignledccom=1;//变量赋植

assigns=!

a&&b||a&&!

b;

assignc=a&&b;

endmodule

三、设计部分(学生自己做)

用门电路实现两个二进数相加并求出和的组合线路——全加器。

以下是全加器的真值表:

ABCin

SCi

000

001

010

011

100

101

110

111

00

10

10

01

10

01

01

11

S=A⊕B⊕Cin

Ci=(A⊕B)Cin+AB

 

实验二译码器的设计

一、实验目的

1、掌握译码器的逻辑功能及应用;

2、学会利用VerilogHDL设计译码器。

二、实验原理

译码器是一个多输入、多输出的组合逻辑电路。

它的作用是把给定的代码进行“翻译”,变成相应的状态。

它能将n个输入变量变换成2的n次方个输出函数,并且每个输出函数对应于n个输入变量的一个最小项。

译码器在数字有广泛的用途,如代码变换、数据分配、存储器寻址、组合控制信号等。

三、实验设备

计算机,力浦LP-2900逻辑设计实验平台

四、实验内容

试设计一个具有使能端的2:

4译码器,要求使能输入端g=0时,允许对输入的二进制代码进行译码,对应的输出端输出0,其它输出端输出均为1。

当使能输入端g=1时,禁止对输入的二进制代码进行译码,译码器的输出y0、y1、y2、y3均为1。

1、利用图形方式设计译码器的逻辑电路图,先仿真观察波形图;然后进行平面编辑下载到实验台观察实验现象。

2、利用VerilogHDL编写程序设计译码器。

五、实验设计方法

1、建立真值表,利用公式法或卡诺图法写出最简与或许逻辑表达式

使能控制

G

输入端

A1A0

输出端

Y3Y2Y1Y0

1

0

0

0

0

XX

10

11

20

11

1111

1110

1101

1011

0111

y0’=g’a1’a0’;y1’=g’a1’a0;y2’=g’a1a0’;y3’=g’a1a0;

y0=(g’a1’a0’)’;y1=(g’a1’a0)’;y2=(g’a1a0’)’;y3=(g’a1a0)’;

逻辑符号名:

nand3---三输入与非门;not---非门。

2、根据最简逻辑表达式,用QUARTUSII图形输入法,画出逻辑电路

3、存储检查、仿真

4、存储检查、平面编辑及下载调试

5、用三目条件运算符描述

moduledecoder(g,a1,a0,y3,y2,y1,y0,ledcom);

inputa1,a0,g;

outputy3,y2,y1,y0;

outputledcom;

assignledcom=1;

assigny0=(!

g&&!

a1&&!

a0)?

0:

1;//信号=条件?

表达式1:

表达式2;

assigny1=(!

g&&!

a1&&a0)?

0:

1;

assigny2=(!

g&&a1&&!

a0)?

0:

1;

assigny3=(!

g&&a1&&a0)?

0:

1;

endmodule

六、发挥部分

试用VerilogHDLcase语句描述上述逻辑功能(考核点)

moduledecoder(g,a,y,ledcom);

inputg;

input[1:

0]a;

output[3:

0]y;

outputledcom;

reg[3:

0]y;

assignledcom=1;

always@(aorg)

begin

if(g)y=4’b1111;

elsecase(a)

2’b00:

y=4’b1110;

2’b01:

y=4’b1101;

2’b10:

y=4’b1011;

2’b11:

y=4’b0111;

endcase

end

endmodule

实验三数据比较器的设计

一、实验目的

1、掌握一位数据比较器与两位数据比较器的组合逻辑电路分析及应用

2、学会利用VerilogHDL设计数据比较器

二、实验原理

在数字系统中,经常需要比较两个数的大小,用来完成两个数码比较的数字逻辑电路称为数据比较器。

原理:

如果两位A1A0和B1B0的高位不相等,则高位比较结果就是两数比较结果,与低位无关。

这时,由于中间函数(A1=B1)=0,使与门G1、G2、G3均封锁,而或门都打开,低位比较结果不能影响或门,高位比较结果则从或门直接输出。

如果高位相等,即(A1=B1)=1,使与门G1、G2、G3均打开,同时由(A1>B1)=0和(A1

三、实验设备

计算机,力浦LP-2900逻辑设计实验平台

四、实验内容

1、设计一个一位数据比较器。

1位数值比较器是多位比较器的基础。

当A和B都是1位数时,它们只能取0或1两种值,由此可写出1位数值比较器的真值表,如表所示。

1位数值比较器的真值表

比较输入

比较输出

AB

gse

00

01

10

11

001

010

100

001

由真值表得到如下逻辑表达式:

FA>B=

FA<B=

FA<B=

2、利用一位比较器的结果,设计一个两位数据比较器,当a1a0>b1b0时g=1,当a1a0

建立真值表,利用公式法或卡诺图法写出逻辑表达式

比较输入

a1b1a0b0

比较输出

gse

a1>b1X

a1

a1=b1a0>b0

a1=b1a0

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2