数字电路课程设计姓名学号选题1011序列发生器和检测器的设计实现题目:1011序列发生器和检测器的设计实现。要求:1)设计一个1011序列发生器;2)设计一个1011序列检测器,改变序列检测器的输入可以通过人工拨动开关来选择。思路:(1)设计1011的序列发生器,由课件lec27FSMdesign&serialbitsgenerator上知识可知实现这一序列可选用计数器和数据选择器构成序列信号发生器,计数器选用74x163,它是一个带有低电平负载和清零输入端的同步4位二进制计数器,逻辑符号如图;数据选择器选用74x151在八个一位输入中选择,其逻辑图如图所示:选用这两个器件再加上一些组合逻辑器件就可连成如图所示的电路图构成序列信号发生器:(2)设计一个1011序列检测器,同理由lec27FSMdesign&serialbitsgenerator选用JK触发器设计在选用一些组合逻辑器件即可完成如图所示的电路图(3)整体步骤:具体步骤:(1)确定状态数:S0状态,初始状态,当前还没有1输入;S1状态:最后一个输入为1(1…);S2状态:最后二个输入为10(10…);S3状态:最后三个输入为101(101…);S4状态:最后四个输入为1011。(2)原始状态转换图:1/00/01/00/01/00/01/01/10/00/0(3)由原始状态转换图可得其状态转换表为:确定电路状态数原始状态转换图状态简化状态编码求驱动方程检查电路自启动仿真S0S1S2S3S4输入X:0输入X:1S0S0/0S1/0S1S2/0S1/0S2S0/0S3/0S3S2/0S4/1S4S2/0S1/0QQ*/ZQ*/Z由上图可知:状态S1=S4(4)状态编码:对S0,S1,S2,S3赋值为00,01,10,11可得状态转换表为由上表可得Q1*,Q2和Z的卡洛图为Q1*XQ2Q10001111001故可得:Q1*=XQ2*Q2Q1X0001111001故可得Q2*=Q1X’+XQ2Q1’输出Z输入X:0输入X:10000/001/00110/001/01000/011/01110/001/1Q2Q1Q2*Q1*/ZQ2*Q1*/Z0000011000011111111XQ2Q10001111001故可得:Z=XQ2Q1(5)求驱动方程:J1=XK1=X’J2=Q1X’K2=XQ1’+Q1X’Z=XQ2Q1可得出思路中电路图:(6)检查电路的自启动:由上表可知状态00,01,10,11全部为有效状态,即其没有无效状态,故电路肯定能自启动。(7)仿真此电路的Verilog程序为:moduleliyafeng(clk,res,Z);inputclk,res;outputZ;reg[1:0]x;wireZ;regnum;always@(posedgeclk)beginif(res==1)beginx=2'b00;endelsex=x+1;endalways@(posedgeclk)begincase(x)2'b00:num=1;0000001012'b01:num=0;2'b10:num=1;2'b11:num=1;endcaseendassignZ=num;endmodule它的时序图为:(8)心得体会:通过本次实验对数电知识有了更深入的了解,将其运用到了实际中来,明白了学习数字设计的意义,也达到了其培养的目的。在设计中,我也遇到了很多挫折,不过都一一克服了,这使我明白了感觉学会了并不等于真的会。在以后的学习中我也会谨记这次课程设计中所得经验,明白学生应该怎样去学习。成功就是在不断摸索中前进实现的,遇到问题不能灰心、烦躁,甚至放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。