数电和Verilog-时序逻辑实例四:状态机(两段式描述-传统公式)

本文介绍了使用Verilog进行时序逻辑设计的实例——两段式状态机,通过两个always程序块分别描述同步时序逻辑电路和组合逻辑电路。内容包括卡诺图化简公式、设计模块的编写原则以及测试模块中模拟不同场景的仿真结果,验证了状态机的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A.18 时序逻辑实例四:状态机(两段式描述-传统公式)

什么叫做两段式描述的状态机?

两段,可以理解为两个always程序块。

(1)第一个always程序块

采用同步时序逻辑电路描述状态转移。

(2)第二个always程序块

采用组合逻辑电路判断状态转移条件并描述状态转移规律,同时组合逻辑输出结果。

卡诺图化简公式

第二个always程序块中的组合逻辑电路会用到上一章节内容中化简后的公式,所以这里暂且列在这里。

设计模块

//文件路径:a.18/src/sell.v
module sell(clk,rst_n,a,b,y,z);
  parameter S0 = 1'b0;
  parameter S1 = 1'b1;
  input clk;
  input rst_n;
  input a,b;
  output reg y,z;

  reg current_state;
  reg next_state;

  always@(posedge clk or negedge rst_n)begin
    if(!rst_n)
      current_state <= S0;
    else
      current_state <= next_state;
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值