베릴로그 자판기설계, Vendingmachine Verilog (코드,타이밍밴치,ppt)
- 최초 등록일
- 2014.06.13
- 최종 저작일
- 2014.04
- 24페이지/ MS 파워포인트
- 가격 1,500원
소개글
PPT안에 모듈코드, 타이밍도, 타이밍밴치 포함되있습니다.
module DYB_vending(Clk, reset, choice, In, Change, exceed, Out);
//Input setting
input Clk;
input reset; // S0상태로 설정 (S0=0원)
input choice; // 선택 (1=음료선택,0=비활성화)
input [1:0]In; // IN을 2bit로 입력받음 (00=0원, 01=500원, 10=1000원 입력)
//output setting
//state -> register 로 지정
output reg Change; // 거스름돈 (1=잔돈반환, 0원으로 상태초기화)
output reg exceed; // 한도 상태를 2000원으로 설정하여 (초과시 1로 설정됨)
output reg [1:0]Out; // 출력물건 (00=출력안함, 01=생수(500원), 10=에너지드링크(1000원), 11=생과일쥬스(1500원)
//state 설정
reg [4:0] state; //현재상태
reg [4:0] next_state; //입력받은 다음상태
목차
1 설계목표
2 설계내용
3 Verilog 구현
4 타이밍 차트
본문내용
자판기에 투입되는 동전은 500원, 1000원 2가지로 가능합니다.
최대 합산할 수 있는 돈은 2000원입니다.
입력 받은 돈이 2000원을 초과할 수 없습니다.
초과될 경우 그대로 반환합니다.
자판기 판매 물품
생수 - 500원, 에너지드링크 - 1000원, 과일주스-1500
음료수를 선택하면 선택한 음료수가 나오고 그 가격만큼 차감 되고, 동전 반환 버튼을 눌렀을 때 현재 상태의 돈을 반환합니다.
<중 략>
module DYB_vending(Clk, reset, choice, In, Change, exceed, Out);
//Input setting
input Clk;
input reset; // S0상태로 설정 (S0=0원)
input choice; // 선택 (1=음료선택,0=비활성화)
input [1:0]In; // IN을 2bit로 입력받음 (00=0원, 01=500원, 10=1000원 입력)
//output setting
//state -> register 로 지정
output reg Change; // 거스름돈 (1=잔돈반환, 0원으로 상태초기화)
output reg exceed; // 한도 상태를 2000원으로 설정하여 (초과시 1로 설정됨)
output reg [1:0]Out; // 출력물건 (00=출력안함, 01=생수(500원), 10=에너지드링크(1000원), 11=생과일쥬스(1500원)
참고 자료
없음