一.课程设计的目的:
1、学习并了解MATLAB软件。
2、尝试用Simulink建模。
3、实现对数字电路的防真设计。
4、利用全加器电路创建四位二进制加法器。
二.课程设计题目描述及要求:
利用所学的数字电路的基本知识和MUTLAB软件中Simulink的应用学习,完成对数字电路的仿真设计。
用各种各样的组合逻辑电路设计全加器,输出曲线,再利用全加器设计电路创建四位二进制加法器电路图,给出输出。
三.MATLAB软件简介:
MATLAB是MathWorks公司于1984年推出的一套高性能的数值计算可视化软件,集数值分析、矩阵运算、信号处理和图形显示于一体。
MATLAB是由Matrix 和Laboratory单词的前三个字母组合而成的,其含义是矩阵实验室。
Simulink是MATLAB最重要的组件之一,是实现动态系统建模、仿真的一个集成环境。
它支持线性和非线性系统,连续时间、离散时间,或者两者的相结合的仿真,而且系统是多进程的。
Simulink是从底层开发的一个完整的仿真环境和图形界面,它把MATLAB的许多功能都设计成一个个直观的功能模块,把需要的功能模块连接起来就可以实现所需要的仿真功能。
Simulink仿真应用于数字电路、数字信号处理、通信仿真、电力系统仿真、宇航仿真等领域。
由于数字系统中高低电平分别用0和1表示,因此数字电路问题往往可以转化为一个数字上的逻辑问题。
MATLAB提供了逻辑运算模块和各种触发器模块,可以方便的进行数字电路的设计和仿真。
借助于组合电路仿真常用模块Logic and Bit Operations子库中的Local Operator模块,将其拖到所建的untitled窗口中,然后鼠标左键双击该模块弹出的Block Parameters/Logical Operator对话框,按Operator栏后的黑三角来选择所需要的门电路标识符,如:AND、OR、NAND、NOR、XOR、NOT中的一个,并依次设置所需的输入、输出端子个数,之后按OK 键确定。
利用这些基本门电路组成加法器逻辑电路。
四.课程设计的内容:
1、1位全加器的设计。
所谓全加器,就是带进位输入和进位输出的加法器。
1位全加器有3个输入,分别是加
数A、B和来自低位的进位C;还有两个输出,分别是和数SUM以及向高位进位D。
根据全加运算的逻辑关系,可列出一位全加器的真值表,如表1所示。
A B C SUM D
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
表1
列出SUM和D的最简与或表达式:
对SUM进行一次变换的SUM=A⊕B⊕D这样仅用一个或非门就实现了SUM的电路。
基于逻辑表达式得到如下逻辑图(图1)。
图1、逻辑图
2、用Simulink创建电路模型,完成逻辑电路。
图1、组合模块
3、用鼠标选中这部分逻辑电路,选中右击,在弹出的快捷菜单中选择Create Subsystem命令,自动生成一个子系统。
图2、全加器子系统
4、在顶层图中将这个子系统模块命名为ADD0。
图3、子系统模块ADD0
5、4位全加器设计。
1)、要将4个1位全加器级联起来,前一个的高位端D送入后一个的低位进位端C就可以实现4位全加器。
电路如图4.
图4、4位全加器
注:全加器脉冲源参数设置如表2.
A0 A1 A2 A3 B0 B1 B2 B3
幅度 1 1 1 1 1 1 1 1
周期 4 4 4 4 4 4 4 4
脉宽 1 1 1 1 3 3 3 3
相位延迟0 1 2 3 0 1 2 3
采样时间 5 5 5 5 5 5 5 5
表2
2)、连线以及仿真:
选择Simulation的Configuration Parameters命令,将仿真时间设置为0-20s,其余采用默认值,然后将这个模型保存到MATLAB的work目录下。
最后,单击模型窗口中的进行图标进行仿真,双击打开示波器Scope1,它监视的第一个加数对应的4个输入信号(图5);双击打开示波器Scope2,它监视的第二个加数对应的4个输入信号(图6)。
图5、第一个加数的波形图6、第二个加数的波形
从这两个波形图上读出加数值,并计算理论结果。
其结果如下:
0~5s:
A3A2A1A0=0001 B3B2B1B0=0001 DS3S2S1S0=00010
5~10s:
A3A2A1A0=0010 B3B2B1B0=0011 DS3S2S1S0=00101
10~15s:
A3A2A1A0=0100 B3B2B1B0=0111 DS3S2S1S0=01011
15~20s:
A3A2A1A0=1000 B3B2B1B0=1110 DS3S2S1S0=10110
双击示波器Scope打开输出波形(图7)。
图7、加法器的输出结果
对比发现实际的输出结果和计算结果是一致的。
五、小结:
通过本次课程设计,我了解了系统仿真的基本思路和方法,同时也了解了仿真在其他领域中的应用。
掌握了用Simulink实现4位全加器的步骤:
1)、添加模块:首先从MATLAB命令窗口运行Simulink,新建一个电路模型。
2)、修改模块参数:首先要完成逻辑部分的电路,生成子系统,封装生成模块。
设置所有参数。
3)、连线及仿真:连线标注,进行理论结果计算并与实际输出比较。
若一致,则完成了设计和仿真。
学习并初步了解了MATLAB软件,尝试了用Simulink建模,实现了对数字电路的仿真设计。
在查阅资料的同时,加上同学和老师的帮助实现了利用全加器电路创建四位二进制加法器。
通过验证证明了仿真实验的成功。
经过这次课程设计我知道了学习计算机语言要多练习,在学习的同时要举一反三,和同学、老师多作交流。
同时我也认识到自己在学习上的不足,以及知识掌握不够扎实,明确了以后学习的方向。
总之,经过这次课程设计让我认识到自身的不足,同时也学习到很多知识以及技巧。
感谢周老师给我们的课程设计作指导!
目录
一.课程设计的目的: (1)
二.课程设计题目描述及要求: (1)
三.MATLAB软件简介: (1)
四.课程设计的内容: (1)
五、小结: (6)。