2.报警电路
用555定时器构成的多谐振荡器,它产生的巨形波经三级管构成的推动级输出,使扬声器或条形光柱报警。开关键J9可以控制多谐振荡器工作与停止,J9断开,多谐振荡器工作,反之,电路停止振荡。555定时器和三级管构成的报警电路如图5-48所示。
VCC5VJ1Key = SpaceR4R1U28VCC4.7k?1.0k?476RSTDISTHRTRICONU1OUT3R6510 ? Q12N2222AC4100uF LVL_BARGRAPH10 V R55.1k?25R8GND1C1C2510 ? LM555CM0.047uF 0.1uF 图5-48 报警电路
第7章基于VHDL语言的数字电路仿真
Multisim9是一个完整的集成设计工具,它不仅提供原理图输入接口、全部的数模Spice仿真功能,而且提供VHDL设计接口与仿真功能,满足数字系统设计、仿真理论和方法的发展要求。 7.1 Multisim9的VHDL仿真平台
基于Multisim9的VHDL是Multisim9仿真软件选配的一个软件包,能为复杂的数字集成电路系统在行为语言级上建模,完成复杂数字系统的仿真分析。 7.1.1项目及项目管理
下面以流水灯为例说明项目的产生与设置、模块的加入以及项目管理等内容。流水灯的逻辑框图如图7-1所示。 时钟输入信号 CLK 流水灯模块 输出状态 Q
图7-1 流水灯的逻辑框图
一、项目的产生与调用
在File菜单下选择New Project命令,产生一个项目,项目管理器也同时出现在窗口中。Multisim VHDL所产生的项目源文件保存在项目管理器中,项目源文件至少包含VHDL模块及VHDL测试模块才能完成文件的编译、连接、仿真与波形观察等步骤。如果保存该项目,可单击File菜单的下的Save Project命令,项目文件默认的后缀为.ACC。例如,将新建立的项目保存为liushuideng.ACC,项目管理如图7-2所示。
单击File菜单下的Open Project命令,弹出“打开”对话框,选择所需的项目源文件,点击“打开”按钮,就可以调用已经存在的项目源文件。 二、项目的页面设置
单击Options菜单下的System命令或单击Multisim VHDL主窗口快捷工具栏中的
按钮,弹出如图7-3所示的Options对话框。
图7-2 项目管理器页面
图7-3 Options对话框
在System页,可以对项目进行编辑和设置。具体选项功能如下所示。 1.Program option栏
(1)Save options as default:保存当前设置界面为默认界面。
(2)Save files before run:在项目编译、连接、仿真前保存所有文件。 (3)Clear transcript before run:在项目编译、连接和仿真前清除副本。 (4)Show tips:显示项目在编译、连接、仿真时的提示信息。 (5)Small toolbars:在项目管理器中选择小图标。
2.Editing options栏
(1)Use external editor:选择该项,Multisim VHDL软件会调用其它软件的VHDL文件编辑器来创建或编辑VHDL源文件。
(2)Use built-in editor:选择该项,Multisim VHDL软件会调用其内部的VHDL文件编辑器来创建或编辑VHDL源文件。
(3)Standard tabs:选择该项,可以通过Tab栏设置标号的大小。 (4)Auto inden:选择该项,自动缩进。 (5)Set font:设置字体、字型和大小。 三、VHDL模块的加入
在Multisim VHDL中,有两种方法可以将VHDL模块加入到项目中,一是新建VHDL模块,二是调用一个已存在的VHDL模块。
1.新建VHDL模块
在Multisim VHDL的主窗口中,单击File菜单下的New Module 命令,则弹出New Module对话框,如图7-4所示。单击Module Wizard按钮,可以快速产生一个VHDL模块源文件。单击Testbench Wizard(text)按钮,可以快速地产生一个文本文件。单击Testbench Wizard(graphical)按钮,可以快速地产生一个波形图文件。单击State Machine可以产生一个状态设计文件。单击Create Blank Module按钮,可以产生一个空白模块,用户可以自己编写测试文档。若要删除一个新模块,首先关闭正在编辑的窗口,然后选中项目管理器中的相应模块,单击File菜单下的Remove Module命令即可。
图7-4 New Module对话框
2.加入已存在的VHDL模块
单击File菜单下的ADD Module命令,可以从当前项目目录或其它路径下项目的目录中,将已存在的VHDL文件添加到当前的设计中。 四、项目管理器
项目管理器窗口列出了该项目所有的源文件。通过该项目管理器窗口,可以很容易地观察到每一个模块本身的层次结构和设计单元间的相互关系。操作步骤:在项目管理器工作表中,单击
图标,可以设置项目中模块的层次关系。
当设置项目中模块的关系后,可以单击View菜单下的Show Hierarchy命令观察项目中的模块关系。若需要观察模块层次树所列设计单元的VHDL源文件,双
击该设计单元,即可将VHDL源文件加载到VHDL文字编辑器中。该文字编辑器具有查找、替代、关键词的表识、文件的移动和释放等功能。 7.1.2 VHDL模块文件的编辑
1.使用VHDL模块文件的编辑 (1)VHDL Wizard是VHDL模块文件的编辑向导。单击File菜单下的New Module命令,显示图7-4 New Module对话框,单击Module Wizard按钮,弹出Entity Wizard对话框,如图7-5所示。
图7-5 Entity Wizard对话框
(2)在Entity name栏中输入模块名(如liushuideng);在Architecture name栏中输入结构件名(如Behavior);在Port name、Mode、Type栏分别设置端口的名称、模式和数据类型。设置完成后,单击Add port按钮,将设置的端口加到模块中。再单击Create按钮,VHDL Wizard就能自动生成一个模板。
(3)单击Create按钮后,弹出“另存为”对话框,输入文件名(如liushuideng.VHD),再单击“保存”按钮,就可以将模块保存起来,并返回VHDL源文件窗口。
2.VHDL模块文件的修改
利用Module Wizard产生模块后,由于Multisim VHDL产生的模块不一定符合设计要求,因此必须编辑该模块使其符合设计要求,还可以插入批注使VHDL源文件易读。
例如:利用Module Wizard产生流水灯的VHDL模块文件如下: -- Other comments are informational only. --