利用有限状态机进行时序逻辑的设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用有限状态机进行时序逻辑的设计
1. 实验目的:
(1)掌握利用有限状态机实现一般时序逻辑分析的方法;
(2)掌握用Verilog编写可综合的有限状态机的标准模板;
(3)掌握用Verilog编写状态机模块的测试文件的一般方法。
(4)在数字电路中已经学习过通过建立有限状态机来进行数字逻辑的设计,而在VerilogHDL硬件描述语言中,这种设计方法得到进一步的发展。通过Verilog HDL提供的语句,可以直观的设计出更为复杂的时序逻辑的电路。关于有限状态机的设计方法在教材中已经作了较为详细的阐述。
2.实验环境
PC机一台,安装有quartusII13.0软件以及modulsim软件
3.实验内容
设计一个简单的状态机,功能是检测一个5位二进制序列“10010”。考虑到序列重叠的可能。有限状态机共提供8个状态(包括初始状态IDLE).
4.实验步骤
1) 源程序:
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)