收藏 分销(赏)

可编程逻辑器件原理及应用实验实验指导书.doc

上传人:天**** 文档编号:3370951 上传时间:2024-07-03 格式:DOC 页数:62 大小:19.66MB 下载积分:14 金币
下载 相关 举报
可编程逻辑器件原理及应用实验实验指导书.doc_第1页
第1页 / 共62页
可编程逻辑器件原理及应用实验实验指导书.doc_第2页
第2页 / 共62页


点击查看更多>>
资源描述
辽东学院自编教材 《可编程逻辑器件原理及应用实验》指导书 李海成 编 (计算机科学与技术、电子信息工程专业用) 姓名: 学号: 班级: 信息技术学院 2023年6月 目 录 目 录 2 实验一 MAX+PLUS-II设计三八译码器 3 实验二 半加器 27 实验三 带进位输入的8位加法器 29 实验四 数据比较器 31 实验五 编码器 34 实验六 组合逻辑电路的设计 37 实验七 计数器 40 实验八 触发器功能的模拟实现 43 实验一 MAX+PLUS-II设计三八译码器 实验类型: 验证性 实验课时: 2 指导教师: 李海成 时 间:201 年 月 日 课 次:第 节 教学周次:第 周 实验分室: 实验台号: 实 验 员: 说明:本书将以实验一为例具体介绍altera公司max+plusII 10.0版本软件的基本应用,其它实验将不再赘述。读者在通过本实验后将对max+plusII软件及CPLD/FPGA的设计与应用有一个比较完整的概念和思绪。此书因篇幅有限,仅仅介绍了max+plusII软件的最基本、最常用的一些基本功能,相信读者在纯熟使用本软件以后,你定会发现该软件尚有好多非常方便、快捷、灵活的设计技巧与开发功能。由于编者能力有限,不详之处再所难免,我们希望得到你的指正与包含。 一、实验目的: 1、通过一个简朴的3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。 2、掌握组合逻辑电路的静态测试方法。 3、初步了解可编程器件设计的全过程。 二、 实验环节: MaxplusII软件的基本操作与应用 (一)设计输入: 1、软件的启动:进入Altera软件包,打开MAX+plus II 10.0软件,如图1-1所示。 图:1-1 2、 启动File \ New菜单,弹出设计输入选择窗口,如下图1-2所示。或点击下图1-3主菜单中的空白图标,进入新建文献状态。 图: 1-2 图:1-3 3、选择Graphic Editor File,单击ok按钮,打开原理图编辑器,进入原理图设计输入 电路编辑状态,如下图1-4所示: 图:1-4 4、设计的输入 1)放置一个器件在原理图上 a. 在原理图的空白处双击鼠标左键,出现窗口如图2-2;也可单击鼠标右键,出现窗口如图2-1,选择“Enter symbol..”,出现窗口如图2-2,进入器件选择输入窗口。 图2-1 图:2-2 b. 在“symbol name”提醒处(光标处)输入元件名称或用鼠标双击库文献(在提醒窗”Symbol Libraries”里的各个文献),在提醒窗“Symbol Files”中双击元件或选中元件按下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\set project to current file设立此项目为当前文献,如下图2-6所示。注意,此操作在你打开几个原有项目文献时尤为重要,否则容易犯错。 图:2-6 此时在软件窗口的顶层有途径指示,见下图2-7 图:2-7 至此,你已完毕了一个电路的原理图设计输入的整个过程。 (二) 电路的编译与适配 1、 选择芯片型号 选择当前项目文献欲设计实现的实际芯片进行编译适配,点击Assign\Device菜单选择芯片,如下图3-1对话窗所示。假如此时不选择适配芯片的话,该软件将自动把所有适合本电路的芯片一一进行编译适配,这将花费你许多时间。该例程中我们选用CPLD芯片来实现,如用7000S系列的EPM7128SLC84-6芯片;同样也可以用FPGA芯片来实现,你只需在下面的对话窗口中指出具体的芯片型号即可。 图:3-1 注意:EPM7128SLC84-15和EPF10K1084-4不是快速芯片,要将提醒窗“Show Only Faster Speed Grades”前面的“√”去掉。 2、编译适配 启动MAX+plus II \ Compiler菜单,或点击主菜单下的快捷键,打开编译窗口。按Start开始编译,并显示编译结果,生成下载文献。假如编译时选择的芯片是CPLD,则生成 * •pof文献;假如是FPGA芯片的话,则生成* •sof文献,以备硬件下载编程时调用。同时生成 * •rpt报告文献,可具体查看编译结果。如有错误待修改后再进行编译适配,如下图3-2所示。注意,此时在主菜单栏里的 Processing菜单下有许多编译时的选项,视实际情况选择设立。 图:3-2 假如说你设计的电路顺利地通过了编译,在电路不复杂的情况下,就可以对芯片进行编程下载,直到设计的硬件实现,至此你已经完毕了一个EDA的设计与实现的整个过程。假如你的电路有足够的复杂,那么其仿真就显得非常必要。  (三)电路仿真与时序分析 MaxplusII教学版软件支持电路的功能仿真(或称前仿真)和时序分析(或称后仿真)。众所周知,开发人员在进行电路设计时,非常希望有比较先进的高效的仿真工具出现,这将为你的设计过程节约很多时间和成本。由于EDA工具的出现,和它所提供的强大的(在线)仿真功能迅速地得到了电子工程设计人员的青睐,这也是当今EDA(CPLD/FPGA)技术非常火暴的因素之一。下面就MaxplusII软件的仿真功能的基本应用在本实验中作一初步介绍,在以后的实验例程中将不在一一介绍。 一方面我们介绍功能仿真,即前仿真。 (一)、编译选择 a. 选择 MAX+plus II \ Compiler菜单,进入编译功能。 b. 此时主菜单已改变如下图3-3。点击主菜单“Processing”,“Functional SNF Extractor”,如下图3-3。 图3-3 c.此时编译窗口改变如下图3-4。这时下一步做的仿真是功能仿真。 图3-4 二)添加仿真激励信号波形   1、启动MaxplusII\Wavefrom editor菜单,进入波形编辑窗口,如下图3-5所示。               图:3-5    2、将鼠标移至空白处并单击右键,出现如下图3-6所示对话窗口。           图:3-6 3、选择Enter nodes from snf选项并按左键确认,出现下图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”的下拉菜单中选中“End Time”,出现如图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、拟定仿真时间,End Time 为“1”的整数倍。注意:假如在添加激励信号的时未设立结束时间的话,此时在仿真窗口中就不能修改End Time参数。在该例程中,我们使用的是默认时间,单击Start开始仿真,如有犯错报告,请查找因素,一般是激励信号添加有误。本电路仿真结果报告中无错误、无警告,如下图3-17所示。               图:3-17         3、观测电路仿真结果,请单击激励输出波形文献图标,如下图3-18所示。 图:3-18 4、 上图可见,我们所设计的3-8译码器顺利地通过了仿真,设计完全对的。至此功能仿真结束。 下面我们介绍时序仿真。 (一)、选择编译 1.选择 MAX+plus II \ Compiler菜单,进入编译功能。 2. 此时主菜单已改变如下图3-19。点击主菜单“Processing”下拉菜单中“Timing SNF Extractor”,编译窗口便改变如下图3-19。 图3-19 编译完毕后,下一步所做的仿真既是时序仿真。 (二)、时序仿真 1.打开MaxplusII\Simulator菜单,弹出其对话窗口,如下图3-20所示。点击“Start”开始时序仿真。 图3-20 2.观测电路仿真结果,请单击激励输出波形文献图标,如下图3-21。 图3-21 仔细观查电路的时序,在空白出单击鼠标坐键,出现测量标尺,然后将标尺拖至欲测量的地方,查看延时情况从上图可以看到,我们这个电路在实际工作时,激励输出有15.2个ns的延迟时间。至此,你以完毕和掌握了电路的仿真功能。 在有的电路仿真时,也许需要修改仿真步长,在主菜单“Options”下拉菜单中选中“Grid Size”, 如下图3-22。 图3-22 出现如下图3-23窗口,在提醒窗“Grid Size”相应的光标行修改数据,然后点击“OK”确认。 图3-23 在时序仿真的过程中,也也许需要对激励波形反复做修改,如下图3-24,用鼠标点住某一处波形拖动,出现黑色的条,即被选中。此时可通过选择主窗口左边的波形键选择高低电平,如图3-25。 图3-24 图3-25 当您想直接打开一个已经编辑好的文献时,可用主菜单“File”下拉菜单中的“Open”项,或使用主菜单下的快捷键 如下图3-26。 图3-26 会出现以下“Open”窗口,如图3-27。在“Drives”提醒窗中可选择驱动器名称,在 “Directories” 提醒窗中可选择文献途径,如图中,双击“ ” ,可返回到 目录下,打开它里面的所有文献。双击 ,即可返回到D盘根目录下 。在提醒窗“Show in Files List”中选择文献类型,如.gdf、 .tdf、 .vhd等,或可显示所有文献。 在提醒窗“Files”中选择要打开的文献,该文献名称会出现在“File Name”提醒窗中。点击“OK”键确认,即可打开该文献。 当您打开一个现有的文献后,若要编译该文献,牢记要指定途径和元器件。 指定途径可用前面讲过的方法,在主菜单“File”的下拉菜单 “Project” 中选择“Set Project to Current File”。也可采用如下方法,在主菜单“File”的下拉菜单 “Project” 中选择“Name”,或点击快捷键,出现如图3-28的窗口。在此窗口中拟定工程文献的途径和名称。指定工程文献途径后,可在软件窗口的顶层有提醒。如图3-29。 图3-27 图3-28 图3-29 (四)、管脚的重新分派与定位: 启动MAX+plus II \ Floorplan Editor菜单命令,(或按快捷图标)出现如图4-1所示的芯片管脚自动分派画面(读者可在芯片的空白处试着双击鼠标左键,你能发现这样操作可在芯片如图4-1和芯片内部之间如图4-2进行切换,可观测芯片内部的逻辑块等)。 图:4-1 Floorplan Editor显示的是该设计项目的管脚分派图。这是由软件自动分派的。用户可随意改变管脚分派,以方便与你的外设电路进行匹配。管脚编辑过程如下: 1、 按下窗口左边的手动分派图标,所有管脚将会出现在窗口,如下图4-3中箭头所示。 2、 用鼠标按住某输入/输出端口,并拖到下面芯片的某一管脚上,松开鼠标左键,便可完毕一个管脚的重新分派(读者可试着在管脚之间互相拖拽,你会觉得非常方便)。注意:芯片上有一些特定功能的管脚,如时钟端,清零端等,进行管脚编辑时一定要注意,一般管脚都放置在I/O口。此外,在芯片器件选择中,假如选的是Auto,则不允许对管脚再进行手工分派。当你对管脚进行二次调整以后,一定要再编译一次,否则程序下载以后,其管脚功能还是为当初的自动分派状态。 3、 可选用自动分派方式,点击软件窗口左侧图标,管脚会自动分派到器件的各个管脚。分派完毕后请注意重新编译。用自动分派后,假如要修改,则要手工分派,点手工分派,所有的管脚重新回到“Unassigned Nodes &”窗口中。然后再一个一个的把管脚分派在器件上。 图4-2 图:4-3 (五)、器件的下载编程与硬件实现 一)实验箱电路板上的连线 用三位拨码开关提供三位译码器的输入信号,将A、B、C相应的管脚与三个拨码开关相连;用LED灯来表达译码器的输出,将D0...d7相应的管脚分别与8只LED等相连。 A B C LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7 0 0 0 亮 灭 灭 灭 灭 灭 灭 灭 1 0 0 灭 亮 灭 灭 灭 灭 灭 灭 0 1 0 灭 灭 亮 灭 灭 灭 灭 灭 1 1 0 灭 灭 灭 亮 灭 灭 灭 灭 0 0 1 灭 灭 灭 灭 亮 灭 灭 灭 1 0 1 灭 灭 灭 灭 灭 亮 灭 灭 0 1 1 灭 灭 灭 灭 灭 灭 亮 灭 1 1 1 灭 灭 灭 灭 灭 灭 灭 亮 二)器件的编程下载 1、 启动MAX+plus II \ Programmer菜单或点击快捷图标,假如是第一次启用的话,将出现如图5-1所示的对话框,请你填写硬件类型,在“Hardware Type”提醒窗中选择“byte blaster”,在“Parallel Port”提醒窗出现“Lpt1:0x378”,并按下OK确认即可。如图5-2。 图:5-1 图5-2 2、 选中主菜单下的JTAG \ Multi-Device JTAG Chain菜单项(第一次起用也许回出现问话筐,视实际情况回答确认)。 3、 启动JTAG \ Multi-Device JTAG Chain Setup…菜单项,如图5-3所示。 图:5-3 4、 点击“Select Programming File…”按钮,选择要下载的.Pof文献(CPLD器件的下载文献后缀是.Pof,FPGA器件的下载文献后缀是.sof)。然后按Add加到文献列表中,如图5-3所示。假如不是当前要下载编程的文献的话,请使用Delete将其删除。 图:5-4 5、 选择完下载文献以后,单击OK拟定,出现下图5-5的下载编程界面。 图:5-5 6、 单击Program按钮,进行下载编程(如是FPGA芯片,请点击Configure),如不能对的下载,请点击如图5-4的Detect jtag chain info按钮进行JTAG测试,查找因素,直至完毕下载,最后按OK退出。至此,你已经完毕了可编程器件的从设计到下载实现的整个过程。 7、 结合电路功能,观测设计实现的对的结果。 说明:通过对本实验的学习,相信读者对MaxplusII软件已有了一定的结识,同样对CPLD/FPGA可编程器件的整个设计过程有了一个完整的概念和思绪。当然本书因篇幅和编者水平有限,其软件的其它应用不能一一在此介绍,有关内容请参考相关教材及书物。 附: 用硬件描述语言完毕译码器的设计: (1)、生成设计项目文献。 (2)、启动File \ New菜单命令,如图1.10: 图1.10 (3)、选择Text Editor file,点击OK; (4)、键入程序如下: SUBDESIGN test1 ( a,b,c:INPUT; d0,d1,d2,d3,d4,d5,d6,d7: OUTPUT; ) BEGIN CASE (c,b,a) IS WHEN 0 => d[7..0]=1; WHEN 1 => d[7..0]=2; WHEN 2 => d[7..0]=4; 实验 成绩 项目及比例 实验操作(30%) 报告书写(70%) 得分 成绩合计 教师签字: 批改日期: WHEN 3 => d[7..0]=8; WHEN 4 => d[7..0]=16; WHEN 5 => d[7..0]=32; WHEN 6 => d[7..0]=64; WHEN OTHERS => d[7..0]=128; END CASE; END; (4)、保存为 .tdf 文献,然后进行编译适配即可。 其它操作都与原理图设计输入相同。 实验二 半加器 实验类型: 验证性 实验课时: 2 指导教师: 李海成 时 间:201 年 月 日 课 次:第 节 教学周次:第 周 实验分室: 实验台号: 实 验 员: 一、 实验目的 1.设计并实验一个一位半加器 2.掌握CPLD/FPGA组合逻辑设计基本方法。 二、 实验原理 半加器 (被加数)Ai (被加数)Bi (半加和)Hi (本位进位)Ci 计算机中数的操作都是以二进制进位的,最基本的运算就是加法运算。按照进位是否加入,加法器分为半加器和全加器电路两种。计算机中的异或指令的功能就是求两个操作数各位的半加和。一位半加器有两个输入、输出,如图2-1。 图2-1 一位半加器示意图 表2-1 半加器真值表 输入 输出 Bi Ai Hi Ci 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 一个半加大路的真值表如表2-1所示,根据真值表可得到半加器的函数表达式: 三、 实验连线 半加器的两个输入所相应的管脚同两位拨码开关相连,两个输入管脚名为a、b;两个输出所相应的管脚同两位发光二极管相连,两个输出管脚名为 c0和s,其中c0表达进位, s表达相加结果。 四、 实验记录 状态 输入 对的输出 实验结果 Bi Ai Hi Ci Hi Ci 1 0 0 0 0 2 0 1 1 0 3 1 0 1 0 4 1 1 0 1 五、实验注意事项 1. 提前编辑实验程序。 2. 根据教师规定对的操作,并检查逻辑的对的性 六、思考题 1.EDA半加器实现与数字电路设计方法的主线区别。 2.简述EDA设计半加器的不同方法,并比较其优缺陷。 3.心得体会及其他。 实验 成绩 项目及比例 实验操作(30%) 报告书写(70%) 得分 成绩合计 教师签字: 批改日期: 实验三 带进位输入的8位加法器 实验类型: 验证性 实验课时: 2 指导教师: 时 间:200 年 月 日 课 次:第 节 教学周次:第 周 实验分室: 实验台号: 实 验 员: 一、 实验目的 1. 设计并实现一个8位全加器 2. 掌握EDA中模块调用方法 二、 实验原理 运用实验二构建的半加器构建一位的全加器,然后设计一个8 位的全加器,其框图如图4-1所示。图中的“进位入”Ci-1指的是低位的进位输出,“进位出”Ci即是本位的进位输出。 (被加数)Bi(7..0) 全加器 (被加数)Ai(7..0) (进位入)Ci-1 (全加和)Si(7..0) (进位出)Ci 图 4-1 8位全加器原理图 0 三、 实验连线 全加器的17个输入所相应的管脚同17位拨码开关相连,17个输入管脚是a0~a7、b0~b7和cin a0~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) Ci 0 00000000 00000000 0 00000001 …… 00000000 …… 0 11111110 11111110 0 11111111 11111111 1 00000000 00000000 1 00000001 …… 00000000 …… 1 11111110 00000000 1 11111111 00000000 五、 实验结果分析与思考 1.半加器与全加器的区别。 2.实验设计程序 3实验结果总结 实验 成绩 项目及比例 实验操作(30%) 报告书写(70%) 得分 成绩合计 教师签字: 批改日期: 实验四 数据比较器 实验类型: 设计性 实验课时: 2 指导教师: 李海成 时 间:201 年 月 日 课 次:第 节 教学周次:第 周 实验分室: 实验台号: 实 验 员: 一、 实验目的 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 A>B A<B 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 在一位比较器的基础上,我们可以继续得到两位比较器,然后通过“迭代设计”得到4位的数据比较器。对于4位比较器的设计,我们可以通过原理图输入法或VHDL描述来完毕,其中用VHDL语言描述是一种最为简朴的方法。下面是一个3位比较器的VHDL描述: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity comp is port(a,b: in std_logic_vector(2 downto 0); sel_f: in std_logic_vector(1 downto 0); q: out Boolean); end; architecture a of comp is begin process(sel_f,a,b) begin case sel_f is when”00” => q <= a=b; when”01” => q <= a<b; when”10” => q <= a>b; when others => q <=false; end case; end process; end a; 实验源程序名是comp.vhd。 三、 实验连线 输入信号有A0~A3、B0~B3、CLK和RST,其中A0~A3和B0~B3代表两路互相比较的数,接拨码开关,CLK接时钟,RST接复位端;输出信号有AEQB(A=B)、AGTB(A>B)、ALTB(A<B),接发光二极管。改变拨码开关的状态,观测实验结果。 四、 实验记录 同前,对比较器造表,得到其真值表,并分析其运算结果的对的性。 五、 实验结果分析与思考 1.比较器的应用场合。 2.实验设计程序 3实验结果总结 实验 成绩 项目及比例 实验操作(30%) 报告书写(70%) 得分 成绩合计 教师签字: 批改日期: 实验五 编码器 实验类型: 验证性 实验课时: 2 指导教师: 李海成 时 间:201 年 月 日 课 次:第 节 教学周次:第 周 实验分室: 实验台号: 实 验 员: 一、 实验目的 1. 设计并实现一个16-4优先编码器 2. 掌握编码器的设计方法。 二、 实验原理 常用的编码器有:4-2编码器、8-3编码器、16-4编码器,下面我们用一个8-3编码器的设计来介绍编码器的设计方法。 8-3编码器如图11-1所示,其真值表如表11-1。 图11-1 8-3编码器 表11-1 8-3优先编码器真值表 输入 输出 EIN 0N 1N 2N 3N 4N 5N 6N 7N A2N A1N A0N GSN EON 1 X X X X X X X X 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 X X X X X X X 0 0 0 0 0 1 0 X X X X X X 0 1 0 0 1 0 1 0 X X X X X 0 1 1 0 1 0 0 1 0 X X X X 0 1 1 1 0 1 1 0 1 0 X X X 0 1 1 1 1 1 0 0 0 1 0 X X 0 1 1 1 1 1 1 0 1 0 1 0 X 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 整个编码器的VHDL语言描述如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ENCODE IS PORT(D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); EIN: IN STD_LOGIC; A0N,A1N,A2N,GSN,EON: OUT STD_LOGIC); END ENCODE; ARCHITECTURE A OF ENCODE IS SIGNAL Q: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN A0N <=Q(0); A1N<=Q(1); A2N<=Q(2); PROCESS(D) BEGIN IF EIN =’1’ THEN Q<=”111”; GSN<=’1’; EON<=’1’; ELSIF D(0)=’0’ THEN Q<=”111”; GSN<=’0’; EON<=’1’; ELSIF D(1)=’0’ THEN Q<=”110”; GSN<=’0’; EON<=’1’; ELSIF D(2)=’0’ THEN Q<=”101”; GSN<=’0’; EON<=’1’; ELSIF D(3)=’0’ THEN Q<=”100”; GSN<=’0’; EON<=’1’; ELSIF D(4)=’0’ THEN Q<=”011”; GSN<=’0’; EON<=’1’; ELSIF D(5)=’0’ THEN Q<=”010”; GSN<=’0’; EON<=’1’; ELSIF D(6)=’0’ THEN Q<=”001”; GSN<=’0’; EON<=’1’; ELSIF D(7)=’0’ THEN Q<=”000”; GSN<=’0’; EON<=’1’; ELSIF D=”11111111” THEN Q<=”111”; GSN<=’1’; EON<=’0’; END IF; END PROCESS; END A; 实验源程序名是encode.vhd。 请参考以上程序设计一16-4编码器。 三、 实验连线 输入信号D0~D15(代表16路输入数据)、EIN(代表输入允许控制端)、EON、GSN(代表2个输出允许控制端),都接拨码开关;输出信号A0N~A3N(代表四路编码结果输出)接发光二极管。改变拨码开关的状态,对照表11-1 8-3优先编码器真值表,观测实验结果。 四、 实验记录 对编码器造表,得到其真值表,并分析其运算结果的对的性。 五、 实验结果分析与思考 1.编码器常用芯片有哪些,比较专用芯片和EDA设计的优缺陷。 2.实验过程出现问题及解决方法 3实验结果总结 实验 成绩 项目及比例 实验操作(30%) 报告书写(70%) 得分 成绩合计 教师签字: 批改日期: 实验六 组合逻辑电路的设计 实验类型: 设计性 实验课时:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服