cpld前5个实验.docx
- 文档编号:27902112
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:15
- 大小:78.05KB
cpld前5个实验.docx
《cpld前5个实验.docx》由会员分享,可在线阅读,更多相关《cpld前5个实验.docx(15页珍藏版)》请在冰豆网上搜索。
cpld前5个实验
实验一基本门电路的设计
[实验目的]
1.学习MAX+PLUSII软件的基本操作;
2.学习使用原理图、文本文件进行设计输入;
3.初步掌握器件设计、编译、仿真和编程的过程;
4.学习掌握教学实验板的使用方法;
4.学习掌握基本门电路的设计方法;
[实验说明]
基本门电路主要用来实现基本的输入/输出之间的逻辑关系,包括与门、或门、非门、与非门、或非门、异或门、同或门灯,下面为2输入端与非门的基本门电路的设计。
2输入端与非是组合逻辑电路中的基本逻辑器件,有2个输入端A、B和1个输出端Y。
其真值表如表所示。
2输入端与非门应具备的脚位:
输入端:
A、B;
输出端:
Y。
表12输入端与非门的真值表
输入端
输出端
A
B
Y
0
0
1
0
1
1
1
0
1
1
1
0
[实验要求]
1用原理图方法实现2输入与非门
2用VHDL语言实现2输入与非门
3设计仿真文件,进行软件验证
4通过下载线下载到实验板上进行验证
[实验报告要求]
1画出原理图
2写出VHDL编程语言源文件
3给出软件仿真和硬件测试结果
4通过下载线下载到实验板上进行验证
5写出学习总结
附:
1.原理图输入
与非门原理图输入法的操作步骤介绍如下。
(1)建立新文件:
选取窗口菜单File-New,出现对话框,选择GraphicEditorfile选项,单击OK按钮,进入图形编辑画面。
(2)保存:
选取窗口菜单File-Save,出现对话框,键入文件名nand2.gdf,单击OK按钮
(3)指定项目名称,要求与文件名相同:
选取窗口菜单File-Project-Name,键入文件名nand2,单击OK按钮。
(4)确定对象的输入位置:
在图形窗口内单击鼠标左键。
(5)引入逻辑门:
选取窗口菜单Symbol-EnterSymbol,在\Maxplus2\max2lib
\prim处双击,在SymbolFile菜单中选取NAND2逻辑门,单击OK按钮。
(6)引入输入和输出脚:
按步骤(5)选出2个输入端和1个输出脚。
(7)更改输入和输出脚的脚位名称:
在PIN_NAME处双击鼠标左键,进行
更名,输入脚位A、B,输出脚为Y。
(8)连接:
将A、B脚连接到与非门的输入端,Y脚连接到与非门的输出端,如图1所示。
图12输入与非门的原理图
(9)选择实际编程器件型号:
选取窗口菜单Assign-Device,出现对话框,选择MAX7000S系列的EPM7128SLC84-6。
(10)保存并查错:
选取窗口菜单File-Project-Save&Check,即可针对电路文件进行检查。
(11)修改错误:
针对Message-Compiler窗口所提供的信息修改电路设计,知道没有错误为止。
(12)保存并编译:
选取窗口菜单File-Project-Save&Compile,即可进行编译,产生nand2.pof烧写文件。
(13)创建电路符号:
选取菜单窗口File-CreateDefaultSymbol,可以产生nand2.sym文件,代表所设计的电路符号。
选取File-EditSymbol,进入SymbolEdit画面,2输入端与非门的电路符号如图2所示。
图22输入端与非门的电路符号
(14)创建电路包含文件:
选取菜单窗口File-CreateDefaultIncludeFile,产生用来代表目前所设计电路的nand2.inc文件,供其他VHDL编译时使用。
(15)时间分析:
选取窗口菜单Utilities-AnalyzeTiming,再选取窗口菜单Analysis-DelayMatrix,可以产生如图3所示的时间分析结果。
图32输入端与非门的时间分析
2.文本输入
(1)建立新文件:
选取窗口菜单File-New,出现对话框,选择TextEditorfile选项,单击OK按钮,进入文本编辑画面。
(2)保存:
选取窗口菜单File-Save,出现对话框,键入文件名nand2.vhd,单击OK按钮。
(3)指定项目名称,要求与文件名相同:
选取窗口菜单File-Project-Name,键入文件名nand2,单击OK按钮。
(4)选择实际编程器件型号:
选取窗口菜单Assign-Device,出现对话框,选择MAX7000S系列的EPM7128SLC84-6。
(5)输入VHDL源程序:
ENTITYnand2IS
PORT(A,B:
INBit;
Y:
OUTBit
);
ENDnand2;
ARCHITECTUREaOFnand2IS
BEGIN
Y<=not(AANDB);
ENDa;
(6)保存并查错:
选取窗口菜单File-Project-Save&Check,即可针对电路文件进行检查。
(7)修改错误:
针对Message-Compiler窗口所提供的信息修改电路设计,知道没有错误为止。
(8)保存并编译:
选取窗口菜单File-Project-Save&Compile,即可进行编译,产生nand2.pof烧写文件。
(9)创建电路符号:
选取菜单窗口File-CreateDefaultSymbol,可以产生nand2.sym文件,代表所设计的电路符号。
选取File-EditSymbol,进入SymbolEdit画面。
(10)创建电路包含文件:
选取菜单窗口File-CreateDefaultIncludeFile,产生用来代表目前所设计电路的nand2.inc文件,供其他VHDL编译时使用。
(11)时间分析:
选取窗口菜单Utilities-AnalyzeTiming,再选取窗口菜单
Analysis-DelayMatrix,可以产生如图所示的时间分析结果。
3.软件仿真
(1)进入波形编辑窗口:
选取窗口菜单MAX+plusII-WaveformEditor,进入波形编辑窗口。
(2)引入输入/输出脚:
选取窗口菜单Node-EnterNodesfromSNF,出现对话框,单击list按钮,选择AvailableNodes中的输入与输出,按“=>”键将A、B、Y移至右边,单击OK按钮进行波形编辑。
(3)设定时钟的周期:
选取窗口菜单Option-GrideSize,出现对话框,设定GrideSize为50ns,单击OK按钮。
(4)设定初始值并保存:
设定初始值,选取窗口菜单File-Save,出现对话框,单击OK按钮。
(5)仿真:
选取窗口菜单MAX+plusII-Simulator,出现TimingSimulation对话框,单击Start按钮,出现Simulator对话框,单击“确定”按钮,出现2输入端与非门的波形图,如图4所示。
图42输入端与非门的波形图
(6)观察输出结果的正确性:
单击
按钮,可以在时序图中写字,并验证仿真结果的正确性。
4.硬件仿真
1)下载实验验证
(1)选择器件:
打开MAX+plusII,选取窗口菜单Assign-Device,出现对话框,选择MAX7000S系列的EPM7128SLC84-6。
(2)锁定引脚:
选取窗口菜单Assign-Pin/Location/Chip,出现对话框,在NodeName中分别键入引脚名称A、B、Y,在Pin中键入引脚编号39、40、50,引脚39对应K1,引脚40对应K2,引脚50对应信号灯O1,锁定引脚的界面如图5所示。
图5锁定引脚
(3)编译:
选取窗口菜单File-Project-Save&Compile,即可进行编译,编译完成后的提示信息如图6所示。
图6编译完成后的提示信息
(4)烧写:
(a)启动pof2jed.exe程序,将编译后生成的pof文件转换成jed文件,如图7所示进行设置。
设置完毕,点击“Run”按钮。
图7pof文件转换成jed文件
(b)硬件连接:
插上电源,下载线一端连接计算机并口端,一端接硬件板上的JTAG端口。
为了进行绝缘,在板子下面垫上一张白纸。
电源插好以后,POWER灯(红灯)亮。
(c)启动AtmelISP.exe程序,将转换好的nand2.jed文件下载到实际硬件中去。
点击File-New,弹出的对话框“EnterNumberof:
1”,点击OK按钮。
在弹出的对话框中按如图8所示进行设置,在JTAG中选择“Program/Verify”,Device选择“ATF1508AS”,Jedec选择刚刚转换好的nand2.Jed,点击OK按钮。
在PORT中选择所连接的计算机并口号,在Cabletypes选择下载线的种类为ByteBlaster。
一切设置完毕后,点击Run按钮开始烧写,在烧写过程中,硬件板上的PROG灯(绿灯)会一直闪烁,烧写完毕后绿灯熄灭。
图8jed文件下载设置
2)实验结果
设定输入信号在键按下时为低电平,为“0”信号,否则为“1”信号,输出信号在O1灯亮时为低电平,代表“0”信号,在O1灯灭的为高电平,代表“1”信号。
按表2所示,按下K1、K2键,观察输出O1的结果。
表2与非门的实验结果
A(K1)
B(K2)
Y(O1)
按下
按下
灭
按下
不按
灭
不按
按下
灭
不按
不按
亮
3)实验解释
信号的输入键为K1、K2。
按下K1键,即把“0”信号输入到39引脚(A),否则表示输入信号“1”。
按下K2键,即把“0”信号输入到40引脚(B),否则表示输入信号“1”。
信号输出由信号灯O1来显示。
O1灯亮时表示输出信号为“0”,否则为信号“1”,以此表示50引脚(Y)的信号。
实验二三-八译码器的设计(原理图输入方式)
[实验目的]
1.学习设计一个3/8译码器,并在实验板上验证;
2.学习使用原理图方法进行逻辑设计输入;
3.学习设计仿真工具的使用方法;
[实验说明]
通过实验一的学习同学已基本掌握了软件设计、下载测试的过程,接下来我们将采用原理图设计方法实现3/8译码器的设计和下载验证。
真值表
A
B
C
ENA
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
X
X
X
0
1
1
1
1
1
1
1
1
该3/8译码器除了译码输入:
A、B、C以外,另加一个输入信号:
ENA;ENA输入信号正常时为高电平,当ENA为低电平时,无论A、B、C输入信号为何值,输出Y0…Y7均为高电平“1”。
电路逻辑功能实现后,可将该逻辑功能下载到CPLD中。
注意选择:
输入信号线4根(接拨码开关)、输出线8根(接发光二极管指示灯);测试时根据输入信号的变化观察输出信号的改变。
[实验要求]
1用原理图方法实现3/8译码器
2设计仿真文件,进行软件验证
3通过下载线下载到实验板上进行验证
[实验报告要求]
1画出原理图
2给出软件仿真和硬件测试结果
3通过下载线下载到实验板上进行验证
4写出学习总结
实验三BCD/七段显示译码器实验(原理图输入方式)
[实验目的]
1.学习设计一个BCD/七段显示译码器,并在实验板上验证;
2.掌握使用原理图方法进行逻辑设计输入;
3.掌握设计仿真工具的使用方法;
[实验说明]
真值表
输入
输出
D
C
B
A
ENA
g
f
e
d
c
b
a
显示
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
2
0
0
1
1
1
0
1
1
0
0
0
0
3
0
1
0
0
1
0
0
1
1
0
0
1
4
0
1
0
1
1
0
0
1
0
0
1
0
5
0
1
1
0
1
0
0
0
0
0
1
0
6
0
1
1
1
1
1
1
1
1
0
0
0
7
1
0
0
0
1
0
0
0
0
0
0
0
8
1
0
0
1
1
0
0
1
0
0
0
0
9
1
0
1
0
1
0
0
0
1
0
0
0
A
1
0
1
1
1
0
0
0
0
0
1
1
b
1
1
0
0
1
1
0
0
0
1
1
0
C
1
1
0
1
1
0
1
0
0
0
0
1
d
1
1
1
0
1
0
0
0
0
1
1
0
E
1
1
1
1
1
0
0
0
1
1
1
0
F
X
X
X
X
0
1
1
1
1
1
1
1
全灭
实现BCD/七段显示译码器的原理图设计。
7段显示译码器的输入为:
A,B,C,D、ENA共5根,信号ENA的功能与3/8译码器功能相同,7段译码器的逻辑表同学自行设计,要求实现功能为:
输入“0…15”(二进制),输出“0…9…F”(显示数码),输出结果应在数码管上显示出来。
提示:
在七段显示译码器实验时,可用拨码开关作为输入,一个数码管进行显示。
(同学也可自行选择输入/输出的验证方式,但要有文字说明。
[实验要求]
1用原理图方法实现七段显示译码器
2设计仿真文件,进行软件验证
3通过下载线下载到实验板上进行验证
[实验报告要求]
1画出原理图
2给出软件仿真和硬件测试结果
3通过下载线下载到实验板上进行验证
4写出学习总结
实验四三-八译码器的设计(文本输入方式)
[实验目的]
1.学习设计一个3/8译码器,并在实验板上验证;
2.学习使用VHDL语言进行逻辑设计输入;
3.学习设计仿真工具的使用方法;
[实验说明]
通过实验一的学习同学已基本掌握了软件设计、下载测试的过程,接下来我们将采用VHDL语言设计方法实现3/8译码器的设计和下载验证。
真值表
A
B
C
ENA
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
X
X
X
0
1
1
1
1
1
1
1
1
该3/8译码器除了译码输入:
A、B、C以外,另加一个输入信号:
ENA;ENA输入信号正常时为高电平,当ENA为低电平时,无论A、B、C输入信号为何值,输出Y0…Y7均为高电平“1”。
电路逻辑功能实现后,可将该逻辑功能下载到CPLD中。
注意选择:
输入信号线4根(接拨码开关)、输出线8根(接发光二极管指示灯);测试时根据输入信号的变化观察输出信号的改变。
[实验要求]
1用VHDL语言实现3/8译码器
2设计仿真文件,进行软件验证
3通过下载线下载到实验板上进行验证
[实验报告要求]
1写出VHDL编程语言源文件
2给出软件仿真和硬件测试结果
3通过下载线下载到实验板上进行验证
4写出学习总结
实验五BCD/七段显示译码器实验(文本输入方式)
[实验目的]
1.学习设计一个BCD/七段显示译码器,并在实验板上验证;
2.掌握使用VHDL语言进行逻辑设计输入;
3.掌握设计仿真工具的使用方法;
[实验说明]
真值表
输入
输出
D
C
B
A
ENA
g
f
e
d
c
b
a
显示
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
0
1
0
0
2
0
0
1
1
1
0
1
1
0
0
0
0
3
0
1
0
0
1
0
0
1
1
0
0
1
4
0
1
0
1
1
0
0
1
0
0
1
0
5
0
1
1
0
1
0
0
0
0
0
1
0
6
0
1
1
1
1
1
1
1
1
0
0
0
7
1
0
0
0
1
0
0
0
0
0
0
0
8
1
0
0
1
1
0
0
1
0
0
0
0
9
1
0
1
0
1
0
0
0
1
0
0
0
A
1
0
1
1
1
0
0
0
0
0
1
1
b
1
1
0
0
1
1
0
0
0
1
1
0
C
1
1
0
1
1
0
1
0
0
0
0
1
d
1
1
1
0
1
0
0
0
0
1
1
0
E
1
1
1
1
1
0
0
0
1
1
1
0
F
X
X
X
X
0
1
1
1
1
1
1
1
全灭
实现BCD/七段显示译码器的原理图设计。
7段显示译码器的输入为:
A,B,C,D、ENA共5根,信号ENA的功能与3/8译码器功能相同,7段译码器的逻辑表同学自行设计,要求实现功能为:
输入“0…15”(二进制),输出“0…9…F”(显示数码),输出结果应在数码管上显示出来。
提示:
在七段显示译码器实验时,可用拨码开关作为输入,一个数码管进行显示。
(同学也可自行选择输入/输出的验证方式,但要有文字说明。
[实验要求]
1用VHDL语言实现七段显示译码器
2设计仿真文件,进行软件验证
3通过下载线下载到实验板上进行验证
[实验报告要求]
1写出VHDL编程语言源文件
2给出软件仿真和硬件测试结果
3通过下载线下载到实验板上进行验证
4写出学习总结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- cpld 实验