版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
序列检测器设计一、设计内容、设计要求设计内容:依据自己学号的最终两位十进制数转成712,转成二进制数为0001100D7位序列检测器,MealyMoore机设计的区分,以及未用状态的处理方法。要求对四种设计方法〔可重复使用+mealy机、可重复使用+moore+mealy+moore机中任选两种进展设计,并使用最小风险法设计〔有力气者四种方法均可以尝试〔时钟输入可选。设计要求:HDL代码,利用波形仿真并给出仿真结果。二、〔verilog语言程序及依据语言综合出来的电路图,并〕1、序列可重复使用和不行重复使用在设计时的区分:假设设计的是00011000001100时,该序列最终的两个00001100时,该序列的全部字都不能在下面的检测中使用。2MealyMoore机设计的区分:Mealy机的输出和当前状态、输入都有关,Moore机的输出只和当前状态有关。两种方式在设计时状态数量不同,输出方程不同。3、未用状态的处理方法:转为“安全”状态,如初始状态;最小本钱法是将全部未用状态的下一状态作为无关项。4、序列检测器的设计:2023010904006060000110。下面分别用四种设计方法设计序列检测器。可重复使用+mealy机。依据要检测的序列,先画出状态转移图,序列检测器状态转移图如下:当前状态S Q2Q1当前状态S Q2Q1Q0A01A00A000A0000A00001A000011S*/QSTA000001/0000/0A0001010/0000/0010011/0000/0011100/0000/0100100/0101/0101001/0110/0110001/1000/0下面用卡诺图找出状态转移方程和输出方程:由图得到表达式:Q=Q2Q1Q0’A’;Q0*=Q2’Q1Q0’A’+Q2Q1’Q0’+Q2Q1’A;Q2*=Q2Q1’Q0’+Q2Q1’A+Q2’Q1Q0A’;下面用软件进展综合与仿真:Verilog代码如下:modulexuliejiance(clk,q,a);inputa;inputclk;outputq;regq;parameterzero=0,one=1,two=2,three=3,four=4,five=5,six=6;reg[2:0]pr_state,nx_state;always@(posedgeclk)pr_state<=nx_state;always@(a,pr_state)case(pr_state)zero:if(a==1)beginnx_state=zero;q=0;endelsebeginnx_state=one;q=0;endone:if(a==1)beginnx_state=zero;q=0;endelsebeginnx_state=two;q=0;endtwo:if(a==1)beginnx_state=zero;q=0;endelsebeginnx_state=three;q=0;endthree:if(a==1)beginnx_state=zero;q=0;endelsebeginnx_state=four;q=0;endfour:if(a==1)beginnx_state=five;q=0;endelsebeginnx_state=four;q=0;endfive:if(a==1)beginnx_state=six;q=0;endelsebeginnx_state=one;q=0;endsix:if(a==1)beginnx_state=zero;q=0;endelsebeginnx_state=one;q=1;enddefault:beginq=0;nx_state=zero;endendcaseEndmoduleTextbench为:`timescale1ps/1psmodulemoor_vlg_tst;//constants//generalpurposeregistersregeachvec;//testvectorinputregistersrega;regclk;//wireswireq;//assignstatements(ifany)moori1(//portmap-connectionbetweenmasterportsandsignals/registers.a(a),.clk(clk),.q(q));initialbeginclk=1”b0;a=0;#4a=0;#4a=0;#4a=0;#4a=0;#4a=1;#4a=1;#4a=0;#4a=0;#4a=0;#4a=0;#4a=1;#4a=1;#4a=0;#4a=1;#200$stop;endalways//optionalsensitivitylist//@(event1orevent2or eventn)begin#2clk=~clk;endEndmodule由于这种方式写代码是不能综合处电路的,因此我依据状态转移方程,写了下面的代码:modulexuliejiance(clk,q,a);inputa;inputclk;outputq;regq=1”b0;regb=1”b0;regc=1”b0;regd=1”b0;regbn=1”b0;regcn=1”b0;regdn=1”b0;always@(posedgeclk)beginb<=bn;c<=cn;d<=dn;endalways@(a,b,c,d)begindn=((~b)&c&(~b)&(~a))|(b&(~c)&(~d))|(b&(~c)&a);cn=((~b)&(~c)&d&(~a))|((~b)&c&(~d)&(~a))|(b&(~c)&d&a);bn=(b&(~c)&(~d))|(b&(~c)&a)|((~b)&c&d&(~a));q=b&c&(~d)&(~a);endEndmodule综合的结果如下:可重复使用+moore机。依据要检测的序列,先画出状态转移图,序列检测器状态转移图如下:S当前状态S当前状态Q2Q1Q0STAA0A00A000A0000A/下一状态01输出QA00001A00001A000011011101000010000010000001010000001001100000111000000100100101010100111001 110 111 000 0下面用卡诺图找出状态转移方程和输出方程:由卡诺图得到状态转移方程和输出方程:Q2*=Q2Q0’A’+Q2Q1’Q0’+Q2Q1’A+Q2’Q1Q0A’;Q0*=Q2’Q0’A’+Q1Q0’A’+Q2Q1’Q0’A+Q2Q1’Q0A’;Q=Q2Q1Q0;下面用软件进展综合与仿真:Verilog代码如下:modulemoor(clk,q,a);inputa;inputclk;outputq;regq;parameterzero=0,one=1,two=2,three=3,four=4,five=5,six=6,seven=7;reg[2:0]pr_state,nx_state;always@(posedgeclk)pr_state<=nx_state;always@(a,pr_state)case(pr_state)zero:beginq=0;if(a==1)nx_state=zero;elsenx_state=one;endone:beginq=0;if(a==1)nx_state=zero;elsenx_state=two;endtwo:beginq=0;if(a==1)nx_state=zero;elsenx_state=three;endthree:beginq=0;if(a==1)nx_state=zero;elsenx_state=four;endfour:beginq=0;if(a==1)nx_state=five;elsenx_state=four;endfive:beginq=0;if(a==1)nx_state=six;elsenx_state=one;endsix:beginq=0;if(a==1)nx_state=zero;elsenx_state=seven;endseven:beginq=1;if(a==1)nx_state=zero;elsenx_state=two;enddefault:beginq=0;nx_state=zero;endendcaseEndmodule由于这种方式写代码是不能综合处电路的,因此我依据状态转移方程,写了下面的代码:modulemoor(clk,q,a);inputa;inputclk;outputq;regq=1”b0;regb=1”b0;regc=1”b0;regd=1”b0;regbn=1”b0;regcn=1”b0;regdn=1”b0;always@(posedgeclk)beginb<=bn;c<=cn;d<=dn;endalways@(a,b,c,d)beginend
bn=(b&(~d)&(~a))|(b&(~c)&(~d))|(b&(~c)&a)|((~b)&c&d&(~a));cn=(c&(~d)&(~a))|((~b)&(~c)&d&(~a))|(b&c&d&(~a))|(b&(~c)&d&a);dn=((~b)&(~d)&(~a))|(c&(~d)&(~a))|(b&(~c)&(~d)&a)|(b&(~c)&d&(~a));q=b&c&d;EndmoduleTextbench为:`timescale1ps/1psmodulemoor_vlg_tst;//constants//generalpurposeregistersregeachvec;//testvectorinputregistersrega;regclk;//wireswireq;//assignstatements(ifany)moori1(//portmap-connectionbetweenmasterportsandsignals/registers.a(a),.clk(clk),.q(q));initialbeginclk=1”b0;a=0;#4a=0;#4a=0;#4a=0;#4a=0;#4a=1;#4a=1;#4a=0;#4a=0;#4a=0;#4a=0;#4a=1;#4a=1;#4a=0;#4a=1;#200$stop;endalways//optionalsensitivitylist//@(event1orevent2or eventn)begin#2clk=~clk;endEndmodule综合出的电路如下:〔解释,以说明是否符合设计要求〕1、可重复使用+mealy机。从图中可以看出,在前七个周期,没检测到0000110,输出为0,在第八个周期,当输000001101mealy机;从第八个周期开头到第十四个周期,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026事业单位笔试-广东-广东放射治疗技术(医疗招聘)历年参考题库含答案详解
- 2025年政府采购履约验收业务考试真题及答案解析
- 三、显示图片教学设计小学信息技术粤教版B版六年级下册-粤教版(B版)
- 广东省中山市七年级生物下册“牛眼”看世界实验教学设计 (新版)新人教版
- 2026年深泽县带编教师招聘笔试备考试题及答案解析
- 2026年万荣县带编教师招聘笔试备考题库及答案解析
- 2026年宁南县医疗事业单位人员招聘考试模拟试题及答案解析
- 2026中国真空热成型包装行业展会经济效应与品牌曝光策略
- 2026年垣曲县带编教师招聘笔试备考题库及答案解析
- 主题引领的双微机制推动教师从心动走向行动
- 2027届高考语文复习:厘清语法逻辑 解锁语用考题 课件
- 2026天津地铁1号线综合站务员招聘笔试备考试题及答案详解
- 培智数学16册全册教学设计
- SYT 6696-2025《储油罐机械清洗作业规程》
- 2026年部编版新教材道德与法治小学三年级上册全册教案(含教学计划)
- 英语报刊选读第一章文体概述
- TCFLP0030-2021国有企业网上商城采购交易操作规范
- 2022年辽宁医药职业学院教师招聘考试真题
- 活动报价单明细
- 环境保护概论绪论课件
- 如何撰写教育部人文社科项目课题申报书
评论
0/150
提交评论