《基于MATLAB的时序逻辑电路设计与仿真》由会员分享,可在线阅读,更多相关《基于MATLAB的时序逻辑电路设计与仿真(19页珍藏版)》请在人人文库网上搜索。

1、成绩 MATLAB与仿真课程设计学院 信息科学与工程学院 专业 电子信息科学与技术 班级 一班 学号 姓名 巩春景 2014年 6 月 20 日一、题目基于MATLAB的时序逻辑电路设计与仿真2、 课程设计内容 一、以寄存器为例仿真下列波形并行寄存器输出波形(以基本RS触发器构造);移位寄存器输出波形(用D触发器构造)二、以双向移位寄存器为例实现子系统的设计和封装并仿真下列波形4位双向移位寄存器并行输出波形;4位双向移位寄存器串行右移输出波形;4位双向移位寄存器串行左移输出波形三、以扭环计数器为例仿真下列波形扭环计数器的输出波形(以JK触发器实现)3、 设计原理及步骤1、 移位寄存器移位寄存器。

2、:不但可以寄存数码,在移位脉冲作用下,寄存器中的数码还可根据需要向左或向右移动。基本(单向)移位寄存器(1)右移寄存器(D触发器组成的4位右移寄存器)结构特点:左边触发器的输出端接右邻触发器的输入端。图2.8 右移寄存器逻辑图图2.9 右移寄存器状态图2. 双向移位寄存器将右移寄存器和左移寄存器组合起来,并引入一控制端S便构成既可左移又可右移的双向移位寄存器。图2.10 双向移位寄存器逻辑图3、 扭环计数器扭环计数器可以进一步提高电路状态的利用率,图2.11所示扭环计数器,有效循环中的状态数提高至8个,但电路仍无法自启动。图2.11 基本扭环计数器图2.12是可以自启动的扭环计数器,电路工作原。

3、理如下。图2.12 改进型扭环计数器(1)写方程式。驱动方程:将驱动方程代入D触发器的特性方程,得到扭环计数器的状态方程。状态方程:(2)列状态转换真值表,画出状态转换图。设扭环计数器现态=0000,代入状态方程进行推导,得表2.5所示的状态转换真值表。表2.5 环形计数器状态转换真值表计数脉冲 序号现态次态1000000012000100113001101114011111115111111106111011007110010008100000009001000011001001001110101101112011011011310010010141010000015101101101611。

4、011010根据状态转换真值表,画出状态转换图,见图2.13。图2.13 改进型扭环计数器状态转换图(3)检查电路自启动能力。经检查,该电路能够自启动。(4)画出电路时序图,见图2.14。图2.14 改进型扭环计数器时序图(5)电路逻辑功能说明。由以上分析,4位扭环计数器有效循环有8种状态,可计8个数。扭环计数器的优点是每次状态变化只有一个触发器翻转,译码器不存在竞争冒险现象,电路比较简单。缺点是电路状态利用率仍然不高。4、步骤用基本RS触发器构造并行寄存器第一步:添加模块有五个模块。RS触发器,Simulink ExtrasFlip FlopsS-R Flip-Flop.;时钟源,Simul。

5、ink ExtrasFlip FlopsClock;脉冲源,SimulinkSourcesPulse Generator; 逻辑运算模块,SimulinkMath OperationsLogical Operator; SimulinkSinkScope.将它们全部拖入一个新建模型中。第二步:修改模块参数首先我们双击RS触发器模块,将会看到如图3.2所示的对话框。在对话框里只有一个参数填写,就是触发器的初始状态,即Q端的初始值,默认值0。复制两个。双击时钟源,将会看到图3.3所示对话框。填写参数时钟周期,采用默认值2。接着讲逻辑运算模块复制4个,通过双击模块将这4个设置为2输入与非门。图3.2。

6、 RS触发器参数设置 图3.3 时钟源参数设置将脉冲源的Pulse Type选择Sample based。将表3.1内容填入图3.4所示的对话框中。表 3.1 并行寄存器脉冲源参数设置D0D1幅度11周期33脉宽11延迟相位00抽样时间10.25图3.4 脉冲源参数设置 最后将示波器输入端口该为5个,完成参数设计。第三步:连线及仿真将各模块摆放合适,参照图3.5连线。示波器分别件事时钟源,两个脉冲模型和两个触发器的输出信号。完成连线,将示波器上的线通过双击进行标注。最后将整个模型保存在MATLAB的work的子目录下。仿真时间默认为10秒,单击工具栏上图标,开始仿真。最后双击示波器观察输出波形。

