基于D触发器的四位格雷码加1计数器的设计

  • 格式:doc
  • 大小:985.00 KB
  • 文档页数:8

大作业4----基于D触发器的四位格雷码加1计数器的设计

一、状态图

Q4Q3

Q2Q1 00 01 11

10

00 0001

1100 1101

0000

01 0011

0100 1111

1000

11 0010 0101 1110 1001

10 0110 0111 1010 1011

Q4(t+1)Q3(t+1)Q2(t+1)Q1(t+1)

化简得到:

Q4(t+1)= Q4Q1+Q4Q2+Q3Q2 Q1

Q3(t+1)= Q4 Q2Q1 +Q3Q1+Q3Q2

Q2(t+1)=Q2Q1 +Q4 Q3 Q1+Q4Q3Q1

Q1(t+1)= Q4 Q3 Q2 +Q4 Q3Q2+Q4Q3Q2 +Q4Q3 Q2 0000 0001 0011 0010 0110

0111 0101 0100 1100 1101

1111 1110 1010 1011 1001

1000 Q4Q3Q2Q1

根据D触发器的特性方程Q(t+1)=D,可得4个激励方程得

D4=Q4Q1 Q2 +Q3Q2 Q1

D3=Q4 Q2Q1 +Q3Q1 Q2

D2= Q2Q1 +Q1(Q4⊙Q3)

D1=Q4 (Q3⊙Q2)+Q4(Q3⊕Q2)=Q4⊕(Q3⊙Q2)

二、仿真

1、原理图 2、编译原理图

3、波形仿真 4、波形编译

5、设定I/O

6、生成逻辑符号

三、增加异步清零和计数使能

增加两个输入端,clr和EN,为1时两个端口有效。 四、代码

module A(cp,state);

parameter S0=4'b0000,S1=4'b0001,S2=4'b0011,S3=4'b0010,S4=4'b0110,

S5=4'b0111,S6=4'b0101,S7=4'b0100,S8=4'b1100,S9=4'b1000;

input cp;

output [4:1]state;

reg [4:1]state;

always@(posedge cp)

case(state)

S0: state<=S1;

S1: state<=S2;

S2: state<=S3;

S3: state<=S4;

S4: state<=S5;

S5: state<=S6;

S6: state<=S7;

S7: state<=S8;

S8: state<=S9;

S9: state<=S0;

default state<=S0;

endcase

endmodule

五、总结

D 型触发器的输入输出关系简单明了,通过状态图等画出卡诺图,得到输入输出关系是多位寄存器的基本结构。HDL考虑现态和次态的关系。通过这次大作业,更加深入了解了触发器,也巩固了之前有关卡诺图的知识。