用状态机实现序列检测器的设计
直接加封面就可以上交。。
1. 掌握基于语言的ISE设计全流程;
实验三:用状态机实现序列检测器的设计
一、实验目的
2. 用状态机实现序列检测器的设计,并对其进行仿真和硬件测试。
3. 掌握基于语言的ISE设计全流程;
4. 熟悉、应用VerilogHDL描述数字电路;
二、实验原理与设计过程
(一)实验内容:序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出A,否则输出b。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。例3-1描述的电路完成对序列数"11100101"的。当这一串序列数高位在前(左移)串行进入检测器后,若此数与预置的密码数相同,则输出“A”,否则仍然输出“b”。
(二)本次实验的核心是:应用有限状态机的设计思路,检测输入的串行数据是否是8’b11100101。根据下载电路板的资源,拟用SW3---SW0,J4接口的E8,F8,C7,D7作为系统输入(系统由此需要设计一个8bits并行数据转串行的模块),一个7段数码显示译码器作为检测结果的输出显示,如果串行序列为”11100101”,显示A,否则显示b(系统需要设计一个7段数码显示译码器模块),为了显示可控,清晰,拟用V16,D18实现时钟,复位信号的输入。
(三)设计参考:本实验由顶层文件、串行检测、并行数据转串行、数码管显示四个模块组成:
直接加封面就可以上交。。
a) 系统共包括4个模块:并行数据转串行数据模块、串行检测模块、数码管显示模块、消抖模块。由于需要用按键V16作为时钟输入,为保证实验效果,调用实验二中应用的消抖模块,对时钟clk输入信号进行消抖。
b) 对于并行数据转串行数据模块输入输出端口说明:
i.
ii. clk-----系统时钟,由按键V16通过消抖模块后提供。 din8-----8bits输入数据,需在时钟控制下,串行输出。
iii. reset----系统复位信号,当reset=1’b1时,系统输出复位,否则系统正常工作。
iv. din----------1bit输出信号。
该并行模块的设计如下:
module xulie_u1(clk,din8,reset,din );
input clk;
input[7:0] din8;
input reset;
output din;
parameter
s0 = 3'b000,
s1 = 3'b001,
s2 = 3'b010,
s3 = 3'b011,
s4 = 3'b100,
s5 = 3'b101,
s6 = 3'b110,
s7 = 3'b111;
reg[2:0] cur_state,next_state;
reg din;
always @ (posedge clk or posedge reset)
if(reset)
cur_state <= s0;
else
cur_state <= next_state;
always @ (cur_state or din8 or din )
begin
case (cur_state)
s0 : begin
din <= din8[7];
next_state <= s1;
end
s1 : begin
din <= din8[6];
next_state <= s2;
end
直接加封面就可以上交。。
s2 : begin
din <= din8[5];
next_state <= s3;
end
s3 : begin
din <= din8[4];
next_state <= s4;
end
s4 : begin
din <= din8[3];
next_state <= s5;
end
s5 : begin
din <= din8[2];
next_state <= s6;
end
s6 : begin
din <= din8[1];
next_state <= s7;
end
s7 : begin
din <= din8[0];
next_state <= s0;
end
default : begin
din <= 1'b0;
next_state <= s0;
end
endcase
end
endmodule
(四)对于串行检测模块其输入输出端口说明如下:
a) din-----1bit的串行输入数据
b) clk-----同步输入时钟
c) clr ------异步清零信号,当CLR=1,系统输出置0,否则,系统正常工作 d) AB--------4bits数据,如果系统检测到8’b11100101的串行输入,AB=4’b1010,否则,AB=4’b1011.
e) 其设计代码如下:
module schk_u2(din,clk,reset,AB);
input din;
input clk;
input reset;
output[3:0] AB;
直接加封面就可以上交。。
reg[3:0] AB;
reg[3:0] current_state,next_state;
parameter
st0=4'b0000,
st1=4'b0001,
st2=4'b0010,
st3=4'b0011,
st4=4'b0100,
st5=4'b0101,
st6=4'b0110,
st7=4'b0111,
st8=4'b1000;
always @ (posedge clk or posedge reset)
begin
if(reset)
current_state<=st0;
else
current_state<=next_state;
end
always @ (current_state or din)
begin
case(current_state)
st0:begin AB<=4'b1011; next_state<=(din==1)?st1:st0;end
st1:begin AB<=4'b1011; next_state<=(din==1)?st2:st0;end
st2:begin AB<=4'b1011; next_state<=(din==1)?st3:st0;end
st3:begin AB<=4'b1011; next_state<=(din==0)?st4:st3;end
st4:begin AB<=4'b1011; next_state<=(din==0)?st5:st1;end
st5:begin AB<=4'b1011; next_state<=(din==1)?st6:st0;end
st6:begin AB<=4'b1011; next_state<=(din==0)?st7:st1;end
st7:begin
if(din==1)
begin AB<=4'b1010;next_state<=st8;end
else
begin AB<=4'b1011;next_state<=st0;end
end
st8:begin AB<=4'b1011; next_state<=(din==1)?st1:st0;end
endcase
end
endmodule
(五)其中最后的LED驱动模块不做过多说明,只是简单的设计如下:
module decled7s_u3(AB,led7 );
input[3:0] AB;
output[6:0] led7;
直接加封面就可以上交。。
reg[6:0] led7;
wire[3:0] AB;
initial led7=7'b0000000;
always @ (AB)
begin
case(AB)
4'b1010:led7<=7'b1110111;
4'b1011:led7<=7'b1111100;
default:led7<=7'b0111111;
endcase
end
Endmodule
· (六)最终加入消抖模块综合结果如下:
(七)综合模块代码:
module XULIEQI(clk_50M,clk1,reset,din8,led7 );
input clk_50M,clk1;
input reset;
input [7:0] din8;
output [6:0] led7;
wire [3:0] AB;
wire din,clk;
debounce_module u1(clk_50M,reset,clk1,clk);
xulie_u1 u2(clk, din8, reset, din);
schk_u2 u3(din,clk,reset,AB);
decled7s_u3 u4(AB,led7);
endmodule
三、实验仿真
(一)根据实验过程综合程序结果:
直接加封面就可以上交。。
(二)实验引脚约束文 …… 此处隐藏:2757字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [文秘资料]班长职务辞职报告
- [文秘资料]完美的辞职报告
- [文秘资料]经典的员工辞职报告
- [文秘资料]医院口腔医生辞职报告
- [文秘资料]总经理辞职报告范文四篇
- [文秘资料]超市职员个人辞职报告
- [文秘资料]村妇联主任的辞职报告
- [文秘资料]辞职报告书格式
- [文秘资料]酒店辞职报告简单范文
- [文秘资料]联通的辞职报告
- [文秘资料]2017最新私企员工辞职报告范文
- [文秘资料]2019年度医院基层党组织书记抓党建述职
- [文秘资料]工作时间长辞职报告
- [文秘资料]辞职报告怎么写出来
- [文秘资料]个人能力原因辞职报告
- [文秘资料]网络工程师辞职报告
- [文秘资料]项目部辞职报告
- [文秘资料]缝纫工辞职报告怎么写
- [文秘资料]XXX州委书记述职报告
- [文秘资料]抓基层党建工作述职报告
- (王虎应老师讲课记录)六爻理象思维
- 八个常见投影机故障排除法
- 质量专业综合知识(中级)第一章质量管理
- 煤矿班组建设实施意见
- 我国快餐业与肯德基经营模式的比较与分
- 汽车保险杠模具标准化模架技术工艺研究
- 汽车二级维护作业团体赛比赛规程
- 装卸搬运工安全操作规程
- 高效的工作方法-刘铁
- 依据《生产安全事故报告和调查处理条例
- 2015专业PS夜景亮化效果图制作教程
- 企业劳动定额定员浅析
- 中枢神经系统医学影像学本科五年制第五
- 长城汽车参观探营第三站:研发试验中心
- 小升初语文专项训练
- 建筑工程质量检测资质分类与等级标准
- 周燕珉-我国养老社区的发展现状与规划
- 《生命里最后的读书会》读后感
- 实验室管理评审报告
- CCNA思科网院教程精华之网络基础知识




