数字电路与逻辑实验指导书Quartus.docx

上传人:b****7 文档编号:9194385 上传时间:2023-02-03 格式:DOCX 页数:27 大小:299.36KB
下载 相关 举报
数字电路与逻辑实验指导书Quartus.docx_第1页
第1页 / 共27页
数字电路与逻辑实验指导书Quartus.docx_第2页
第2页 / 共27页
数字电路与逻辑实验指导书Quartus.docx_第3页
第3页 / 共27页
数字电路与逻辑实验指导书Quartus.docx_第4页
第4页 / 共27页
数字电路与逻辑实验指导书Quartus.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

数字电路与逻辑实验指导书Quartus.docx

《数字电路与逻辑实验指导书Quartus.docx》由会员分享,可在线阅读,更多相关《数字电路与逻辑实验指导书Quartus.docx(27页珍藏版)》请在冰豆网上搜索。

数字电路与逻辑实验指导书Quartus.docx

数字电路与逻辑实验指导书Quartus

 

数字电路及逻辑

实验指导书

 

计算机科学与技术学院

实验教学中心

 

 

第一章实验平台简介

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

1.2逻辑门

第二章QuartusII开发软件的使用

2.1基于QuartusII的设计输入

2.2基于QuartusII的平面编辑

2.3基于QuartusII的模拟仿真

2.4基于QuartusII的编程下载

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

3.0一位半加器设计

3.1译码器的设计

3.2数据比较器的设计

3.3同步计数器的设计

3.4分频(除频)器的设计

3.5移位寄存器的设计

3.6数字显示电路的设计

第一章实验平台简介

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)新建工程:

ProjectWizard。

在E盘创建工程。

(2)新建文件:

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

(3)电路输入:

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

(4)电路连接:

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

(5)管角命名:

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

(6)保存文件名:

As。

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

(7)编译工程:

Progressing>StartCompilation。

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

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

(1)新建工程:

ProjectWizard。

(2)新建文件:

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

编写Verilog程序。

(3)保存文件名:

As。

生成的文件扩展名为.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)创建波形文件:

>VectorWaveformFile。

(3)选择仿真节点:

View>NodeFinder。

添加波形文件的引脚。

(4)设置仿真时间:

Edit>Endtime:

1us

GridSize:

100us

(5)设置波形或数据:

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

(6)存储波形文件:

As。

(7)波形模拟仿真:

Progressing>StartSimulation。

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

2.4基于QuartusII的编程下载

(1)编程下载:

Tools>Programmer>Configure(hardtype:

ByteBlasterMV)。

(2)功能调试:

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

 

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

逻辑电路根据输出信号对输入信号响应的不同分为两类:

组合逻辑电路(简称组合电路)与时序逻辑电路(简称时序电路)。

在组合逻辑电路中,电路在任一时刻的输出信号仅仅决定于该时刻的输入信号,而与电路的原有的输出状态无关。

从电路的结构上看,组合逻辑电路的输出端和输入端之间没有反馈回路。

在时序逻辑电路中,任何时刻电路的输出不仅取决于该时刻的输入信号,也取决于电路过去的输入。

一般来说,它是由组合逻辑电路和存储电路两部分组成,并形成反馈回路。

3.0一位半加器的设计

3.0.1实验内容

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

3.0.2设计方法

1、利用真值表法,写出最简与或逻辑表达式

输入变量

ab

输出变量

sc

10

11

20

11

10

20

10

01

s=a’b+ab’=a⊕bc=ab

逻辑符号名:

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

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

3、平面编辑、编译及下载调试。

4、用VerilogHDL连续赋值语句assign描述。

modulefadd(a,b,s,c,ledcom);

inputa,b;

outputs,c,ledcom;

wirea,b,s,c;

assignledcom=1;

assigns=!

a&&b||a&&!

b;

assignc=a&&b;

endmodule

5、用VerilogHDL门原语设计上述逻辑功能(考核点)

