数电课程设计

2020-03-03 16:38:14 来源:范文大全收藏下载本文

数电课程设计(序列检测器)

课程设计题目:设计一个10010的序列检测器。

设计思路如下:

状态图

INIT=0,A1=1,A2=10,A3=100,A4=1001,A5=10010.图中,沿红线状态从INIT变到A5,即输入为正确的序列10010,黑线为每次输入错误时的状态转移。

状态转移表

设计程序如下

module xljcq(clk,A,unclk); input clk,A; output unclk; reg unclk; reg [4:0] Sreg,Snext; parameter INIT=1\'b0,

A1=1\'b1; parameter [1:0] A2=2\'b10; parameter [2:0] A3=3\'b100; parameter [3:0] A4=4\'b1001; parameter [4:0] A5=5\'b10010; always @(posedge clk)

Sreg

case(Sreg)

INIT: if(A==0) Snext=INIT;

else

Snext=A1;

A1:

if(A==0) Snext=A2;

else

Snext=A1;

A2:

if(A==0) Snext=A3;

else

Snext=A1;

A3:

if(A==0) Snext=INIT;

else

Snext=A4;

A4:

if(A==0) Snext=A5;

else

Snext=A1;

A5:

if(A==0) Snext=A3;

else

Snext=A1;

default Snext=INIT;

endcase end always @(Sreg)

case(Sreg)

INIT,A1,A2,A3,A4: unclk=0;

A5: unclk=1;

default unclk=0;

endcase endmodule

程序功能仿真图:

Figure1

从figure1中可以看出在连续的6个clk的posedge, 输入A为10010,所以在第六个clk的posedge,输出unclk由0变为1。

Figure2

Figure2是紧接figure1的功能仿真时序图,在此时序中,六个clk 的posedge输入A为101010,和设计的要求一样,unclk一直都为0.

数电课程设计

数电课程设计

数电课程设计

数电课程设计

数电课程设计

数电课程设计

数电课程设计

数电课程设计

数电课程设计

数电课程设计

《数电课程设计.doc》
数电课程设计
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文