logo资料库

matlab simulink数电仿真实验报告.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
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
分享到:
收藏