设计发挥:

设计一位全加器(学生自选)

真值表如下:

ABCin

SumCout

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

 

3.1译码器的设计

3.1.1概念

译码器是一种多输出组合逻辑部件,它能将n个输入变量变换成2的n次方个输出函数,并且每个输出函数对应于n个输入变量的一个最小项。

3.1.2设计内容

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

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

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

3.1.3设计方法

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、用三目条件运算符描述

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

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

 

3.2数据比较器的设计

3.2.1概念

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

3.2.2内容

试设计一个两位数据比较器,当a1a0>b1b0时g=1,当a1a0

3.2.3设计方法

1、建立功能表,利用公式法或卡诺图法写出逻辑表达式。

比较输入

a1b1a0b0

比较输出

gse

a1>b1X

a1

a1=b1a0>b0

a1=b1a0

a1=b1a0=b0

100

010

100

010

001

注:

X表示任意值

g=a1b1’+(a1b1+a1’b1’)a0b0’=a1b1’+(a1☉b1)a0b0’

s=a1’b1+(a1b1+a1’b1’)a0’b0=a1’b1+(a1☉b1)a0’b0

e=(a1b1+a1’b1’)(a0b0+a0’b0’)=(a1☉b1)(a0☉b0)

符号名:

xnor---同或门;xor---异或门;and2---与门;or2---或门;not---非门。

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

3、平面编辑、编译、仿真及下载调试。

通过上面设计可以看出比较器电路是较复杂的,当两个数的位数越大电路就越发复杂。

因此用硬件描述语言设计比较器就越发显示出优势。

4、用VeriHDLif-else条件语句描述。

modulecomp(a,b,g,s,e,ledcom);

input[1:

0]a,b;

outputg,s,e;

outputledcom;

regg,s,e;

assignledcom=1;

always@(aorb)

begin

if(a>b)beging=1;s=0;e=0;end

