VHDL

Coffe Vending Machine VHDL (Moore설계)

전자자연인 2021. 6. 9. 21:48
반응형

1.Coffe Vending Machine

 

2. 소스코드 및 설명 (Moore 설계)

 

 





 

14 : state type을 지정(s0,s1,s2로 이루어짐)

15: state type present_state,next_state signal로 선언.

 

19 : clk신호에 관하여 출력지정.

rst=1 1이면 present_state s0을 전달

아닐시

present_state next_state를 전달

30 : present_state coffee_sel,coffee_serve,coin_in의 입력값에 따라 출력이 정해지는 process

 

32: next_state s0으로 시작.

 

34: present_state에 관하여 coin_in의 값에 따라 상태를 기술, 1일시 next_state s1

아니면 s0유지

 

42: coin_in 1의 값으로 s1이 되었을시 coffee_sel의 입력 값에 따라 next_state 기술

48: coffee_sel 1의 입력에 의하여 next_state s2가 되었을 시, coffee_serve의 입력으로 next_state를 정해준다. next_state의 최종 값을 present_state에 전달해준다(p1 process)

 

present_state의 값에 따라 state_out의 출력값을 지정해주는 process문이다.

s0일시 state_out 00값을 전달,

s1일시 state_out 01값을 전달,

s2일시 state_out 10값을 전달,

나머지의 경우엔 초기값 00으로 전달한다.

 

 

3.시뮬레이션 및 결과 설명

 

 

1.rst값에 의해 초기 상태는 s0 00 state_out에 전달되어 출력된다.

 

2.coin_in 1의 값에 의해 next_state s1이 되어 present_state s1 01 state_out에 전달되어 출력되고, coffee_sel에 의하여 S1에서 next_state값이 정해진다. 커피를 선택(coffee_sel)을 하여 1이 입력되었으면 다음 단계인 coffee_serve로 되어 present_state s2가된다.

 

3.coffee_serve에서 커피가나오면서 1이 입력되었으니 다시 초기상태인 s0(,00)으로 되어

초기값으로 돌아가 다시 coffee machine이 작동되게 된다.

 

 

반응형