7、,如图3.6所示。移位寄存器的设计在这个设计中,将使用另一种触发器,D触发器,来实现移位寄存器。所谓移位寄存器就是只能接收一个输入源的寄存器,它将这个输入依次通过寄存器堆进行缓存。(1) D触发器功能介绍在上面的介绍中已讲过D触发器的功能与其真值表,在这就不多概述。(2) 用D触发器构造移位寄存器第一步:添加模块方法同上,分别找到6个模块,D触发器,时钟源,单位延迟单元,常数源,脉冲源,示波器。运行Simulink,将这些模块拖入新建模型中。第二步:修改模块参数D触发器复制4个即可,时钟源依然默认2即可,双击单位延时模块,可以看到对话框,修改参数初始值为1,抽样时间改为0.1,复制这个单元3个。

8、。脉冲源设置幅度为1,周期为3,脉宽为1,相位延迟为0,采样时间为0.3。然后将这个脉冲命名为INPUT。常数源设置为1,最后将示波器输入端设置为6个。第三步:连线及仿真将各模块摆放整齐,参照图3.7连线。然后同样保存好。单击Simulink菜单下的Parameters命令,将仿真时间设为20秒,单击工具栏中的运行图标,开始仿真。然后双击示波器观察波形。四位双向移位寄存器子系统的设计和封装第一步:T4194电路设计T4194有十个输入端口,4个输出端口。其中三个是控制信号(S0、S1、Rd),一个时钟信号(CLK),还有两个串行输入端口(Leftin、Rightin),4个必行输入端口(D3D。

9、0)。控制端对T4194工作状态的控制如表3.2所示。表3.2 T4194工作状态RdS1S0工作状态0*清零100保持101右移110左移111并行输入这个系统由4个下降沿触发的RS触发器构成。同时需要其他逻辑功能非常多,最后实现如图3.10的T4194内部电路。图3.10 T4194内部电路分别将每个RS触发器双击设置初始值依次为Q0、Q1、Q2、Q3。然后按照图3.10所示将电路连接完成,圈器电路,然后单击“EDIT”菜单下的“Creat Subsystem”命令,生成一个子系统,并命名为T4194,就可以生成T4194子系统的设计。然后保存。第二步:封装子系统首先单击T4194子系统,。

10、然后再“EDIT”菜单下选择”Mask Subsystem”命令,只是出现对话框:MASK EDITOR。如图3.11所示,将这个对话框设置好。图3.11 Mask Editor 中Icon设置图3.12 Mask Editor 中Parameters设置首先设置Icon页,左侧Icon options 下有四个栏目,依次设置为Visible、Transparent、Fixed、Autoscale。在右侧的Drawing commands中填写如下命令:disp(双向移位寄存器nn)disp (T1194)其中“n”是使用回车的命令。然后设置Parameters页,单击ADD,添加一个新的内容。

11、,在Prompt栏下填入“触发器F0初始状态”,然后在Variable栏内填入“Q0”。然后依次按图填入如图3.12所示4个内容,其他则不需改动。最后设置Documentation页,在Mask Type项内填写T4194;在Mask description下填入“这个模块是双向移位寄存器(T4194),既可以进行双向移位,又可以串行输入输出。”在Mask help下填入如下内容:Dd用于将所有输出清零,低电平有效;S1S0=00时,所有输出保持原有值;S1S0=01时,处于数据右移的状态,将RIGHTIN右移;S1S0=10时,处于数据左移的状态,将LEFTIN左移;S1S0=11时,处于数。

12、据并行输出状态,将D3D2D1D0并行输出。就完成了对最后一页的设置如图3.13所示。图3.13 Mask Editor 中Documentation设置然后单击“OK”就可以完成封装后的模块了。然后双击该模块出现如图3.14所示的对话框。图3.14 封装后模块的对话框单击“Help”出现帮助内容。如图3.15所示。图3.15 封装后模块Help窗口(2) 完成仿真电路并进行仿真在完成T4194模块封装后,我们设置下外围电路,如图3.16所示。添加入6个脉冲源,一个时钟源,然后加入示波器,改为5输入。显示4个输出信号和时钟波形。图3.16 双向移位寄存器顶层图各个脉冲源参数设置参照表3.3.表。

