루피덕후의 블로그

[디지털 회로] FSM/combinational & sequential logic 본문

반도체

[디지털 회로] FSM/combinational & sequential logic

직딩 루피덕후 2023. 4. 29. 21:47
반응형

 

1) combinational & sequential logic

 

combinational logic : 현재의 입력만 출력에 영향을 미치는 구조

sequential logic : 현재의 입력 + 과거의 출력(memory)-현재 state이 모두 현재 출력에 영향을 미치는 구조

- synchronous : clock 하나에 의해 동기화 되는

-asynchronous : clock이 없는 or clock과 다른 신호들(ex-n_rst)을 포함해 동기화 되는

 

 

2) FSM

: state와 input이 output에 영향을 미치는 logic 구조

 

sequential logic내에서 combination logic circuit을 거치면 next state가 결정이 되는데 이 부분이

memory(flipflop)로 들어가 clk과 동기되어 저장되고, 그 memory에서 나온 output이 current state가 됨

 

input(by combinatioal logic) + state(by memory)로 output logic이 결정됨

moore machine

mealy는 여기서 input이 output logic에도 반영되도록

 

+ moore machine & mealy machine

*moore : 현재 state만이 output logic에 영향을 미치는 sequential logic

: output이 안정적

 

*mealy : input과 현재 state가 모두 output logic에 영향을 미치는 sequential logic

  mealy : 설계의 어려움

             : 시간지연 발생

 

*verilog code로 구현한 sequential logic & combinational logic

 

*sequential logic :

next state로 current state를 만듦(clk이 동기화될 때) = combinational logic을 거쳐 나온 next_state를 memory(flipflop)에 저장해

이 값을 current state에 대입함

 

*combinational logic :

-next state 만드는 logic

-output 만드는 logic

 

*moore : output logic에서 always@(state)

*mealy : output logic에서 always@(state, input)

 

*verilog code로 구현한 FSM

 

//state transition logic

(negedge rst_n일 때 초기화 or posedge clk일 때) next_state를 current_state에 대입

 

//combinational logic - next state 결정

(state나 input이 바뀔 때) case문에 따라 state가 달라질 때 if(input이 ??이면) next state가 바뀌는 구조

 

//output logic

state에 의해서만 output 결정되면 moore

input, state가 동시에 output 결정하면 mealy

 

 

 

반응형
Comments