数字电路与逻辑实验指导书Quartus文档格式.docx
- 文档编号:22330476
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:27
- 大小:299.36KB
数字电路与逻辑实验指导书Quartus文档格式.docx
《数字电路与逻辑实验指导书Quartus文档格式.docx》由会员分享,可在线阅读,更多相关《数字电路与逻辑实验指导书Quartus文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
Pin7
Pin8
Pin9
Pin10
Pin11
Pin12
Pin13
Pin14
L9
L10
L11
L12
LED_COM
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键盘
RK1
RK2
RK3
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.文本输入(文本方式)
VerilogHDLFilles,出现文本编辑窗口。
编写Verilog程序。
(3)保存文件名:
生成的文件扩展名为.v,并自动添加到工程。
(4)编译工程:
2.2基于QuartusII的平面编辑
(1)设备选择:
Assignments>
device…。
Devicefamily:
FLEX10K
Availabledevices:
EPF10K10TC144-4
(2)平面规划:
Pins。
出现图形界面,对管脚进行编辑,在Location中输入管脚分配号,同时可以在上面的芯片上看到引脚锁定。
(3)编译工程:
2.3基于QuartusII的模拟仿真
仿真可以分为功能仿真和时序仿真(***功能仿真需用工具生成功能仿真网表文件)。
功能仿真生成网表文件方法:
菜单\Processing\GenerateFunctionalSimulationNetlist。
仿真步骤如下:
(1)在工具栏中选择Settings>
SimulatorSettings>
Simulationmode,设置仿真方式为功能仿真或时序仿真。
(2)创建波形文件:
VectorWaveformFile。
(3)选择仿真节点:
View>
NodeFinder。
添加波形文件的引脚。
(4)设置仿真时间:
Edit>
Endtime:
1us
GridSize:
100us
(5)设置波形或数据:
利用窗口左侧图标进行设置。
(6)存储波形文件:
(7)波形模拟仿真:
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
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&
endmodule
5、用VerilogHDL门原语设计上述逻辑功能(考核点)
设计发挥:
设计一位全加器(学生自选)
真值表如下:
ABCin
SumCout
000
001
010
011
100
101
110
111
00
10
01
表达式如下:
S=A⊕B⊕Cin
Ci=(A⊕B)Cin+AB
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
XX
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图形输入法,画出逻辑电路
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=(!
assigny2=(!
assigny3=(!
endmodule
5、试用VerilogHDLcase语句描述上述逻辑功能(考核点)
3.2数据比较器的设计
3.2.1概念
在数字系统中,经常需要比较两个数的大小,用来完成两个数码比较的数字逻辑电路称为数据比较器。
3.2.2内容
试设计一个两位数据比较器,当a1a0>
b1b0时g=1,当a1a0<
b1b0时s=1,当a1a0=b1b0时e=1。
3.2.3设计方法
1、建立功能表,利用公式法或卡诺图法写出逻辑表达式。
比较输入
a1b1a0b0
比较输出
gse
a1>
b1X
a1<
a1=b1a0>
b0
a1=b1a0<
a1=b1a0=b0
注:
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;
always@(aorb)
begin
if(a>
b)beging=1;
s=0;
e=0;
end
elseif(a<
b)begins=1;
g=0;
elsebegine=1;
end
5、试用VerillogHDL三目条件运算符描述(考核点)
3.3同步计数器的设计
3.3.1概念
计数器的功能是记忆脉冲的个数,它所记忆脉冲的最大数目称为该计数器的模。
计数器可分为同步计数器(又称并行计数器)和异步计数器(又称串行计数器)。
构成计数器的核心元件是触发器。
同步计数器特点是各触发器的CP端连在一起,既受同一个脉冲信号控制。
3.3.2设计内容及方法
试设计一个三位二进制加1同步计数器(模=8),其步骤如下:
1、根据逻辑要求写出计数器的状态转移表
计数脉冲
cp
触发器现态
q2q1q0
触发器次态
q2+1q1+1q0+1
输出
z
000
001
010
011
011
100
101
110
111
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);
inputcp,reset;
inputcp,reset;
output[2:
0]q;
output[2:
outputz,ledcom;
outputz,ledcom;
reg[2:
reg[2:
regz;
regz;
assignledcom=1;
always@(posedgecp)always@(posedgecpornegedgereset)
beginbegin
if(!
reset)if(!
reset)
beginq<
=0;
z<
endbeginq<
end
elseelse
beginbegin
if(q!
=3'
b111)if(q!
b111)
beginq<
=q+1;
elseelse
z<
=1;
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
分频输出
f
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<
elsebegin
case({q2,q1,q0})
0:
begin{q2,q1,q0}<
=1;
1:
=2;
2:
=3;
3:
=4;
4:
default:
endcase
用VerlogHDL描述(2+2*N的分频器)
moduledivfx(clk,reset,fx,ledcom);
inputclk,reset;
outputfx,ledcom;
reg[24:
0]n;
regfx;
always@(posedgeclk)
if(!
reset)
beginn<
fx<
elseif(n==3)//(n==N)N为整数
beginfx<
=!
fx;
n<
else
=n+1;
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字电路 逻辑 实验 指导书 Quartus