반응형
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이 작동되게 된다.
반응형
'VHDL' 카테고리의 다른 글
4-way Traffic controller VHDL (0) | 2021.06.09 |
---|---|
Coffe Vending Machine 설계(Meerly) (0) | 2021.06.09 |
Sequence Detector(순차검출기) (0) | 2021.06.09 |
램메모리 VHDL RAM(Random Access Memory) VHDL (0) | 2021.06.09 |
ROM memory (Read Only Memory) VHDL (0) | 2021.06.09 |