计算机逻辑基础实验指导.docx
《计算机逻辑基础实验指导.docx》由会员分享,可在线阅读,更多相关《计算机逻辑基础实验指导.docx(17页珍藏版)》请在冰豆网上搜索。
计算机逻辑基础实验指导
计算机逻辑基础实验指导
实验注意事项
1.根据教材和实验指导,先进行预习实验内容;
2.进入实验室,须遵守实验室的规章制度;
3.在实验室一定要注意用电安全,爱护实验设备;
4.每次进实验室,请自觉穿上鞋套;
5.实验完成后经老师验收方可离开;
6.离开时请带自己的所有物品(包括一些废弃物);
7.按时上交实验报告,实验报告用统一的实验报告纸或A4纸。
8.在安排的时间因事没有做的实验,不统一安排时间补做,自己
找合适的时间来补。
一、EDA2000实验系统简介
1.EDA2000实验系统简介
EDA2000设计实验系统是以ALTERAEPF10K20TC144-4芯片为核心设计出来的多功能逻辑电路设计实验系统。
本系统包括FPGA扩展板,I/O试验板,下载电缆,电源和仿真软件五个部分。
FPGA扩展板上有一片ALTERA10K系列的芯片,由于它是SRAM型的FPGA,理论上可以进行无限次数的重新配置。
在扩展板上,FPGA芯片的所有引脚都引出,便于测试和调试。
I/O试验板上有12种I/O元件,分别是
(1)四组交通LED灯;
(2)6个共阴极七段码LED;(3)一个蜂鸣器;(4)两组电子骰子;(5)一个时钟电路;(6)3组8位开关;(7)4个脉冲按钮;(8)一个4X3键盘;(9)一块8X8点阵的LED显示器;(10)一个液晶显示器;(11)A/D、D/A电路模块;(12)8051芯片。
I/O试验板几乎包含了所有数字电路中常用的I/O元件,提供了完整的教学实验环境。
电源的输入是AC90V~260V,50Hz~60Hz,输出是DC5V2A,并具有短路保护措施。
开发环境采用的是学生版的Max+plusIIBaseline10.0。
所有IO口均有LED灯指示目前的状态。
采用FLASH芯片(EPC2LC20)保存下载的程序,相对一次性配置芯片要省耗材,相对编程器写程序可以省设备,也比他们更方便。
高质量的接插件,8位带灯锁紧按钮,进口拨码开关等。
2.DA2000实验平台安装
EDA2000的安装相当简单,仅需:
将电源接到220V/50Hz的电源插座;
将下载电缆的一端接到PC机上并口,另外一端接到实验平台上。
至此,安装过程就完成了。
3.EDA2000实验平台模块原理图
这些原理图是完整原理图的简化,便于对系统的工作原理的理解。
图上指示了各个器件由FPGA相应管脚控制的说明,便于下载阶段的管脚配置。
每个图中的控制部分都是指ALTERAEPF10K20TC144-4FPGA芯片。
(1)交通灯模块原理图
交通灯的原理见图,共四组红黄绿LED指示灯。
所有的12个LED的阴极都连接在一起,并通过一个反相器连接到EPF10K20的141脚RG_EN。
当RG_EN为高电平时,这些LED的阳极如果为高电平的时候,相应的LED就被点亮。
当设计交通灯控制器时候,使这些东西和南北两组LED的红黄绿LED指示灯分别点亮,就可以模拟交通指示灯了。
(2)按键输入模块原理图
按键的原理见图,按键的输入有三种:
不能自锁的按键,自锁的按键和开关。
不能自锁的按键没有按下的时候为低电平,按下的时候为高电平,松开的时候按键自动回复为低电平,所以检测到高电平的时候表示有按键按下。
自锁的按键按下的时候输入为高电平,在弹起的时候输入为低电平。
开关在上面的时候,输入为高电平,开关在下面的时候低电平。
因此可以通过多种组合方式来设定输入。
(图中71引脚改为70引脚)
(3)数码管模块原理图
数码管的工作原理见图,六个七段数码管都是共阴极的,每个数码管的阴极依次接到通过DE1-DE3做为输入的138译码器的前6个输出,所以数码管采用动态扫描方式。
如当DE1-DE3为000的时候,最左边数码管的的阴极为低电平,当LED_A-LED_G为1111110的时候,最左侧数显示为0。
二、Max+plusIIBaseline10.0操作简介
1.建立新文件(两种方法)
(1)方法一:
a)在File下选New,如图2.3a;
b)在FileType下选GraphicEditorfile及OK,如图2.3b;
c)在File下选SaveAs…,如图2.3c;
d)并在FileName后填入文件名disbounce.gdf,如图2.3d。
(2)方法二:
a)MAX+PLUSII>GraphicEditor,打开图形编辑器,如图2.3e;
b)File>SaveAs…;
c)在FileName后输入文件名disbounce.gdf。
2.原理图输入
(1)输入基本元件及函数符号
当你在GraphicEditor视窗下没有元件的地方,双击鼠标,就会有如图的窗口出现,让您输入基本元件的名称。
输入基本元件
(2)移动、删除、复原与复制元件符号
移动:
以鼠标左键选中元件(该元件被红色框框住)并拖曳至适当的位置即可。
删除与复原:
选中元件后按Del键(或用鼠标左键点击剪刀图示即可删除该元件,若误删则可用Ctrl+Z键恢复刚刚误删的元件。
复制:
同时按住Alt键和Ctrl键不放,并以鼠标左键选中元件,拖曳元件至适当位置放开鼠标,即可复制该元件。
或在选中元件后以Ctrl+C复制,再移动鼠标至粘贴元件的地方点一下左键,Ctrl+V按键粘贴上所复制的元件。
(3)脚位连线
单一信号线,粗线代表信号总线。
(请注意左上角直角线钮是否选取)移动鼠标至连线起点(会出现十字形光标)按下鼠标左键,并拖曳至适当位置放开,就可画出线段。
依此方法,一直画线至连线终点便能完成脚位连线。
(4)输入与输出脚命名与连线命名
以鼠标左键选PIN_NAME即可更改输入或输出脚的名称,至于连线(Netlist)的命名,可以鼠标左键选中连线使其成为红色并有一小黑方块出现后,即可输入其名称。
一旦连线的名称已经完成,若须修改可用鼠标的左键选中该名称(出现红色框包住),再按下键盘上的左移键即可修改。
(5)储存并检查(SaveandCheck)基本错误
完成上述步骤后,即可File>Project>Save&Check(或以Ctrl+K键)指令
来储存并检查基本错误,检查后,可能会有错误信息产生。
它告诉你线路图的基本错误原因,你可以根据它去更正错误的地方,然后存盘并重新检查错误,直到没有错误消息产生才可进行下一步骤。
(6)建立一个缺省符号
当完成一个新电路或对旧电路的输入输出脚有所变动时(脚位的个数或其名
称变动),你都可用File>CreateDefaultSymbol指令重建新的电路方块符号(代表该电路图的符号),供上层电路编辑时调用。
File>EditSymbol命令可以进入符号编辑窗口进行符号的必要修改。
3.原理图的编译(FunctionalCompilation)
以MAX+PLUSII>Compiler指令调出编译器,按下Start健,编译结果若有错误,可按错误信息修改。
若无错误,则已经完成电路图的图形输入,此时可直接进入电路的功能仿真(FunctionalSimulation)。
3.电路图功能仿真
(1)建立新文件
用File>New指令建立新文件(New),并选择WaveformEditorFile(注
意文件扩展名为.SCF),从而启动波形编辑器(WaveformEditor)编辑波形文件。
此时可用File>SaveAs…指令将其保存为SCF文件。
也可以用另一种建立波形编辑文件的方法,即MAX+PLUSⅡ>WaveformEditor。
(2)输入脚、观测的内部节点及输入脚的选取
一种比较方便的输入脚、观测的内部节点及输入脚的选取是从SNF文件
(上一节所产生的文件)里取得这些接点,它在Node下选择EnterNodesfromSNF…即出现节点选择窗口。
注意:
一定要在执行File>SaveAs保存过文件后,Node>EnterNodesfromSNF才会有效。
用File>EndTime指令设定模拟波形的时间长短。
用Options>GridSize…指令设定格线间距的情况。
(3)输入脚的波形定义
在波形显示区内,经上述步骤后会有一些原始的波形资料。
这些资料往往没有什么意义。
因此,我们必须用以下的一些工具来定义输入脚的波形,以便往后的功能模拟。
首先需选取波形资料编辑区块,才能进行以下的操作:
复原(Undo):
可用Edit>Undo指令或Ctrl+Z键取消刚刚的操作。
剪下(Cut):
用Edit>Cut指令或Ctrl+X键剪下所选取的波形资料区块成未知状态。
拷贝(Copy):
用Edit>Copy指令或Ctrl+C键将所选取的波形资料区块拷贝一份。
粘贴(Paste):
用Edit>Paste指令或Ctrl+V键将所复制的波形资料粘贴一次。
删除(Delete):
用Edit>Delete指令或Del键将所选取的波形资料区块删除。
重叠覆盖(Overweite):
用Edit>Overwrite指令将所选取的波形资料区块重叠覆盖波形资料。
重叠覆盖有:
逻辑“1”信号、逻辑“0”信号、未知信号(x)、高阻抗信号(Z)、反相信号、时序(clock)信号、计数值、群值及状态名称覆盖等九种。
插入(Insert):
用Edit>Insert指令将所选取的波形资料区块或地方插入波形资料。
与格线对齐(AligntoGrid):
用Edit>AligntoGrid指令或Ctrl+Y键将所选取的波形资料与格线对齐。
重复复制(Repeat):
用Edit>Repeat…将所复制的波形资料重复复制。
横向伸展或缩小(GroworShrink):
用Edit>GroworShrink指令将所选取的资料区块横向伸展成较大区域或横向缩小成较小区域。
另外选取波形资料编辑区块也有三种形式:
一小段波形资料区块的选取:
用鼠标选择起点,然后将鼠标拖曳至某处放开即可。
一个节点的资料区块选取:
用鼠标选择起点,此时被选取部位反显。
多个节点的资料区块选取:
用鼠标选择起点,并拖曳至某处放开即可。
(4)功能编辑器进行功能模拟
当完成输入模拟波形的定义之后,就可用MAX+PLUSⅡ>Simulator指令
调出模拟器,此时,点击Start键即可启动Altera功能模拟(启动前注意模拟输入文件的文件名是否一致)。
(5)错误处理及检查模拟结果
模拟结果若有错误,请仔细阅读出错信息,并依该信息更正错误。
如果没有错误,可选取波形编辑窗口检查模拟后的输出波形是否符合功能要求。
如果不符合功能要求,请先关闭文件再返回第二节修改电路、编译电路后,再返回本节做功能模拟,一直到符合功能要求为止。
可以看到抖动信号已经去除了。
(6)关闭文件:
用File>Close指令即可关闭当前编辑的文件
5.平面配置
平面配置是指将你的电路下载到FPGA芯片之前的一些最后配置。
这包括芯片指定输入脚位及输出脚位的安排、电路的LAB(logicarrayblock)安排等等。
不过这些操作都要在你的电路通过功能模拟之后,才会去做配置安排。
对一个初学者来说,熟悉芯片指定、输入脚位及输出脚位的安排就够了。
不管怎么说,这些配置安排都是通过平面配置编辑器(FloorplanEditor)来完成。
要使用平面配置编辑器只要以MAX+PLUSⅡ>FloorplanEditor指令调用即可,其流程如下:
FPGA芯片的选定与自由编译;平面配置;平面配之后的设计编译。
(1)FPGA芯片的选定与自由编译
选FLEX10K系列中EPF10K20TC1444-4芯片(它是SRAM型144双接脚的芯片)。
选定芯片之后,就可以进行自由编译。
所谓自由编译是指没有太多限制的编译(仅选定所欲安装的芯片而已)。
由于我们的练习电路相当小,应可轻易通过各个编译程序。
选定主芯片后,我们还应该选取配置芯片,单击“DeviceOptions”按钮,在ConfigDevice的选择框中选择EPC2LC20,然后单击OK就选定了EPF10K20的配置芯片。
(2)平面配置
根据实验箱上提供的输入开关或输出灯设定的引脚号,在顶层原理图上,可以在相应的输入、输出引脚上直接标注该芯片对应的引脚。
也可以芯片视图(deviceview)上标注引脚名。
(3)平面配置后的设计编译
经平面配置器最新脚位设定后,请开启编译器窗口。
并点选Processing>TotalRecompile后,启动编译。
编译后若没有任何出错信息,你会得到一个.sof文件,要利用这个文件来配置EPF10K20TC144-4FPGA芯片。
若编译后有任何错误信息,请你重回步骤
(2)修改脚位后再编译,一直到没有错误为止。
6.编程下载验证
在MAX+PLUSII>Programmer启动配置窗口,
用JTAG>Multi-DeviceJTAGChainSetup指令启动多芯片JTAG链接
设定窗口,进入“多芯片JTAG链接设定”窗口之后,请按“DeviceName”框旁的按钮,并选取“EPF10K20”,然后按“SelectProgrammingFile(选取配置文件)”按钮,.sof”文件,并按下“Add”键,同样的操作选定.pof并按下“Add”键后,按下“OK”键离开“多芯片JTAG链接设定”窗口。
回到“设置程序”窗口,按下Configure键即可进行“下载配置”。
按下Program键,即可对板上的EPC2LC20进行编程,使系统断电之后还可以在重新上电时通过EPC2LC20对EPF10K20进行配置,保留上次实验时最后的编程结果。
三、实验内容安排
实验一译码器的设计及应用实验
1.实验目的:
学习译码器的设计方法及应用。
2.实验内容:
利用2-4译码器74139或3-8译码器74138或7448七段译码器及其它门电路设计一个电路:
(1)用2-4译码器74139构成3-8译码器;
(2)用2片3-8译码器74138构成4-16译码器;
(3)用1片七段译码器7448来驱动一个数码管显示“0-9”数字。
3.实验要求:
(1)根据教材及有关资料,复习有关译码器的内容,了解74139、74138、7448的功能;
(2)画出相关内容的电路图;
(3)做出相关电路的功能仿真;
(4)将相关电路下载到实验箱上验证。
4.实验步骤:
(1)按提供的实验指导上的第二部分内容即Max+plusIIBaseline10.0的操作方法,画出相关的电路的原理图;
(2)进行电路的功能仿真;
(3)进行编程下载;
(4)记录实验现象及结果;
(5)完成实验报告。
5.实验报告格式要求:
(1)用统一的实验报告纸写;
(2)按以下几方面来写:
A.实验目的
B.实验内容(所用器件的功能简述、要求完成的电路原理图、真值表等)
C.实验结果(功能仿真波形、实验现象记录等)
实验二加法器的设计及应用实验
1.实验目的:
学习加法器的设计及全加器的应用
2.实验内容:
利用全加器7483或74283及其它门电路设计一个电路:
(1)四位二进制加法或减法器;
(2)8421BCD码加法器;
(3)将8421码转换为余3码。
3.实验要求:
(1)根据教材及有关资料,复习有关全加器的内容,了解7483或74283的功能;
(2)画出相关内容的电路图;
(3)做出相关电路的功能仿真;
(4)将相关电路下载到实验箱上验证。
4.实验步骤:
(1)按提供的实验指导上的第二部分内容即Max+plusIIBaseline10.0的操作方法,画出相关的电路的原理图;
(2)进行电路的功能仿真;
(3)进行编程下载;
(4)记录实验现象及结果;
(5)完成实验报告。
5.实验报告格式要求:
(1)用统一的实验报告纸写;
(2)按以下几方面来写:
A.实验目的
B.实验内容(所用器件的功能简述、要求完成的电路原理图、真值表等)
C.实验结果(功能仿真波形、实验现象记录等)
实验三分频器的设计及应用实验
1.实验目的:
学习触发器的应用及分频器的设计方法。
2.实验内容:
利用触发器及其它门电路设计一个电路:
将10MHz的时钟信号分频为1Hz的信号。
(提示:
可以先用五个TFF或DFF触发器构成一个10分频的电路如图,然后用这个10分频器产生1MHz、100KHz、10KHz、1KHz、100Hz、10Hz、1Hz的信号。
)
3.实验要求:
(1)根据教材及有关资料,复习有关触发器的内容,了解分频器的设计方法;
(2)画出相关内容的电路图;
(3)做出相关电路的功能仿真(1MHz、100KHz、10KHz、1KHz、100Hz的波形);
(4)将相关电路下载到实验箱上验证(验证10HZ、1HZ)。
4.实验步骤:
(1)按提供的实验指导上的第二部分内容即Max+plusIIBaseline10.0的操作方法,画出相关的电路的原理图;
(2)进行电路的功能仿真;
(3)进行编程下载;
(4)记录实验现象及结果;
(5)完成实验报告。
5.实验报告格式要求:
(1)用统一的实验报告纸写或A4纸打印;
(2)按以下几方面来写:
A.实验目的
B.实验内容(所用器件的功能简述、要求完成的电路原理图、真值表等)
C.实验结果(功能仿真波形、实验现象记录等)
实验四计数器的设计及应用实验
1.实验目的:
学习计数器的设计方法及应用。
2.实验内容:
利用四位二进制计数器74161、74163或十进制计数器160设计一个电路:
(1)用四位二进制计数器74161或74163构成一个十进制计数器;
(2)用2片四位二进制计数器74161或74163构成一个“13转1”的计数器;
(3)用2片四位二进制计数器74161或74163构成一个五十五进制加法计数器。
(4)用2片十进制计数器构成模100的计数器。
3.实验要求:
(1)根据教材及有关资料,复习有关计数器的内容,了解74161、74163或74160的功能;
(2)画出相关内容的电路图;
(3)做出相关电路的功能仿真;
(4)将相关电路下载到实验箱上验证。
4.实验步骤:
(1)按提供的实验指导上的第二部分内容即Max+plusIIBaseline10.0的操作方法,画出相关的电路的原理图;
(2)进行电路的功能仿真;
(3)进行编程下载;
(4)记录实验现象及结果;
(5)完成实验报告。
5.实验报告格式要求:
(1)用统一的实验报告纸写;
(2)按以下几方面来写:
A.实验目的
B.实验内容(所用器件的功能简述、要求完成的电路原理图、真值表等)
C.实验结果(功能仿真波形、实验现象记录等)