版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA课程实验八状态机逻辑电路设计EDA课组一、实验目的:1、了解状态机逻辑电路设计原理及特点;2、学习使用状态机逻辑电路设计方法。二、实验内容2、通过仿真软件进行验证仿真
。1、设计两种典型状态机逻辑电路系统;在数字系统中,有限状态机(FSM,FiniteStateMachine)是一类十分重要的时序电路。微控制器的核心就是FSM。因此学习FSM的原理及设计方法对于学习数字系统设计和理解计算机原理都有重要意义。本章首先概要介绍FSM的相关理论知识,通过典型实例说明FSM的设计方法。1、FSM概念三、实验原理有限状态机由输入和输出和具有记忆功能的寄存器组成,寄存器用于寄存状态机内部状态,也称状态寄存器。状态机的下一个状态不仅与输入信号有关,还与该寄存器的当前状态有关,因此有限状态机可看作是组合逻辑与时序逻辑的一种组合。其中的时序逻辑功能是存储有限状态机的内部状态;而组合逻辑又可分为次态产生逻辑和输出逻辑两部分,次态产生逻辑的功能是确定有限状态机的下一个状态,输出逻辑功能是确定有限状态机的输出。由于FSM的描述较为复杂,因此不能使用原理图方法进行描述,而必须采用VerilogHDL语言进行行为级设计。2、FSM组成思考一下电梯运动控制过程?电梯从一楼到顶楼是一系列楼层,电梯到达每一层要显示该层楼层信息,还要由乘坐人控制去那一层,在经过的楼层还要判断是否有相同方向的人乘坐,这一系列控制判断过程如何设计呢?一层二层三层四层N层将整个电梯控制过程运行状态分解为N个状态,在每个状态下决定下一步如何控制,这就是将复杂状态的运动过程分解为一系列状态过程,这就是状态机设计思想。有限状态机是一个广义的时序电路,它能将复杂逻辑分解为众多状态来完成,使复杂逻辑层次分明,是设计复杂电路的方法。根据输入与输出机状态之间的关系,状态机分为两类:摩尔型(moore)状态机和米里型(Mealy)。摩尔型(Moore)状态机
米里型(Mealy)状态机
3、FSM原理框图三、实验步骤1、序列检测器的设计序列检测器是一种用来监测一组或多组序列信号的电路,在数据通信、雷达、遥感、遥测等领域中广泛应用,主要用于检测同步识别标志。下面通过Mealy型状态机设计由输入信号中检测010序列,状态编码采用格雷编码。dinclkresetdouts0s2s11/00/11/01/00/00/0框图状态图状态表s下一状态din=0din=1s0=00s1,0s0,0s1=01s1,0s2,0s2=11s1,1s0,0din001010101由输入信号检测010序列Verilong程序modulemealyfsm(clk,reset,din,dout,cs_state,ns_state);outputdout;output[1:0]cs_state,ns_state;inputclk,reset,din;regdout;//用格雷码编码声明状态值parameter[1:0]s0=2'b00,s1=2'b01,s2=2'b11;reg[1:0]cs,ns;assigncs_state=cs,ns_state=ns;always@(posedge
clk,posedge
reset)beginif(reset==1'b1)//异步复位,高电平有效cs<=s0; else cs<=ns;end//次态计算及输出信号产生,always@(cs,din)case(cs) s0:begin dout=1'b0; if(din===1'bx)ns=s0; elsens=(din)?s0:s1; end
s1:begindout=1'b0;ns=(!din)?s1:s2;ends2:begindout=(din)?1'b0:1'b1;ns=(din)?s0:s1;enddefault:begindout=1'b0;ns=s0;endendcaseendmodulemealy型状态机仿真结果可见输出dout和次态ns均由当前状态cs和输入din共同决定。这是mealy状态机特点。din001010101din输入数据频率要小于时钟频率才能准确检测相应数据位!s0s2s11/00/11/01/00/00/0给定din(01000101)检测结果01001001dout显示的脉冲都是在检测最后一个数对应时钟上升沿时结束,当输入的数据在一个时钟内反复变化将导致时钟周期内的次态跟着变化,而现态没有变化,这就检测不出所要的数据。时钟周期相当于数据检测的时间分辨率。2、二进制乘法器设计:实现两个8位二进制数的乘法运算,被乘数(mcnd)和乘数(mplr)存放在寄存器mcnd_temp和acc[7:0]中,乘积为16进制数,运算完后存放在16位寄存器acc[15:0]中。shiftaddcomp1initcount<8递增countacc右移复位acc初始化countreset=1reset=0如果acc[0]=1将mcnd加到acc输出done=1count=8乘法状态机的状态图⑴状态机模型开始处于init状态,并且只要复位信号reset为高电平,就停留在该状态。当reset为0时,累加器acc清零,计数器count被复位,被乘数mcnd和乘数mplr被加载到寄存器mcnd_temp和acc的低8位中,然后进入add状态。⑵当处于add状态时,只要当乘数的最低位(acc[0])为1时,将被乘数加到部分积(acc的高八位)中,然后进入到shift状态中。⑶在shift状态时,将部分积(acc)右移一位,并将计数器(count)加1,如果计数器值为8,则进入compl状态;如果计数器值小于8,则返回到add状态进行下一轮移位相加直到计数器值变为8。⑷compl状态表示运算完成,将输出使能信号done置为高,此时acc内存放的即为乘法器运算的结果,然后返回init状态。shiftaddcomp1initcount<8递增countacc右移复位acc初始化countreset=1reset=0如果acc[0]=1将mcnd加到acc输出done=1count=8乘法器状态机Verilog程序modulemulti8(mplr,mcnd,clk,reset,done,acc,count,mul_state,next_state);outputdone;output[15:0]acc;output[3:0]count;
output[1:0]mul_state,next_state;input[7:0]mplr,mcnd;inputclk,reset;reg[15:0]acc;reg[1:0]cs,ns;reg[7:0]mcnd_temp;reg[3:0]count;regdone;//定义状态编码为格雷码parameter[1:0]init=2'b00,add=2'b01,shift=2'b11,compl=2'b10;assignmul_state=cs;//方便查看状态机状态转换过程assignnext_state=ns;always@(negedgeclk,posedgereset)if(reset)
cs<=init;else
cs<=ns;乘法器状态机Verilog程序//次态计算always@(cs)begincase(cs)
init:ns=add;
add:ns=shift;//当count由0~7变化刚好移动8次,完成8为乘法运算
shift:if(count==4’b0111)ns=compl;elsens=add;
compl:ns=init;
endcaseend//产生输出信号always@(negedge
clk)
case(cs)
init:beginacc[15:8]<=8’b0000_0000;acc[7:0]<=mplr;done<=1’b0;mcnd_temp[7:0]<=mcnd;count<=3’b000;end//判断乘数最高位是否为1,//则将被乘数加到部分积中add:if(acc[0]==1’b1)acc<=acc+{mcnd_temp,8’b0000_0000);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年岳阳市岳阳楼区住房和城乡建设局人员招聘笔试备考试题及答案详解
- 2026秋季学期中山市港口镇公办学校编外教师招聘34人考试参考题库及答案详解
- 2026重庆市永川区教育委员会招聘公益性岗位人员1人考试模拟试题及答案详解
- 2026年台州仙居县人民医院招聘编外工作人员18人考试备考题库及答案详解
- 2026云南曲靖市麒麟区寥廓街道天池社区居民委员会招聘公益性岗位人员1人考试参考题库及答案详解
- 2026年佛山市南海区住房和城乡建设局人员招聘笔试参考试题及答案详解
- 2026粤北人民医院招聘编外人员67人(广东)考试参考题库及答案详解
- 2026年上海宝山顾村科技园学校下半年实习(代课)教师招募笔试参考题库及答案详解
- 2026年牡丹江市东安区住房和城乡建设局人员招聘笔试参考题库及答案详解
- 2026浙江康复医院劳务派遣人员招聘3人(护理院护士护理学专业)考试参考题库及答案详解
- 教资科目二必背知识点
- 医院院外会诊申请单、医师外出会诊审核表、医师外出会诊回执
- JTS-165-6-2008滚装码头设计规范-PDF解密
- 网络舆情应对及处置
- DB43-T 1267-2023机动车检验机构建设和运行管理规范
- 英语学习之EMAIL写作培训课件
- 二手房交易管理系统数据库概论课题设计
- 2015年版干部履历表
- NB/T 10756-2021煤矿在用无轨胶轮车安全检测检验规范
- GB/T 21152-2018土方机械轮式或高速橡胶履带式机器制动系统的性能要求和试验方法
- GB/T 20492-2006锌-5%铝-混合稀土合金镀层钢丝、钢绞线
评论
0/150
提交评论