数字逻辑实验报告姓名:任凯学号: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,输出端标记为D0~D7。
标记输入/输出端口后的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 灯来表示译码器的输出,将D0……D7 对应的管脚分配与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))2、结合本次实验,简述原理图输入法设计组合电路的步骤。
(1)仔细分析设计要求,确定输入、输出变量:在本次试验中,需要有三个变量的输入,而输出则是八位;(2)根据输入输出之间的因果关系,列出输入输出对应关系表,即真值表:将上一步骤的输入输出量进行抽象,对输入和输出变量赋予0、1值,作出真值表;(3)根据真值表填卡诺图,写输出逻辑函数表达式的适当形式,即函数表达式;(4)根据所得到的函数表达式画出逻辑电路图,完成最终实验要求;3、时序仿真波形中,输出波形与输入波形是否同步变化?如何解释输出波形中存在的毛刺?(1)如上图所示,在输入信号进入之后,输出信号会有短暂的滞后,并不能同步变化;(2)解释:在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。