数字逻辑实验报告.doc

上传人:w****2 文档编号:6567362 上传时间:2020-02-29 格式:DOC 页数:25 大小:1.47MB
返回 下载 相关 举报
数字逻辑实验报告.doc_第1页
第1页 / 共25页
数字逻辑实验报告.doc_第2页
第2页 / 共25页
数字逻辑实验报告.doc_第3页
第3页 / 共25页
点击查看更多>>
资源描述
数字逻辑实验报告 姓名:任凯 学号:139074018班级:计131实验一 3-8 译码器设计(原理图设计输入)(本实验将详细介绍 Altera 公司 MAX+Plus软件的基本应用)一、实验目的1. 通过一个简单的 3-8 译码器的设计,让学生掌握用原理图描述组合逻辑电路的设计方法。2. 掌握组合逻辑电路的软件仿真方法。3. 初步了解可编程器件设计的全过程。二、实验步骤1. 设计输入1.1 启动 MAX+Plus软件包,选择 File/New 菜单,弹出设计输入选择窗口,如下图 1.1 所示:1.2 选择 Graphic Editor File,单击“ OK”按钮,打开原理图编辑器,进入原理图设计输入电路编辑状态。如下图 1.2 所示:1.3 设计的输入1 )放置一个器件在原理图上a. 在原理图的空白处双击鼠标左键(或者单击右键选择 Symbol/Enter Symbol 快捷菜单),弹出图 1.3 所示对话框。b. 在 Symbol Name 框中输入元件名称或用鼠标在元件库中选取所需元件,按下“ OK”按钮即可。c. 对于相同的元件,只要按住 Ctrl 键的同时拖动鼠标即可进行复制;也可采用复制/粘贴的方法进行复制。d. 一个完整的电路应包括:输入端口 INPUT、电路元器件的集合、输出端口 OUTPUT。e. 图1.4为 3-8 译码器元件的安放结果。 图 1.42)在器件的管脚上添加连线把鼠标移到元件引脚附近,鼠标指针由箭头变为十字,按住鼠标左键拖动即可画出连线。图 1.5 为 3-8 译码器原理图。 图1.53)标记输入/输出端口属性双击输入/输出端口的“PIN_NAME”,变成黑色时输入标记符并回车确认。本译码器将三个输入端标记为 A、B、C,输出端标记为 D0D7。标记输入/输出端口后的 3-8 译码器原理图如图 1.6 所示。 图1.64)保存原理图对于新建文件,单击保存按钮会出现“Save As(另存为)”对话框,此时可选择(或输入)保存路径和文件名称。原理图的文件扩展名为“*.gdf”。5)设置为当前文件点击 File/Project/Set Project to Current File 可将当前编辑的文件设置为当前文件。当打开了几个项目文件时,这个步骤非常重要,否则将会出错。* 初学者一定要注意这一步骤。至此,已经完成了一个电路的原理图设计输入的整个过程。2. 电路的编译与适配2.1 选择芯片型号点击 Assign/Device 菜单选择当前项目文件欲设计实现的实际芯片来进行编译适配。本例选择 EPLD EPF10K10LC84-4 来实现,如图 2.1 所示。 图2.1如果不选择适配芯片,开发软件将自动把所有适合本电路的芯片一一进行编译适配,将会耗费大量时间。2.2 编译适配点击 MAX+Plus/Compiler 菜单,按下弹出窗口(图 2.2)中的 Start按钮开始进行编译,生成下载文件。如果编译前选择的芯片是 CPLD,则生成的下载文件为“*.pof”文件(编程目标文件);如果选择的芯片是 FPGA,则生成“*.sof”文件(SRAM 配置目标文件)。这个文件用于硬件下载编程时调用。同时还生成一个“*.rpt”报告文件,用于详细查看编译结果。如果编译时出现错误,则要修改设计后重新编译。图2.2如果设计的电路顺利地通过了编译,当电路不复杂的情况下,就可以对芯片进行编程下载,直到实现所设计的硬件电路,至此,已经完成了一个EDA 的设计与实现的全过程。如果电路足够复杂,就要进行仿真。 图2.33. 电路仿真与时序分析MAX+Plus支持电路的功能仿真(前仿真)和时序仿真(后仿真)。众所周知,开发人员在进行电路设计时,非常希望借助比较先进、高效的仿真工具来节省设计过程的时间和成本。因此,EDA 工具提供的强大的(在线)仿 真 功 能 迅 速 得 到 了 电 子 工 程 设 计 人 员 的 青 睐 , 这 也 是 当 今 EDA(CPLD/FPGA)技术非常火爆的原因之一。下面通过本实验来介绍 MAX+Plus仿真功能的基本应用。3.1 添加仿真激励信号波形1 )启动 MAX+Plus/Waveform Editor 菜单,进入波形编辑窗口,如图 3.1 所示。 图3.12)将鼠标指针移到空白处,单击鼠标右键,选择快捷菜单中的“ Enter Nodes from SNF”并按鼠标左键确认,出现图 3.2 所示的对话框。 图3.23)单击“ List”和“=”按钮,选择欲仿真的 I/O 管脚。4)单击“ OK”按钮,列出仿真电路的输入、输出管脚图如图 3.3 所示。在本列中, 3-8 译码器的输出为灰色,表示未仿真前其输出是未知的。图3.35)调整管脚顺序,以符合常规习惯。调整时只需选中某一管脚并按住鼠标左键将其拖到相应位置即可完成。如图 3.4。 图3.46)准备为电路输入端口添加激励波形。选中欲添加信号的管脚,窗口左边的信号源即刻变成可操作状态,这是就可以根据实际电路要求选择信号源种类。本例电路中,选择时钟信号就可以满足仿真要求。7)选择仿真时间。仿真时间长短由电路实际要求确定。点击“ File/End Time”菜单,本实验选择软件默认时间 1us 就能观察到 3-8 译码器的 8 个输出状态。8)为 A、 B、 C 三个端口添加输入信号。先选中 A 输入端,然后再点击窗口左边的时钟信号源图标添加激励波形,出现图 3.5 所示的对话框。 图3.5本例中,选择初始电平为“ 0”,时钟周期倍数为“ 1 ”,按下“ OK”按钮确认。这时已为输入端 A 添加了完整的激励信号,点击全屏显示按钮后如图 3.6 所示。 图3.6根据电路要求编辑另外两路输入端口的激励信号波形。本实验中,假设3-8 译码器的 A、 B、 C 三路输入信号的频率分别为 1 、 2、 4 倍关系,则译码输出顺序就符合常规的观察习惯。按上述方法,为 B、 C 两路输入端口添加激励波形后,点击全屏显示按钮后如图 3.7 所示。9)保存激励信号编辑结果。使用 File/Save 或关闭当前波形编辑窗口均会出现图 3.8 所示的对话框,单击“ OK”按钮保存激励信号波形。 图3.8* 注意不要随意改动文件名(仿真波形文件应与设计文件同名,仅扩展名不同)。3.2 电路仿真电路仿真分为功能仿真(前仿真)和时序仿真(后仿真),而时序仿真覆盖了功能仿真,故本实验直接使用时序仿真。1 )点击“ MAX+Plus/Simulator”菜单,弹出图 3.9 所示的对话框。 图3.92)确定仿真时间。 End Time 为“ 1”的整数倍。如果在添加激励信号时未设置结束时间,则此时仿真窗口中的“ EndTime”参数就不能修改。本例中,使用默认时间,单击“ Start”按钮开始仿真。如果出现错误,一般是激励信号添加有误,查找并修正错误后重新仿真。本例无错误,出现图 3.10 的提示。 图3.103)观察仿真结果。单击激励输出波形文件“ ”按钮,波形如图 3.11 所示。 图3.114)从上图可见,所设计的 3-8 译码器顺利的通过了仿真,设计完全正确。下面将上图放大,仔细观察一下电路的时序。在窗口空白处单击鼠标左键,出现测量标尺,然后将标尺拖至欲测量的地方,查看延时情况。4. 管脚的重新分配与定位启动 MAX+Plus/Floorplan Editor 菜单,出现如图 4.1 所示的芯片管脚自动分配画面(在芯片的空白处双击鼠标,可在芯片和芯片的内部逻辑块之间切换)。*注意:不要在芯片的内部逻辑视图下进行管脚分配。 图4.1Floorplan Editor 显示的是该设计项目的管脚分配图,它是由软件自动分配的。用户可以随意改变管脚分配,以方便与所设计的外设电路进行匹配。管脚编辑过程如下:4.1 按 下 窗 口 左 边 的 手 动 分 配 图 标所 有 管 脚 将 会 出 现 在窗口中,如图 4.2 所示。 图4.24.2 用鼠标按住某输入/输出端口,并拖到下面芯片的某一管脚上,便可完成一个管脚的重新分配。注意:芯片上有一些特定功能的管脚,进行管脚编辑时,不要对这些管脚进行分配。另外,在芯片器件选择中,如果选的是 auto,则不允许对管脚进行在分配。 当对管脚进行二次调整以后,一定要再编译一次,否则程序下载以后,其管脚功能还是为当初的自动分配状态。5. 器件的下载编程与硬件实现5.1 实验箱电路板上的连线用三位拨码开关代表译码器的输入 A、 B、 C,将其分别与 EPF10K10芯片的对应管脚相连。用 LED 灯来表示译码器的输出,将 D0D7 对应的管脚分配与 8 只LED 相连。5.2 器件的编程下载1 )启动 MAX+Plus/Programmer 菜单。如果是第一次启用,将会出现填写硬件类型对话框,请选择“byte blaster”并按下“OK”按钮确认即可。此后,如果需要修改硬件类型,可以在打开 MAX+Plus/Programmer菜单,选择 Options/Hardware Setup 菜单。2)选中主菜单下的 JTAG/Multi-Device JTAG Chain 菜单项(第一次启用可能会出现问话框,视实际情况回答确认)。3)启动 JTAG/Multi-Device JTAG Chain Setup菜单项,出现图 4.3 的对话框 图4.34)按下“Select Programming File”按钮,选择要下载的“.sof”文件,然后按“Add”按钮将其加到文件列表中,如图 4.4 所示。5)选择完下载文件后,单击“OK”按钮,出现图 4.5 所示的下载编程界面 图4.56)单击“ Configure”按钮,进行下载编程。如果不能正确下载,请点击图 4.4 的“Detect JTAG Chain Info”按钮进行 JTAG 测试, 查找原因。直到完成下载,按“ OK”键退出。 注检查点提示:电路是否已经通过软件仿真?管脚二次分配后有没有重新编译?是否已加电?下载电缆是否用错?硬件类型设置是否正确? CPLD/ISP 切换开关是否正确? JTAG 接口有无插反?至此,已完成了可编程器件的从设计到下载实现的整个过程。MAX+Plus更多的功能请参考相关资料。7)结合电路功能,在实验箱上观察设计实现的结果。三、实验报告1、填写下表(填灯亮(L)或灭(M))ABCLED0LED1LED2LED3LED4LED5LED6LED7000LMMMMMMM100MLMMMMMM010MMLMMMMM110MMMLMMMM001MMMMLMMM101MMMMMLMM011MMMMMMLM111MMMMMMML2、结合本次实验,简述原理图输入法设计组合电路的步骤。(1)仔细分析设计要求,确定输入、输出变量:在本次试验中,需要有三个变量的输入,而输出则是八位;(2)根据输入输出之间的因果关系,列出输入输出对应关系表,即真值表:将上一步骤的输入输出量进行抽象,对输入和输出变量赋予0、1值,作出真值表;(3)根据真值表填卡诺图,写输出逻辑函数表达式的适当形式,即函数表达式;(4)根据所得到的函数表达式画出逻辑电路图,完成最终实验要求;3、时序仿真波形中,输出波形与输入波形是否同步变化?如何解释输出波形中存在的毛刺?(1)如上图所示,在输入信号进入之后,输出信号会有短暂的滞后,并不能同步变化;(2)解释:在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的(冗余)消去项,但是不能避免功能冒险,二是在芯片外部加电容。三是增加选通电路。在组合逻辑中,由于多少输入信号变化先后不同、信号传输的路径不同,或是各种器件延迟时间不同(这种现象称为竞争)都有可能造成输出波形产生不应有的尖脉冲(俗称毛刺),这种现象成为冒险。(3)解决办法: 1.通过改变设计,破坏毛刺产生的条件,减少毛刺发生。例如,数字电路设计中,常常采用Gray Code计数器取代普通计数器,因为Gray Code 计数器的 输出每次只有一位跳变,消除了竞争冒险发生的条件,避免了毛刺的产生。2.毛刺并不是对所有的输入都有危害,例如:D触发器的D输入端,只要毛刺不出现在时钟的上升沿且满足数据的建立和保持时间,就不会对系统造成危害,因此可以说D触发器的D输入端对毛刺不敏感。因此,在系统中尽可能采用同步电路,因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且不满足数据的建立和保持时间,就不会对系统造成危害。(由于毛刺一般都很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间)3. 以上方法可以大大减少毛刺,但它并不能完全消除毛刺,有时,我们必须手工修改电路来去除毛刺。我们通常使用采样的方法。 一般说来,冒险出现在信号发生电平转换的时刻,也就是说在输出信号的建立时间内会发生冒险,而在输出信号的保持时间内是不会有毛刺信号出现的。如果在输出信号的保持时间内对其进行采样,就可以消除毛刺信号的影响。4、请总结实验中出现的问题,你是如何解决的?(1)软件的使用和安装 由于在使用的过程中,电脑并没有安装好的max+plus软件,在拷贝老师的软件过程中出现许多问题,比如驱动问题,版权问题;此外,由于第一次使用该软件,导致许多功能不是很熟悉,因此花费了大量的测试时间。(2)输入输出的抽象化 在学习电路设计的过程中,抽象画一直都是最难的一部分,由于此次试验有指导书的存在会省掉许多麻烦,但自己在实验之后需要反思实验二 全加器设计一、 实验任务设计并实现一个一位全加器二、 实验原理1. 列出真值表、写出逻辑函数。输入输出实验结果Ci-1BiAiSiCiSiCi00000000011010010101001101011001010101010111001011111111BiCi-1Ai 000111100010111010 SiBiCi-1Ai 000111100001010111 Ci逻辑函数为:Si=Ci-1AiBi+AiCi-1Bi+BiAiCi-1+AiBiCi-1=Ci-1AiCi-1BiCi-1AiAiCi-1AiBiBiAiBiBiCi-1AiBiCi-1Ci=AiBi+AiCi-1+BiCi-1=AiBiAiCi-1BiCi-12.用MAX+PLUS2画出实验原理图。3.实验结果由指导教师现场检查三、 实验连线全加器的三个输入所对应的管脚同三位拨码开关相连;两个输出所对应的管脚同两位发光二极管相连。实验三 七段数字显示译码器设计一 实验目的:进一步了解Altera公司MAX+Plus软件的基本应用和用小规模逻辑电路设计一些小型器件的流程。 通过设计一个七段数字显示译码器,让学生掌握用原理图描述组合逻辑电路的设计方法和组合逻辑电路的软件仿真方法,进而初步了解可编程器件设计的全过程。 二、实验原理:1.七段数字显示译码器真值表:(N)108421BCDA3 A2 A1 A0输入代码 a b c d e f g数字图000000000001100011001111200100010010300110000110401001001100501010100100601100100000701110001111810000000000910010000100再用卡诺图化简得如下逻辑函数表达式:a=A3A2A1A0+A2A1A0= A3A2A1A0A2A1A0b= A2A1A0+ A2A1A0= A2A1A0A2A1A0c= A2A1A0= A2A1A0d= A3A2A1A0+ A2A1A0+ A2A1A0= A3A2A1A0A2A1A0A2A1A0e= A0+ A2A1A0= A0A2A1A0f= A3A2A1A0+ A2A1+ A2A1A0= A3A2A1A0A2A1A2A1A0g= A3A2A1+ A2A1A0= A3A2A1A2A1A0用MAX+Plus实现上述逻辑方程的与非门逻辑电路:软件仿真波形图结果:实验结果分析:由软件仿真波形图看出,本系统符合设计要求,每输入一个对应的8421BCD码,就得到对应的七段显示二极管真值。实验问题分析与总结:试验中碰到的问题:1. 由于书上有对应实例,开始按照书上连接实验原理图,发现实验波形图出现错误。解决办法:经仔细检查后,发现书上实例错误,更改原理图后重新生成波形图正确。2. 由于实验器材或驱动原因,无法将实验文件下载到对应硬件中,导致无法实现硬件仿真结果。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!