13、3.3 T4194的脉冲参数设置D0D1D2D3LEFTINRIGHTIN幅度111111周期345253脉宽131131相位延迟000000抽样时间0.30.30.60.60.150.4最后根据开关的状态,分别决定T4194工作状态。通过开关将S1S0设置成11,然后点击工具栏运行,开始仿真。可以看到并行输出的波形,任意图3.17所示;置成01,观察右移的波形,如图3.18所示;置成10,观察右移的波形,如图3.19所示。从波形看到T4194实现的各种功能。以扭环计数器为例仿真下列波形设计扭环计数器内部电路和封装扭环计数器内部电路如图3.20所示。图3.20 扭环计数器内部电路先运行Simu。

14、link,然后新建一模型,添加一个子系统,然后双击打开该模块,将图3.20绘入其中。下面进行参数设置。四个触发器初始值设置为Q3、Q2、Q1、Q0。相应的单位延时模块也同它连接的Q端一致。然后单击顶层文件进行封装。按照前边的步骤即可,设置完成后,双击这个模块,可以看到图3.21所示内容,设置其出示值,设置为0100即可,输入时应输入0,1,1,0。图3.21 扭环计数器封装后的对话框然后在做顶层文件的设计,添加增益、相加器、仿真时间和平面图模块。这样可以用十进制的方式观察输出。再加入时钟源即可。进行参数设置,时钟源周期外围1,平面模块的横坐标范围设为-1到31,纵坐标设置为-1到16。然后单击。

15、Parameters命令,将仿真时间改到30秒。保存文件。然后单击运行。4、 系统仿真结果及分析 一、以寄存器为例仿真下列波形并行寄存器输出波形(以基本RS触发器构造);从波形看出,在时钟源位于低电平时,触发器输出维持它在时钟下跳前的值,对于D1D0输入的变化没有改变,而当时钟源位于高电平时,输入的信号全部送入输出端,这是一个不稳定的因素,也是电平触发的触发器的一个缺点。而且发现两个触发器完全独立工作,互不影响,这就是并行的特点。移位寄存器输出波形(用D触发器构造)由图看出在时钟信号上升沿,各个触发器的输出端才会变化。而且四个触发器的输出一次延时一个周期,这个分析一致。二、以双向移位寄存器为例。

16、实现子系统的设计和封装并仿真下列波形4位双向移位寄存器并行输出波形;4位双向移位寄存器串行右移输出波形;4位双向移位寄存器串行左移输出波形三、以扭环计数器为例仿真下列波形扭环计数器的输出波形(以JK触发器实现)五、设计体会(一)设计中遇到的问题对于Simulink中的其他函数并不是十分了解,对MATLAB的Simulink仿真不是很熟悉。(2) 体会通过这次课设,我认识到了MATLAB功能非常的强大,使得我们在使用的时候用户直接调用这些库函数并赋予实际参数就能解决实际问题,具有极高的变成效率。我也熟悉了MATLAB的工作环境,可以很熟练的对MATLAB进行常规的操作,快速进行程序编辑和仿真。本文次课设通过一个设计实例,利用MATLAB实现时序逻辑电路的设计与仿真,从仿真结果可以看出它们均可以达到技术指标要求,而且方法简单、快捷,大大减轻了工作量。经过几天的奋战我的课程设计终于完成了。

