数字逻辑:建立1011序列检测器(使用MAX+plus II 、Verilog语言 编写)

代码

module t_1011(reset,clk,x,z,now,next);
	input reset,clk,x;
	output z;
	output[2:1] now,next;
	parameter y0=2'b00,y1=2'b01,y2=2'b11,y3=2'b10;
	reg z;
	reg[2:1] now,next;
	always @ (x or now)
        case(now)
            y0:if(x) 
                	begin
                		next=y1;z=0;
					end
               else 
                   begin
                   		next=y0;z=0;
					end
            y1:if(x)
                	begin
                		next=y1;z=0;
					end
                else 
                    begin
                    	next=y2;z=0;
					end
            y2:if(x)
                	begin
                		next=y3;z=0;
					end
               else 
                   begin
                   		next=y0;z=0;
					end
            y3:if(x)
                	begin
                		next=y0;z=1;
					end
               else 
                   	begin
                   		next=y2;z=0;
					end
            default:	begin
                		next=y0;z=0;
					end
        endcase
   always @ (posedge clk)
         begin
              if(!reset) now<=y0;
			  else now<=next;
		 end
endmodule
                                        
                         

说明

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值