华东理工大学VerilogHDL中级篇-EDA4试卷.ppt
文本预览下载声明
第四讲 同步状态机的原理、结构和设计 4.1 状态机的结构 有限状态机是由寄存器组和组合逻辑构成的硬件时序电路,其状态(即由寄存器组的1和0的组合状态所构成的有限个状态)只可能在同一时钟跳变沿的情况下才能从一个状态转向另一个状态,究竟转向哪一状态还是留在原状态不但取决于各个输入值,还取决于当前所在状态。(这里指的是米里Mealy型有限状态机,而莫尔Moore型有限状态机究竟转向哪一状态只决于当前状态。) 4.3 如何用Verilog 来描述可综合的状态 在Verilog HDL中可以用许多种方法来描述有限状态机, 最常用的方法是用always语句和case语句。下面的状态转移 图表示了一个有限状态机 [例4.1]: module fsm (Clock, Reset, A, K2, K1); input Clock, Reset, A; output K2, K1; reg K2 , K1; reg [1:0] state ; Parameter Idle = 2’b00, Start = 2’b01; Stop = 2’b10, Clear = 2’b11; always @(posedge Clock) if (! Reset) begin state = Idle; K2 =0; K1 =0; end else case (state) Idle : begin if (A) begin state = Start; K1 =0; end else state = idle; end [例4.2]: module fsm (Clock, Reset, A, K2, K1); input Clock, Reset, A; output K2,K1; reg K2,K1; reg [3:0] state ; parameter Idle = 4’b1000, Start = 4’b0100, Stop = 4’b0010, Clear = 4’b0001; always @ (posedge clock) if ( ! Reset) begin state = Idle; K2=0; K1=0; end else case (state) Idle: begin if (A) begin state = Start; K1=0; end [例4.3] Module fsm( Clock, Reset, A, K2, K1); input Clock, Reset, A; output K2, K1; reg [3:0] state;
显示全部