源代码
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 18:29:57 07/29/2019
// Design Name:
// Module Name: seqdet_test
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module seqdet_test(
x,
z,
clk,
rst,
state
);
input x,clk,rst;
output z;
output [2:0]state;
reg [2:0]state;
wire z;
parameter IDLE = 'd0,A = 'd1,B = 'd2,
C = 'd3,D = 'd4,
E = 'd5,F = 'd6,
G = 'd7;
assign z = (state == E && x == 0)?1:0;
//当x序列10010最后一个0刚到时刻,时钟沿立刻将状态变成E,此时z应该变成高
always @(posedge clk)
if(!rst)
begin
state <= IDLE;
end
else
casex(state)
IDLE : if(x == 1)