北航verilog实验报告 - 图文

实验八 利用有限状态机进行时序逻辑的设计

一.实验目的:

1.掌握利用有限状态机实现一般时序逻辑分析的方法。 2.掌握用Verilog编写可综合的有限状态机的标准模板。 3.掌握用Verilog编写状态机模块的测试文件的一般方法。 二.实验设备:

安装Modelsim-6.2b的PC机。 三.实验内容:

设计一个简单的状态机,功能是检测一个5位的二进制序列“10010”。

四.实验代码

module seqdet(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; always @(posedge clk) if(!rst) begin

state<=IDLE; end else

casex(state)

IDLE:if(x==1) begin

state<=A; end A:if(x==0) begin

state<=B; end

B:if(x==0) begin

state<=C; end else begin

state<=F; end C:if(x==1) begin

state<=D; end else

begin

state<=G; end D:if(x==0) begin

state<=E; end else

begin

state<=A; end E:if(x==0) begin

state<=C; end else begin

state<=A; end F:if(x==1) begin

state<=A; end else begin

state<=B; end G:if(x==1) begin

state<=F; end

default:state<=IDLE; endcase endmodule

`timescale 1ns/1ns module seqdet_Top; reg clk,rst;

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@)