elseif(a

elsebegine=1;g=0;s=0;end

end

endmodule

5、试用VerillogHDL三目条件运算符描述(考核点)

 

3.3同步计数器的设计

3.3.1概念

计数器的功能是记忆脉冲的个数,它所记忆脉冲的最大数目称为该计数器的模。

计数器可分为同步计数器(又称并行计数器)和异步计数器(又称串行计数器)。

构成计数器的核心元件是触发器。

同步计数器特点是各触发器的CP端连在一起,既受同一个脉冲信号控制。

3.3.2设计内容及方法

试设计一个三位二进制加1同步计数器(模=8),其步骤如下:

1、根据逻辑要求写出计数器的状态转移表

计数脉冲

cp

触发器现态

q2q1q0

触发器次态

q2+1q1+1q0+1

输出

z

000

001

0

001

010

0

010

011

0

011

100

0

100

101

0

101

110

0

110

111

0

111

000

1

2、根据状态转移表写出输出方程和激励方程

dz=q2q1q0;d2=∑m(3,4,5,6)=q2’q1q0+q2q1’+q2q0’;

d1=∑m(1,2,5,6)=q1⊕q0;d0=∑m(0,2,4,6)=q0’

3、在QUARTUSII图形编辑窗口,调出7474正边沿触发的双D触发器元件及所需的逻辑门,然后根据输出方程和激励方程连接电路,检查与编辑、平面配置、编辑、波形仿真或下载调试。

z(7)q2(8)q1(9)q0(10)reset(47)cp(48)ledcom(141)

5、VerlogHDL描述

(1)VerlogHDL描述

(2)

moduleconter3(cp,reset,q,z,ledcom);moduleconter3(cp,reset,q,z,ledcom);

inputcp,reset;inputcp,reset;

output[2:

0]q;output[2:

0]q;

outputz,ledcom;outputz,ledcom;

reg[2:

0]q;reg[2:

0]q;

regz;regz;

assignledcom=1;assignledcom=1;

always@(posedgecp)always@(posedgecpornegedgereset)

beginbegin

if(!

reset)if(!

reset)

beginq<=0;z<=0;endbeginq<=0;z<=0;end

elseelse

beginbegin

if(q!

=3'b111)if(q!

=3'b111)

beginq<=q+1;z<=0;endbeginq<=q+1;z<=0;end

elseelse

beginq<=0;z<=1;endbeginq<=0;z<=1;end

endend

endend

endmoduleendmodule

6、试用VerlogHDL语言设计四位可逆计数器,当load=1时将d0数据加载到可逆计数器;load=0时,控制信号as=01进行加1计数,当as=10进行减1计数,当as=00或11停止计数。

 

3.4分频器(除频器)的设计

在数字系统中,常需要各种不同的时钟频率,从HZ、KHZ到MHZ。

而各种频率的产生,

一般依赖主频率(例如石英振荡器产生的频率)分频得到。

分频器是计数器应用之一。

3.4.1实验内容

利用例化器件7474,试设计一个5分频器(对主频率除5)。

3.4.2设计方法

1、写出5分频器(对主频率除5)状态转移表

主频

clk

触发器现态

q2q1q0

触发器次态

q2+1q1+1q0+1

分频输出

f

000

001

1

001

010

1

010

011

0

011

100

0

100

000

0

2、根据状态转移表写出输出方程和激励方程并化简(包含无关项)

f=∑m(0,1)=q2’q1’

d2=∑m(3)+∑Φ(5,6,7)=q1q0

d1=∑m(1,2)+∑Φ(5,6,7)=q1’q0+q1q0’=(q1⊕q0)

d0=∑m(0,2)=q2’q0’

3、启动MAX+PLUS2设计软件,调出例化器件7474及所需逻辑门,根据输出方程和激励方程连接电路。

存储检查、编辑、波形仿真。

clk=1/T=1/0.0000002s=500khzf=clk/5=100khz

4、硬件语言描述

用VerlogHDL描述(占空比可设置的除5分频器)

modulediv5(clk,reset,f);

inputclk,reset;

outputf;

regq2,q1,q0,f;

always@(posedgeclk)

begin

if(!

reset)begin{q2,q1,q0}<=0;f<=0;end

elsebegin

case({q2,q1,q0})

0:

begin{q2,q1,q0}<=1;f<=1;end

1:

begin{q2,q1,q0}<=2;f<=1;end

2:

begin{q2,q1,q0}<=3;f<=0;end

3:

begin{q2,q1,q0}<=4;f<=0;end

4:

begin{q2,q1,q0}<=0;f<=0;end

default:

begin{q2,q1,q0}<=0;f<=0;end

endcase

end

end

endmodule

用VerlogHDL描述(2+2*N的分频器)

moduledivfx(clk,reset,fx,ledcom);

inputclk,reset;

outputfx,ledcom;

reg[24:

0]n;

regfx;

assignledcom=1;

always@(posedgeclk)

begin

if(!

reset)

beginn<=0;fx<=0;end

elseif(n==3)//(n==N)N为整数

beginfx<=!

fx;n<=0;end

else

beginn<=n+1;end

end

endmodule

5、试用VerlogHDL设计能对主频进行2、4、8、16分频的时序电路。

(考核点)

 

3.5移位寄存器

3.5.1概念

在时钟信号控制下,将所寄存的数据向左或向右移位的寄存器称为移位寄存器。

3.5.2设计内容

试设计一个四位同步并入串出的右移寄存器。

要求当加载控制信号load高电平时,在时钟作用下将输入四位二进制数据x3x2x1x0加载到移位寄存器q3q2q1q0中;当load低电平时,在时钟clk作用下将四位移位寄存器中的数据向右移位一位,既0q3q2q1q0so。

 

3.5.3设计

1、右移操作状态转移表

Q3Q2Q1Q0

Q3+1Q2+1Q1+1Q0+1

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

当前位置:首页 > 医药卫生 > 中医中药

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

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