ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:16.63KB ,
资源ID:8389695      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8389695.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验三用状态机实现序列检测器的设计Verilog.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验三用状态机实现序列检测器的设计Verilog.docx

1、实验三用状态机实现序列检测器的设计Verilog实验三_用状态机实现序列检测器的设计Verilog实验三 用状态机实现序列检测器的设计 一、实验目的: 用状态机实现序列检测器的设计,并对其进行仿真和硬件测试。 二、原理说明: 序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出a,否则输出b。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。例

2、3-1述的电路完成对序列数11100101的。当这一串序列数高位在前(左移)串行进入检描测器后,若此数与预置的密码数相同,则输出“a”,否则仍然输出“b”。 【例3-1】 /顶层文件: module XULIEQI(clk,reset,din18,LED7S); input clk; input reset; input 17:0 din18; output 6:0 LED7S; wire 3:0 AB; wire 17:0 din18; xulie u1 (clk, din18, reset, din); schk u2 (din,clk,reset,AB); decl7s u3 (AB,L

3、ED7S); endmodule /串行检测: module schk(DIN,CLK,CLR,AB); input DIN,CLK,CLR; output3:0 AB; reg 3:0 AB; reg 7:0 Q; parameter idle = 8b00000000, a = 8b00000001, b = 8b00000010, c = 8b00000100, d = 8b00001000, e = 8b00010000, f = 8b00100000, g = 8b01000000, h = 8b10000000; parameter data=8b11100101; always

4、(posedge CLK or negedge CLR) if(!CLR) begin Q = idle; end else begin case(Q) idle: begin if(DIN=data7) Q=a; else Q=idle; end a: begin if(DIN= data6) Q=b; else Q=idle; end b: begin if(DIN= data5) Q=c; else Q=idle; end c: begin if(DIN= data4) Q=d; else Q=c; end d: begin if(DIN= data3) Q=e; else Q=a; e

5、nd e: begin if(DIN= data2) Q=f; else Q=idle; end f: begin if(DIN= data1) Q=g; else Q=b; end g: begin if(DIN= data0) Q=h; else Q=idle; end h: begin if(DIN= data7) Q=a; else Q=idle; end default : Q=idle; endcase end always (Q) begin if(Q=h) AB = 4b1010 ; else AB = 4b1011 ; end endmodule /前端预置8位数据输入: m

6、odule xulie(clk, din18, reset, din); input clk; input17:0 din18; input reset; output din; reg din; parameter s0 = 5b00000, s1 = 5b00001, s2 = 5b00010, s3 = 5b00011, s4 = 5b00100, s5 = 5b00101, s6 = 5b00110, s7 = 5b00111, s8 = 5b01000, s9 = 5b01001, s10 = 5b01010, s11 = 5b01011, s12 = 5b01100, s13 =

7、5b01101, s14 = 5b01110, s15 = 5b01111, s16 = 5b10000, s17 = 5b10001; reg4:0 cur_state,next_state; always (posedge clk or negedge reset) if(!reset) cur_state = s17; else cur_state = next_state; always (cur_state or din18 or din ) begin case (cur_state) s17 : begin din = din1817; next_state = s16; end

8、 s16 : begin din = din1816; next_state = s15; end s15 : begin din = din1815; next_state = s14; end s14 : begin din = din1814; next_state = s13; end s13 : begin din = din1813; next_state = s12; end s12 : begin din = din1812; next_state = s11; end s11 : begin din = din1811; next_state = s10; end s10 :

9、 begin din = din1810; next_state = s9; end s9 : begin din = din189; next_state = s8; end s8 : begin din = din188; next_state = s7; end s7 : begin din = din187; next_state = s6; end s6 : begin din = din186; next_state = s5; end s5 : begin din = din185; next_state = s4; end s4 : begin din = din184; ne

10、xt_state = s3; end s3 : begin din = din183; next_state = s2; end s2 : begin din = din182; next_state = s1; end s1 : begin din = din181; next_state = s0; end s0: begin din = din180; next_state = s17; end default : begin din = 1b0; next_state = s0; end endcase end endmodule 提示:1.若对于D = 11100101 ,电路需记忆

11、:初始状态、1、11、111 、 1110 、11100、111001、1110010、11100101 共9种状态。 三、实验内容: 1. 编写由两个主控进程构成的有限状态机。画出状态图,并给出其仿真测试波形; 2. 自己编写数码管显示程序(decl7s.v)来显示A或B状态。已知数码管为共阳级连接。 输入(4bits) 输出(7bits) 显示内容 4b1010 7b 0001000 a 4b1011 7b 0000011 b 4b0000 7b1000000 0 提示:可以在default分支选用显示“0”。 3. 利用QuartusII对文本编辑输入、仿真测试并给出仿真波形,了解控制信

12、号的时序。最后进行引脚锁定并完成硬件测试实验。 建议用KEY3(PIN_W26)控制复位信号RESET;KEY2(PIN_P23)控制状态机工作时钟CLK;指示输出AB接数码管HEX0(PIN_AF10, PIN_AB12, PIN_AC12, PIN_AD11, PIN_AE11, PIN_V14, PIN_V13)。 5. 下载后,按以下提示进行操作: 1)、按实验板“系统复位”键; 2)、用SW17-SW0键输入包含待测序列数11100101 的18位数据; 3)、按下RESET键; 4)、按KEY2键(时钟clk输入) 18次,这时若串行输入的18位二进制序列码中包含有11100101 ,则数码管HEX0应从原来的B变成A ,表示序列检测正确,否则仍为B。 四、思考题: 说明代码表达的是什么类型的状态机,它的优点是什么,详述其功能和对序列数检测的逻辑过程; 五、实验报告: 根据以上的实验内容写出实验报告,包括设计原理、程序设计、程序分析、仿真分析、硬件测试和详细实验过程。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1