matlab 与非门 simulink,基于MATLAB的时序逻辑电路设计与仿真相关推荐

  1. 时序逻辑电路设计与仿真

    一.实验目的 1.掌握时序逻辑电路的设计方法: 2.掌握基于 QuartusII 集成开发环境的时序逻辑电路设计流程: 3.熟练掌握VerilogHDL语言: 4.熟练掌握 DE2-115 开发板的使 ...

  2. matlab设计译码器,基于MATLAB的循环码编译码器设计与仿真.doc

    扳昂旨螺冈唉陨裤外狸尿恨铸伸隧刽搅必勒诚天腑皖漂豌鲁靳碑缆键兽峙棘陶宽槐撒层僧袁廖颤渐魄货鼎躬薛扬衍逮西兰迫依煤鲁虐渠惫平合啥昭并屿己笆坍痞庐披吏去凄嘛兄察突徊溅今箩直藩潦咙锨谓崇若制匹扮复淌颐糖嗅你 ...

  3. 实验二 组合逻辑电路设计;实验三 时序逻辑电路设计

    文章目录 实验二 组合逻辑电路设计实验报告 实验三 时序逻辑电路设计实验报告 实验二 组合逻辑电路设计实验报告 一.实验目的 1.加深理解组合逻辑电路的工作原理. 2.掌握组合逻辑电路的设计方法. 3 ...

  4. 双 JK 触发器 74LS112 逻辑功能。真值表_时序逻辑电路设计(一):同步计数器...

    时序逻辑电路设计(一):同步计数器 时序电路的考察主要涉及分析与设计两个部分, 上文介绍了时序逻辑电路的一些分析方法,重点介绍了同步时序电路分析的步骤与注意事项.本文就时序逻辑电路设计的相关问题进行讨 ...

  5. 零基础学FPGA(五):时序逻辑电路设计之计数器(附有呼吸灯实验、简单组合逻辑设计介绍)

    目录 日常·唠嗑 前言 一.认清逻辑设计 二.时序逻辑电路设计 三.扩展:呼吸灯实验 日常·唠嗑 第一次建立<零基础学FPGA>专栏,是在2021年2月2日,已经过去了一年了,目前只更新了 ...

  6. 时序逻辑电路设计实例

    时序逻辑电路设计实例: [例1]触发器设计实例 module dff( q, data, clk);output q;input data, clk;reg q;always @( posedge c ...

  7. 异步时序逻辑电路设计方法(统一使用上升沿触发的触发器)

    在异步时序逻辑电路设计部分停留了好些时候, 思维一度陷入混乱, 但最终还是坚持了下来, 并找到了一种设计异步时序逻辑电路的方法. 这里肯定会有很多朋友问道, 既然已经掌握了同步时序逻辑电路的设计方法, ...

  8. multisim13学习_基于Multisim13数字流水灯电路设计与仿真 - 镇江高专学报.PDF

    基于Multisim13数字流水灯电路设计与仿真 - 镇江高专学报 第30卷第1期 镇 江 高 专 学 报 Vol.30 No.1 2017年1月 JournalofZhenjiangCollege ...

  9. matlab求解外弹道,基于MATLAB∕Simulink的通用质点外弹道程序设计.pdf

    2017.01 设计与研发 基于 MATLAB/Simulink 的通用质点外弹道程序设计 崔 瀚 (沈阳工学院兵器类虚拟仿真实验教学中心, 辽宁抚顺 ,113122 ) 摘要:本文以弹丸质点外弹道学 ...

最新文章

  1. java某人有5张三分_能不能帮我做一下题目啊,JAVA的,请求高手解答!
  2. 作为公司新上任的管理者,如何更好的规划工作方案
  3. php 循环从数据库分页取数据批量修改数据
  4. css应用网页设计,CSS技术在网页设计中的运用
  5. 更锋利的C#代码-读书笔记
  6. 字符串型的数字相加减_【每日编程158期】罗马数字转整数
  7. 【Machine Learning 六】梯度下降法(基于Matlab 求函数最小值)
  8. 'WebElement' object is not iterable
  9. asp小偷转html,ASP之XMLHTTP小偷程序的简单代码范例
  10. 关于百度移动端搜索中结果聚合的几个常见案例分析
  11. docker安装gamit_gamit的安装步骤
  12. 2021年黄石二中高考成绩查询,【黄石二中2018高考金榜】黄石二中2004届高考总结...
  13. [038]量化交易]显示所有股票名称及股票代码
  14. [HEOI2013] 钙铁锌硒维生素
  15. 记录错误:ImportError: No module named ‘tools‘。jupyter无法import第三方文件夹的库
  16. Origin双Y轴图形画法,添加图例,合并图例
  17. 让你的代码减少90%,这些Java工具库太强大了!
  18. 程序UI设计——工业软件UI 设计心得
  19. 【蓝桥杯练习系统】【入门训练】【BEGIN-1】A+B问题 (Java)
  20. 你的Web3域名,价值究竟何在?

热门文章

  1. SRCNN-基于深度学习的图像超分入门
  2. JAVA版WMS物流仓储管理系统源码,包含PDA端和Web端
  3. Apple屏下TouchID申请专利 短波红外光学指纹识别
  4. Android自定义控件之3D上下翻页效果的倒计时控件
  5. 【Java】【LeetCode】买卖股票的问题
  6. 考研:研究生考试(十五天学完)之【数学考试】—《高等数学-上册/下册》、《线性代数与空间解析几何》、《概率与统计》的研究生学霸重点知识点总结之考试内容各科占比及其知识结构重点
  7. 如何解决IP地址发生冲突故障?
  8. Windows滑动关机方法
  9. 新一代可重构ERP系统(转)
  10. 拖更的这段日子+这并不友好的环境+不能再犯懒了