可编程逻辑器件器件原理及应用实验实验指导书Word格式.docx
- 文档编号:22519500
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:31
- 大小:48.76KB
可编程逻辑器件器件原理及应用实验实验指导书Word格式.docx
《可编程逻辑器件器件原理及应用实验实验指导书Word格式.docx》由会员分享,可在线阅读,更多相关《可编程逻辑器件器件原理及应用实验实验指导书Word格式.docx(31页珍藏版)》请在冰豆网上搜索。
或点击下图1-3主菜单中的空白图标,进入新建文件状态。
1-2
1-3
3、选择GraphicEditorFile,单击ok按钮,打开原理图编辑器,进入原理图设计输入
电路编辑状态,如下图1-4所示:
1-4
4、设计的输入
1)放置一个器件在原理图上
a.在原理图的空白处双击鼠标左键,出现窗口如图2-2;
也可单击鼠标右键,出现窗口如图2-1,选择“Entersymbol..”,出现窗口如图2-2,进入器件选择输入窗口。
图2-1
2-2
b.在“symbolname”提示处(光标处)输入元件名称或用鼠标双击库文件(在提示窗”SymbolLibraries”里的各个文件),在提示窗“SymbolFiles”中双击元件或选中元件按下OK即可将该器件放置到原理图中。
c.如果安放相同元件,只要按住Ctrl键,同时用鼠标拖动该元件复制即可。
d.一个完整的电路包括:
输入端口INPUT、电路元器件集合、输出端口OUTPUT。
e.下图2-3为3-8译码器元件安放结果。
2-3
2)添加连线到器件的管脚上:
把鼠标移到元件引脚附近,则鼠标光标自动由箭头变为十字,按住鼠标右键拖动,即可画出连线。
3-8译码器原理图如图2-4所示。
2-4
3)标记输入/输出端口属性
分别双击输入端口的“PIN-NAME”,当变成黑色时,即可输入标记符并回车确认;
输出端口标记方法类似。
本译码器的三输入断分别标记为:
A、B、C;
其八输出端分别为:
D0、D1、D2、D3、D4、D5、D6、d7。
如下图2-5所示。
2-5
4)保存原理图
单击保存按钮图标,对于新建文件,出现类似文件管理器的图框,请选择保存路径、文件名称保存原理图,原理图的扩展名为.gdf,本实验中取名为test1.gdf。
4)点击File\Project\setprojecttocurrentfile设置此项目为当前文件,如下图2-6所示。
注意,此操作在你打开几个原有项目文件时尤为重要,否则容易出错。
2-6
此时在软件窗口的顶层有路径指示,见下图2-7
2-7
至此,你已完成了一个电路的原理图设计输入的整个过程。
(二)电路的编译与适配
1、选择芯片型号
选择当前项目文件欲设计实现的实际芯片进行编译适配,点击Assign\Device菜单选择芯片,如下图3-1对话窗所示。
如果此时不选择适配芯片的话,该软件将自动把所有适合本电路的芯片一一进行编译适配,这将耗费你许多时间。
该例程中我们选用CPLD芯片来实现,如用7000S系列的EPM7128SLC84-6芯片;
同样也可以用FPGA芯片来实现,你只需在下面的对话窗口中指出具体的芯片型号即可。
3-1
注意:
EPM7128SLC84-15和EPF10K1084-4不是快速芯片,要将提示窗“ShowOnlyFasterSpeedGrades”前面的“√”去掉。
2、编译适配
启动MAX+plusII\piler菜单,或点击主菜单下的快捷键,打开编译窗口。
按Start开始编译,并显示编译结果,生成下载文件。
如果编译时选择的芯片是CPLD,则生成*•pof文件;
如果是FPGA芯片的话,则生成*•sof文件,以备硬件下载编程时调用。
同时生成*•rpt报告文件,可详细查看编译结果。
如有错误待修改后再进行编译适配,如下图3-2所示。
注意,此时在主菜单栏里的Processing菜单下有许多编译时的选项,视实际情况选择设置。
3-2
如果说你设计的电路顺利地通过了编译,在电路不复杂的情况下,就可以对芯片进行编程下载,直到设计的硬件实现,至此你已经完成了一个EDA的设计与实现的整个过程。
如果你的电路有足够的复杂,那么其仿真就显得非常必要。
(三)电路仿真与时序分析
MaxplusII教学版软件支持电路的功能仿真(或称前仿真)和时序分析(或称后仿真)。
众所周知,开发人员在进行电路设计时,非常希望有比较先进的高效的仿真工具出现,这将为你的设计过程节约很多时间和成本。
由于EDA工具的出现,和它所提供的强大的(在线)仿真功能迅速地得到了电子工程设计人员的青睐,这也是当今EDA(CPLD/FPGA)技术非常火暴的原因之一。
下面就MaxplusII软件的仿真功能的基本应用在本实验中作一初步介绍,在以后的实验例程中将不在一一介绍。
首先我们介绍功能仿真,即前仿真。
(一)、编译选择
a.选择MAX+plusII\piler菜单,进入编译功能。
b.此时主菜单已改变如下图3-3。
点击主菜单“Processing”,“FunctionalSNFExtractor”,如下图3-3。
图3-3
c.此时编译窗口改变如下图3-4。
这时下一步做的仿真是功能仿真。
图3-4
二)添加仿真激励信号波形
1、启动MaxplusII\Wavefromeditor菜单,进入波形编辑窗口,如下图3-5所示。
3-5
2、将鼠标移至空白处并单击右键,出现如下图3-6所示对话窗口。
3-6
3、选择Enternodesfromsnf选项并按左键确认,出现下图3-7所示对话筐,单击和按钮,选择欲仿真的I/O管脚。
图3-7
4、单击OK按钮,列出仿真电路的输入、输出管脚图,如下图3-8所示。
在本
电路中,3-8译码器的输出为灰色,表示未仿真前其输出是未知的。
3-8
5、调整管脚顺序,符合常规习惯,调整时只需选中某一管脚(如)并按住鼠标左键拖止相应位置即可完成。
如图3-9所示。
3-9
6、准备为电路输入端口添加激励波形,如下图3-10所示。
选中欲添加信号的管脚,窗口左边的信号源即刻变成可操作状态,如箭头和圆括弧所示。
根据实际电路要求选择信号源种类,在本电路中我们选择时钟信号就可以满足仿真要求。
3-10
7、选择仿真时间:
视电路实际要求确定仿真时间长短,如下图3-9所示。
在当前主菜单“File”的下拉菜单中选中“EndTime”,出现如图3-11中箭头所指的窗口,在提示窗“Time”中输入仿真结束时间,即可修改仿真时间。
在本实验中,我们选择软件的默认时间1us就能观察到3-8译码器的8个输出状态。
3-11
8、为A、B、C三输入端口添加信号:
先选中A输入端“”,然后再点击窗口左侧的时钟信号源图标“”添加激励波形,出现下图3-12对话窗口。
3-12
9、在本例程中,我们选择初始电平为“0”,时钟周期倍数为“1”,(时钟周期倍数只能为1的整数倍)并按OK确认。
经上述操作我们已为A输入端添加完激励信号,点击全屏显示如下图3-13所示。
3-13
10、根据电路要求编辑另外两路输入端口的激励信号波形,在本实验中,3-8译码器的A、B、C三路信号的频率分别为1、2、4倍关系,其译码输出顺序就符合我们的观察习惯。
按上述方法为B、C两路端口添加波形后单击左边全屏显示图标“”,三路激励信号的编辑结果为下图3-14所示。
3-14
11、保存激励信号编辑结果:
使用File\Save或关闭当前波形编辑窗口时均出现下图3-15对话筐,注意此时的文件名称不要随意改动,单击OK按钮保存激励信号波形。
3-15
三)电路仿真
1、打开MaxplusII\Simulator菜单,或点击主菜单下的快捷键,弹出仿真对话窗口,如下图3-16所示。
3-16
2、确定仿真时间,EndTime为“1”的整数倍。
如果在添加激励信号的时未设置结束时间的话,此时在仿真窗口中就不能修改EndTime参数。
在该例程中,我们使用的是默认时间,单击Start开始仿真,如有出错报告,请查找原因,一般是激励信号添加有误。
本电路仿真结果报告中无错误、无警告,如下图3-17所示。
3-17
3、观察电路仿真结果,请单击激励输出波形文件图标,如下图3-18所示。
3-18
4、上图可见,我们所设计的3-8译码器顺利地通过了仿真,设计完全正确。
至此功能仿真结束。
下面我们介绍时序仿真。
(一)、选择编译
1.选择MAX+plusII\piler菜单,进入编译功能。
2.此时主菜单已改变如下图3-19。
点击主菜单“Processing”下拉菜单中“TimingSNFExtractor”,编译窗口便改变如下图3-19。
图3-19
编译完成后,下一步所做的仿真既是时序仿真。
(二)、时序仿真
1.打开MaxplusII\Simulator菜单,弹出其对话窗口,如下图3-20所示。
点击“Start”开始时序仿真。
图3-20
2.观察电路仿真结果,请单击激励输出波形文件图标,如下图3-21。
图3-21
仔细观查电路的时序,在空白出单击鼠标坐键,出现测量标尺,然后将标尺拖至欲测量的地方,查看延时情况从上图可以看到,我们这个电路在实际工作时,激励输出有15.2个ns的延迟时间。
至此,你以完成和掌握了电路的仿真功能。
在有的电路仿真时,可能需要修改仿真步长,在主菜单“Options”下拉菜单中选中“GridSize”,如下图3-22。
图3-22
出现如下图3-23窗口,在提示窗“GridSize”对应的光标行修改数据,然后点击“OK”确认。
图3-23
在时序仿真的过程中,也可能需要对激励波形反复做修改,如下图3-24,用鼠标点住某一处波形拖动,出现黑色的条,即被选中。
此时可通过选择主窗口左边的波形键选择高低电平,如图3-25。
图3-24
图3-25
当您想直接打开一个已经编辑好的文件时,可用主菜单“File”下拉菜单中的“Open”项,或使用主菜单下的快捷键如下图3-26。
图3-26
会出现以下“Open”窗口,如图3-27。
在“Drives”提示窗中可选择驱动器名称,在“Directories”提示窗中可选择文件路径,如图中,双击“”,可返回到目录下,打开它里面的所有文件。
双击,即可返回到D盘根目录下。
在提示窗“ShowinFilesList”中选择文件类型,如.gdf、.tdf、.vhd等,或可显示所有文件。
在提示窗“Files”中选择要打开的文件,该文件名称会出现在“FileName”提示窗中。
点击“OK”键确认,即可打开该文件。
当您打开一个现有的文件后,若要编译该文件,切记要指定路径和元器件。
指定路径可用前面讲过的方法,在主菜单“File”的下拉菜单“Project”中选择“SetProjecttoCurrentFile”。
也可采用如下方法,在主菜单“File”的下拉菜单“Project”中选择“Name”,或点击快捷键,出现如图3-28的窗口。
在此窗口中确定工程文件的路径和名称。
指定工程文件路径后,可在软件窗口的顶层有提示。
如图3-29。
图3-27
图3-28
图3-29
(四)、管脚的重新分配与定位:
启动MAX+plusII\FloorplanEditor菜单命令,(或按快捷图标)出现如图4-1所示的芯片管脚自动分配画面(读者可在芯片的空白处试着双击鼠标左键,你能发现这样操作可在芯片如图4-1和芯片内部之间如图4-2进行切换,可观察芯片内部的逻辑块等)。
4-1
FloorplanEditor显示的是该设计项目的管脚分配图。
这是由软件自动分配的。
用户可随意改变管脚分配,以方便与你的外设电路进行匹配。
管脚编辑过程如下:
1、按下窗口左边的手动分配图标,所有管脚将会出现在窗口,如下图4-3中箭头所示。
2、用鼠标按住某输入/输出端口,并拖到下面芯片的某一管脚上,松开鼠标左键,便可完成一个管脚的重新分配(读者可试着在管脚之间相互拖拽,你会觉得非常方便)。
芯片上有一些特定功能的管脚,如时钟端,清零端等,进行管脚编辑时一定要注意,一般管脚都放置在I/O口。
另外,在芯片器件选择中,如果选的是Auto,则不允许对管脚再进行手工分配。
当你对管脚进行二次调整以后,一定要再编译一次,否则程序下载以后,其管脚功能还是为当初的自动分配状态。
3、可选用自动分配方式,点击软件窗口左侧图标,管脚会自动分配到器件的各个管脚。
分配完成后请注意重新编译。
用自动分配后,如果要修改,则要手工分配,点手工分配,所有的管脚重新回到“UnassignedNodes&
”窗口中。
然后再一个一个的把管脚分配在器件上。
图4-2
4-3
(五)、器件的下载编程与硬件实现
一)实验箱电路板上的连线
用三位拨码开关提供三位译码器的输入信号,将A、B、C对应的管脚与三个拨码开关相连;
用LED灯来表示译码器的输出,将D0...d7对应的管脚分别与8只LED等相连。
ABCLED0LED1LED2LED3LED4LED5LED6LED7
000亮灭灭灭灭灭灭灭
100灭亮灭灭灭灭灭灭
010灭灭亮灭灭灭灭灭
110灭灭灭亮灭灭灭灭
001灭灭灭灭亮灭灭灭
101灭灭灭灭灭亮灭灭
011灭灭灭灭灭灭亮灭
111灭灭灭灭灭灭灭亮
二)器件的编程下载
1、启动MAX+plusII\Programmer菜单或点击快捷图标,如果是第一次启用的话,将出现如图5-1所示的对话框,请你填写硬件类型,在“HardwareType”提示窗中选择“byteblaster”,在“ParallelPort”提示窗出现“Lpt1:
0x378”,并按下OK确认即可。
如图5-2。
5-1
图5-2
2、选中主菜单下的JTAG\Multi-DeviceJTAGChain菜单项(第一次起用可能回出现问话筐,视实际情况回答确认)。
3、启动JTAG\Multi-DeviceJTAGChainSetup…菜单项,如图5-3所示。
5-3
4、点击“SelectProgrammingFile…”按钮,选择要下载的.Pof文件(CPLD器件的下载文件后缀是.Pof,FPGA器件的下载文件后缀是.sof)。
然后按Add加到文件列表中,如图5-3所示。
如果不是当前要下载编程的文件的话,请使用Delete将其删除。
5-4
5、选择完下载文件以后,单击OK确定,出现下图5-5的下载编程界面。
5-5
6、单击Program按钮,进行下载编程(如是FPGA芯片,请点击Configure),如不能正确下载,请点击如图5-4的Detectjtagchaininfo按钮进行JTAG测试,查找原因,直至完成下载,最后按OK退出。
至此,你已经完成了可编程器件的从设计到下载实现的整个过程。
7、结合电路功能,观察设计实现的正确结果。
通过对本实验的学习,相信读者对MaxplusII软件已经有了一定的认识,同样对CPLD/FPGA可编程器件的整个设计过程有了一个完整的概念和思路。
当然本书因篇幅和编者水平有限,其软件的其它应用不能一一在此介绍,有关内容请参考相关教材及书物。
附:
用硬件描述语言完成译码器的设计:
(1)、生成设计项目文件。
(2)、启动File\New菜单命令,如图1.10:
图1.10
(3)、选择TextEditorfile,点击OK;
(4)、键入程序如下:
SUBDESIGNtest1
(
a,b,c:
INPUT;
d0,d1,d2,d3,d4,d5,d6,d7:
OUTPUT;
)
BEGIN
CASE(c,b,a)IS
WHEN0=>
d[7..0]=1;
WHEN1=>
d[7..0]=2;
WHEN2=>
d[7..0]=4;
实验
成绩
项目及比例
实验操作(30%)
报告书写(70%)
得分
成绩合计
教师签字:
批改日期:
WHEN3=>
d[7..0]=8;
WHEN4=>
d[7..0]=16;
WHEN5=>
d[7..0]=32;
WHEN6=>
d[7..0]=64;
WHENOTHERS=>
d[7..0]=128;
ENDCASE;
END;
(4)、保存为.tdf文件,然后进行编译适配即可。
其它操作都与原理图设计输入相同。
实验二半加器
一、实验目的
1.设计并实验一个一位半加器
2.掌握CPLD/FPGA组合逻辑设计基本方法。
二、实验原理
计算机中数的操作都是以二进制进位的,最基本的运算就是加法运算。
按照进位是否加入,加法器分为半加器和全加器电路两种。
计算机中的异或指令的功能就是求两个操作数各位的半加和。
一位半加器有两个输入、输出,如图2-1。
图2-1一位半加器示意图
表2-1半加器真值表
输入
输出
Bi
Ai
Hi
Ci
1
一个半加大路的真值表如表2-1所示,根据真值表可得到半加器的函数表达式:
三、实验连线
半加器的两个输入所对应的管脚同两位拨码开关相连,两个输入管脚名为a、b;
两个输出所对应的管脚同两位发光二极管相连,两个输出管脚名为c0和s,其中c0表示进位,s表示相加结果。
四、实验记录
状态
正确输出
实验结果
2
3
4
五、实验注意事项
1.提前编辑实验程序。
2.根据教师要求正确操作,并检验逻辑的正确性
六、思考题
1.EDA半加器实现与数字电路设计方法的根本区别。
2.简述EDA设计半加器的不同方法,并比较其优缺点。
3.心得体会及其他。
实验三带进位输入的8位加法器
200年月日课次:
1.设计并实现一个8位全加器
2.掌握EDA中模块调用方法
利用实验二构建的半加器构建一位的全加器,然后设计一个8位的全加器,其框图如图4-1所示。
图中的“进位入”Ci-1指的是低位的进位输出,“进位出”Ci即是本位的进位输出。
图4-18位全加器原理图
全加器的17个输入所对应的管脚同17位拨码开关相连,17个输入管脚是a0~a7、b0~b7和cina0~a7、b0~b7代表两个8位二进制数,cin代表进位位;
9个输出所对应的管脚同9位发光二极管相连,9个输出管脚是sum0~sum7和cout,sum0~sum7代表相加结果,cout代表进位位。
Ci-1
Bi(7..0)
Ai(7..0)
Si(7..0)
00000000
00000001
……
11111110
11111111
五、实验结果分析与思考
1.半加器与全加器的区别。
2.实验设计程序
3实验结果总结
实验四数据比较器
设计性实验课时:
1.设计并实现一个4位二进制数据比较器
2.掌握数据比较器的构建及其方法
二进制比较器是提供关于两个二进制操作数间关系信息的逻辑电路。
两个操作数的比较结果有三种情况:
A等于B、A大于B和A小于B。
考虑当操作数A和B都是一位二进制数时,构造比较器的真值表见表9-1。
输出表达式如下:
AEQB=A’B’+AB=(AB)’
A>
B=AB’
A<
B=A’B
表9-1一位比较器的真值表
A
B
A=B
在一位比较器的基础上,我们可以继续得到两位比较器,然后通过“迭代设计”得到4位的数据比较器。
对于4位比较器的设计,我们可以通过原理图输入法或VHDL描述来完成,其中用VHDL语言描述是一种最为简单的方法。
下面是一个3位比较器的VHDL描述:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitypis
port(a,b:
instd_logic_vector(2downto0);
sel_f:
instd_logic_vector(1downto0);
q:
outBoolean);
end;
architectureaofpis
begin
process(sel_f,a,b)
casesel_fis
when”00”=>
q<
=a=b;
when”01”=>
=a<
b;
when”10”=>
=a>
whenothers=>
=false;
endcase;
endprocess;
enda;
实验源程序名是p.vhd。
三、实验连
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 逻辑 器件 原理 应用 实验 指导书