2 sysu smie sysu_smie 于 2014.12.12 16:15 提问

verilog 红绿灯设计状态机代码不理解

module sheJiShuRu(
input clk, reset, Ta, Tb, clr,
output reg [1:0] La, Lb,
output reg mclk
);

 reg [31:0] count;
 parameter CLK_COUNT = 249999999;
 //parameter CLK_COUNT = 24;//模拟用
 always @ (posedge clk)
  begin
    if(clr)
    //按下去(为1?)复位
     begin
      count <= 0;
      mclk <= 0;
     end
   else if(count == CLK_COUNT)    //用到了前面定义的参数
     begin
      count <= 0;
      mclk <= ~mclk;
     end
    else
     count <= count+1;
  end

 reg [1:0] state, next_state;
 parameter S0 = 2'b00;
 parameter S1 = 2'b01;
 parameter S2 = 2'b10;
 parameter S3 = 2'b11;
 parameter green = 2'b00;
 parameter yellow = 2'b01;
 parameter red = 2'b10;


 always @ (posedge mclk)
    if(reset)
        state <= S0;
    else
        state <= next_state;

 always @(*)
    case(state)
        S0: 
            if(Ta) next_state = S0;
            else next_state = S1;
        S1: next_state = S2;
        S2: 
            if(Tb) next_state = S2;
            else next_state = S3;
        S3: next_state = S0;
    endcase

always @(*)
  case(state)
        S0:
            begin
                La = green;
                Lb = red;
            end
        S1:
            begin
                La = yellow;
                Lb = red;
            end
        S2:
            begin
                La = red;
                Lb = green;
            end
        S3:
            begin
                La = red;
                Lb = yellow;
            end
  endcase

endmodule

代码中最开始分频的部分有什么作用

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
5-1 Verilog Moore状态机之十字路口
Verilog学习过程——Moore状态机
verilog使用Moore电路实现交通灯
问题描述    十字路口南北方向(B)有一组红绿灯,十字路口东西方向(A)有一组红绿灯。 TA,TB分别表示A,B走向是否有学生出现(为True时有学生)。通过当前两组红绿灯的状态和每5秒侦测到的TA,TB来改变两组红绿灯状态。每种红绿灯状态保持5秒。 问题模型 因为可以根据红绿灯状态,和TA,TB值抽象为: 在出现一定TA,TB值时,红绿灯状态转为下一个确定状态。所以为F
基于状态机设计的交通灯控制程序(Verilog HDL)
这是一个完整的交通灯控制程序,采用Verilog HDL 完成的设计。整个设计是用Altera 公司的Quartus II软件进行了设计仿真和综合的完整设计
verilog使用Mealy电路实现交通灯
Mealy电路实现十字路口交通灯 使用Verilog语言完成十字路口交通灯的设计与实现。用2个手拨开关表示南北向和东西向通道的状态,6个led灯从左到右依次显示A路口红灯,A路口黄灯,A路口绿灯,B路口红灯,B路口黄灯,B路口绿灯,再用一个手拨开关实现复位(高电平有效)。 其中时钟分频为5秒,即每5秒检测一次路口状态,确定灯亮的下一状态。 原理
用verilog设计一个交通信号灯,要求有红,黄,绿,左转四盏灯
设计一交通灯系统,要求有红,黄,绿,左转四盏灯,并且每个路口有需要一个倒数的计数器,绿灯维持的时间为40秒,黄灯为5秒,左转灯10秒,红灯60秒。要求在modelsim仿真波形中显示至少一个完整的交通灯变换周期,顺序是先绿灯,再黄灯,最后左转灯和红灯同时亮。
十字路口的交通灯控制 Verilog代码(详细备注)
本代码需要用到EL-SOPC4000试验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。
基于verilog的交通灯
状态说明: 1, 初始化 东西南北的灯全亮; 2, 东西绿灯亮,南北红灯亮  20秒; 3, 东西黄灯亮,南北红灯亮 5秒; 4, 东西红灯亮,南北绿灯亮 20秒; 5, 东西红灯亮,南北黄灯亮 5秒; 6, 循环 2,3,4,5, 代码如下: `timescale 1ns/1ps /////////////////////////////////////////////////
【FPGA】Verilog状态机设计
状态机是fpga设计中极其重要的一种技巧,掌握状态机的写法可以使fpga的开发事半功倍。 下面记录一下状态机的基本知识理论。 // 一段式状态机
基于verilog的交通灯开发
使用ISE开发的程序,可用写字板打开文件。
verilog交通灯设计
本实验为自主选题设计实验,实验选择具有倒计时显示功能的红黄绿三色交通设计,实验中采用verilog HDL 作为设计功能描述语言,选用Altera公司的MAX II EPM240T100C5最为主控芯片,实验报告中简要介绍了MAX II系列器件,并给出了设计电路图,详细的介绍了交通灯的设计流程,实验报告中还附有实验代码实验结果照片图。