Simulink 对数字电路与或门的仿真
陈忱
( 华东交通大学软件学院 09 软件+电气 4 半 20092110080417)
摘要:数字逻辑电路的逻辑验证是一件繁琐的工作,费时又费力。本文采用
MATLAB 附带的图形仿真工具 Simulink 实现了数字逻辑电路的仿真,简单方便,
成本低。为数字逻辑电路的逻辑验证和实验教学提供了一种新的方法。
关键词:数字逻辑电路,仿真,Simulink
Simulink Simulation of Digital Logic Circuit
Abstract:The logic verification of digital logic circuit is a complex
work that usually takes a long time and a lot of trouble.This article
introduces a simple and low cost approach to implement the simulation of
digital logic circuit using Simulink——a graphic simulation tool
attached in the MATLAB.It will provide a new method for logic verification
of digital logic circuit,as well as for experiment teaching.
Key words:digital logic circuit,simulation,Simulink,logic
verification
引言:
如何验证数字逻辑电路的设计是否正确?在一般情况下,工程师们采用面包板搭接电路,也
有的设计成印刷电路板焊接完成后进行测试。前者往往由于接触不良而造成功能失常;后者
则往往由于设计-焊接-调试的多次反复而花费大量的时间。随着大量可编程逻辑器件的使
用,如何在最短的时间内、用最低的成本对数字逻辑电路进行最全面的功能验证已经成为了
一个相当突出的问题。
MATLAB 是 1980 年美国学者 Cleve Moler 等人推出的交互式仿真语言,已经受到控制
界的广泛重视和大力欢迎,在控制领域得到了广泛应用[1]。本文采用 MATLAB 附带的图形
仿真工具 Simulink 进行数字逻辑电路的仿真,确保了电路的功能正确,大大缩短了设计周
期,降低了成本。
MATLAB 提供的图形界面仿真工具 Simulink 类似于集成电路实验箱,由一系列模块库
组成。用户只要从模块库中拖放合适的模块,组合在一起即可实现系统的仿真,简单易学。
Simulink 提供的模块库有信号源库、输出模块库、线性模块库、非线性模块库、离散模块库、
连接模块库以及其他模块库。用户可以根据需要混合使用各库中的模块来组合系统;也可以
封装自己的模块,自定义模块库,从而实现全图形化仿真。
1.基本单元
在数字逻辑电路的设计中,最常用的输入信号是时钟信号 Clock,最简单的输出设备是
示波器,用以观察系统的输出。在 Simulink 的模块库中,前者在 Extras 库的 Flip-Flops 组中,
可以改变时钟的周期,后者是 Sinks 库中的示波器 Graph,可以改变信号幅度和时间的标尺。
为了将多路信号输入一个示波器,可以使用 Connections 库中的多路开关 Mux 将多路信号集
中后送到 Graph 中,这样,Graph 就以不同的颜色显示各信号,这三种模块示于图 1(a)中。
为了避免多路信号重叠在一起,需要给每一路信号设置偏移,可以按图 2 封装成多路信号显
示器 N-line Graph。
1
2.仿真对象
运用与或门实现一个组合逻辑电路:有三个裁判,主裁判 A,副裁判 B,C 只有当主裁判 A 与至
少一个副裁判 B,C 判断通过时候,结果才成立即输出为 1。否则输出为 0。
3.列真值表:
假设裁判输出 1 为通过,0 为否定.最终输出结果为 F 列下列真值表:
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
0
0
0
0
0
1
1
1
4.运用卡诺图化简得到逻辑表达式
化简得到逻辑表达式:F = AB+AC
5.用 simulink 开始仿真
步骤如下:
1):打开 matlab,输入命令 simulink;
2):在 simulink 中新建文件并保存;
3):从 simulink 菜单中选出需要的器件:3 个 Pulse, 1 个 Mux, 1 个 Combinatorial Logic, 1 个
Scope
4):设置参数:
3 个 Pulse 代表 A,B,C 是用来输出信号的根据上面真值表可知 A 的脉冲周期为 8,高电
平时间为 4,高电平起始点设置为 5,所以设置如图所示:
同理 BC 设置分别为:
2
然后设置 Combinatorial Logic 参数如图所示其中为 F 输出的真值表:
最后设置示波器让其接收多个参数:
1、双击 scope 图标
2、在弹出的窗口中,单击菜单栏第二个图标 Parameters(在打印图标的左边)
3、在弹出的窗口中,修改 General 选项卡中的 Number of axes,例如,将 1 修改为 4,则确
认后出现四路输入信号
5)关键的一步:将仿真参数中的 Implement logic signals as boolen data 勾掉避免数据不匹配
3
4)按照下图连接电路:
6.运行电路观察示波器的结果
如下图所示,信号从 1 开始输出.得到和真值表一样的结果
7.总结
采用 MATLAB 附带的图形仿真工具 Simulink 实现了数字逻辑电路的仿真,对
matlab 有了进一步的了解,也验证了这学期数字电路期末考试的中一道逻辑组
合电路设计题的正确性。
参考文献
[1]高海生.数字电子技术基础,江西科学技术出版社。
[2]徐惠民等.数字电路与逻辑设计.北京:人民邮电出版社,1990.10
4