第八章补充数字逻辑电路_第1页
第八章补充数字逻辑电路_第2页
第八章补充数字逻辑电路_第3页
第八章补充数字逻辑电路_第4页
第八章补充数字逻辑电路_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章数字逻辑电路仿真5.1组合逻辑电路仿真组合逻辑电路是相对于时序电路而言的,组合逻辑电路在结构上由各种逻辑门构成,它不包含记忆功能器件,特点是,在任何给定时刻的输出值仅与该时刻电路的输入值有关,而与过去的输入状态无关。常用的组合电路有半加器、全加器、比较器、编码器、译码器、数据选择器、奇偶校验器等。5.1.1 编码器的仿真利用simulink模块搭建一个三位二进制编码器。1 模型分析一个三位二进制编码器,也叫8线3线二进制编码器。真值表如下:X0X1X2X3X4X5X6X7Z2Z1z010000000000010000000010010000001000010000011000010001

2、00000001001010000001011000000001111根据真值表得逻辑表达式如下:Z2 =X4+X6+X5+X7Z1 =X2+X3+X6+X7Z0 =X1+X3+X5+X72 模型搭建首先建立一个*.mdl模型文件,之后选用所需模块。Pulse Generator(脉冲序列发生器),位于simulink节点下的Source库中,用于产生所需的原始脉冲序列。参数中Period用于设定按照采样时间长度确定产生的脉冲序列周期,如图设置为8,即8*1(sample time)代表脉冲序列周期相当于8个采样周期。同理,pluse width设置为1,即1*1(sample time)代表

3、脉冲序列周期相当于1个采样周期。Logical Operator,位于simulink节点下的Logic and bit Operations库中,用于实现逻辑表达式的运算,其参数设置中,Operator下拉表框用于设置模块实现的逻辑功能,下拉列表框中可选项有:AND、OR、NAND、NOR、XOR、NOT等。搭建模型如下:3 运行仿真在菜单栏中执行Simulation/Simulation parameter,将Solve项卡中的Stop time设置为16。运行该模,编码器输出的波形图如下。5.1.2 译码器的仿真13线-8线二进制译码器逻辑表达式如下:首先建立一个*.mdl模型文件,之后

4、选用所需模块Pulse Generator(脉冲序列发生器)等。3线-8线二进制译码器仿真模型如下图。Pulse Generator(脉冲序列发生器)参数设置如下图:模块名称Pulse typeAmplitudePeriodPulse widthPhase delaySample timex0Sample based12111x1Sample based12112x2Sample based1311424线-16线二进制译码器仿真模型1)创建具有使能端的3线-8线二进制译码器,2)3线-8线译码器子系统建立,3)封装子系统,4)自建用户模块库File/New/Library。封装子系统的内部模

5、型图:5.1.3 数据选择器的仿真建立模型,设置参数,其中Pulse Generator(脉冲序列发生器)参数设置如下图:模块名称Pulse typeAmplitudePeriodPulse widthPhase delaySample timeD0Sample based12100.5D1Sample based15100.5D2Sample based12100.25D4Sample based13100.5A1Sample based121110A2Sample based12115SSample based1404201数据选择器的仿真模型如下:5.1.4 奇偶校验器的仿真现有一列含有

6、10个数的随机0,1沿信号线传输,在传输过程中该数列因干扰信号,任一数字发生改变的几率为0.5%,试得用MATLAB对奇偶校验器的功能进行仿真。a=rand(1,10);s=1;while s0 b=rand(1,10); for i=1:10 if a(i)0.5 a(i)=1 else a(i)=0 end if b(i)0.95 b(i)=1 else b(i)=0 end c(i)=a(i)+b(i); if c(i)=2 c(i)=0; end end send=a; receive=c; for i=1:9 send(i+1)=send(i)*not(send(i+1)+not(s

7、end(i)*send(i+1); receive(i+1)=receive(i)*not(receive(i+1)+not(receive(i)*receive(i+1); end C=send(10) B=receive(10) s=B*not(C)+not(B)*C pauseend5.1.5 加法器的仿真利用全加器实现4位二进制运算,首先建立全加器模块,再搭建4位全加器Simulink模型。5.2时序逻辑电路仿真5.2.1基本触发器模块介绍S-R触发器内部电路如下图:其中,Memory模块位于Simulink节点下的Discrete模块库中,它相当于一个状态存储器,在某一时刻它将从输入

8、端输入的状态存储,再在下一时刻将该状态从其输出端输出。Combinatorial logic模块位于Simulink节点下的Logic and bit Operations模块库中,它是组合逻辑模块,相当于实现一个真值表查询。S-R触发器模块中,其数值设置如下:0 1;1 0;0 1;0 1;1 0;1 0;0 0;0 0实现如下图真值表。SRQnQn+10000100110010010110110010101101100011100当触发器为S、R均为0时,输出状态保持不变;当触发器为S=0、R=1均为0时,输出Q=0,=1;当触发器为S=1、R=0 时,输出Q=1,=0;当触发器为S=1、R=1时,为无效状态。JK触发器内部电路如下图:D触发器内部电路如下图:5.2.2并行寄存器仿真并行寄存器仿真模型如下:当控制电路Clock信号输入1时,输入端输入信号不起作用,Clock信号输入0时,连接S端和连接R端的输出信号取决于输入端的输入信号。Pulse Generator(脉冲序列发生器)参数设置如下图:模块名称Pulse typeAmplitudePeriodPulse widthPhase delaySample timeD0Sample based13101D1Sample based13100.25仿真结果如下图:5.2.3移位寄存器仿真移位寄存器仿真模型如下:仿

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论