목차
1. ASM 차트 작성
2. 동작설명
3. 핀 할당 설명
4. 동작사진
2. 동작설명
3. 핀 할당 설명
4. 동작사진
본문내용
5'b00000;//리셋 led 모두 off
else if(sum_coin > 9'd39) tea_led <= 5'b11111; //돈이 390원 이상, led 모두 On
else if(sum_coin > 9'd34) tea_led <= 5'b11101; //돈이 340원 이상, 350,400원 차 On
else if(sum_coin > 9'd24) tea_led <= 5'b01001; //돈이 240원 이상, 250원 차 led ON
else tea_led <= 5'b0; // 위에 해당하지 않으면 0이 되어 돈이 감산 될 때도
endmodule // 클락에 따라 변하여 led가 변할 수 있게 함
// 각각의 버튼 선택 시 차 선택 및 진행 LED 5초 표시 모듈
module tea_select(button,tea, clk, rst, ing);
input clk, rst;
input [4:0] button;//차 5종류 선택 위한 스위치 5개
output [4:0] tea;//차 5종류
output ing;//차 선택 시 진행 LED
reg ing;
wire tc1, tc2, tc3, tc4, tc5;//카운터 연결을 위한 tc
wire [3:0] q1, q2, q3, q4;
wire [2:0] q5;
assign tea = button;//tea 종류 하나당 버튼 하나씩 연결
assign d = |tea;//tea 누를때마다 d 1
wire ce;
reg ce1;
assign ce = ce1;
reg up;
mod10_cnt t1(clk, ce, rst, q1, tc1);//10카운터 호출
mod10_cnt t2(clk, tc1, rst, q2, tc2);//10카운터 호출
mod10_cnt t3(clk, tc2, rst, q3, tc3);//10카운터 호출
mod10_cnt t4(clk, tc3, rst, q4, tc4);//10카운터 호출
mod5_cnt t5(clk, tc4, rst, q5, tc5);//5카운터 호출
always @(posedge d or posedge tc5 or posedge rst) //d , tc5 , rst 상승에지 이벤트
if(rst) begin ing <= 1'b0; ce1 <= 1'b0; end //rst 1일 때 반환
else if(d) begin ing <= 1'b1; ce1 <= 1'b1; end //버튼 눌릴 때 카운터,led on
else if(tc5) begin ing <= 1'b0; ce1 <= 1'b0; end //50000카운터 후 카운터,led off
else begin ing <= 1'b0; ce1 <= 1'b0; end //ing led 5초 후 off
endmodule
//각각의 5개 버튼 마다 각각의 차 종류를 지정해주고 버튼이 눌렸을 시에 진행 중 LED가 5초 동안 불이 들어오게 하는 모듈로써
5초는 10KHz에서 동기형 50000 카운터를 통해 표시한다. 버튼이 눌렸을 경우에 d가 1이 되고 진행표시led ing와 ce1이 1이 되어 led가 on이 되고 동기형 50000카운터가 시작한다. 동기형카운터에서 5초에 한번 나오는 tc5가 상승이 되는 순간 진행표시led ing가 Off가 되고 ce1도 0이 되어서 카운터 동작이 멈춘다.
// 초기상태, 차의 종류를 보여줌
module display_tea(clk, rst, seg4, seg3, seg2, seg1);
input clk, rst;
wire [2:0] cout;
reg [15:0] cost;
wire [4:0] sn;
output [6:0] seg4, seg3, seg2, seg1; // 차 종류 표시하는 4개 세그먼트 값
wire tco1, tco2, tco3, tco4, tco5;
wire [3:0] q1, q2, q3, q4;
wire tc, tc1, tc2, tc3, tc4;
mod10_cnt c1(clk, 1'b1, rst, q1, tc); // 1초마다 mod5 카운터를 이용해
mod10_cnt c2(clk, tc, rst, q2, tc1); // 5가지의 차의 종류가 디스플레이 됨
mod10_cnt c3(clk, tc1, rst, q3, tc2);
mod10_cnt c4(clk, tc2, rst, q4, tc3);
mod5_cnt c5 (clk, tc3, rst, cout, tc4);
always @(cout)
case(cout)
3'b000 : cost = 16'b1010_0011_0101_0000; // 대추차 D 350 표시
3'b001 : cost = 16'b1011_0010_0101_0000; // 유자차 U 250 표시
3'b010 : cost = 16'b1100_0011_0101_0000; // 율무차 y 350 표시
3'b011 : cost = 16'b1101_0100_0000_0000; // 인삼차 I 400 표시
3'b100 : cost = 16'b1110_0010_0101_0000; // 녹차 n 250 표시
endcase
sseg_tea SS1 (cost[3:0], seg1); // cost의 4비트 2진 값을
sseg_tea SS2 (cost[7:4], seg2); // 세그먼트로 7비트 값으로 변경
sseg_tea SS3 (cost[11:8], seg3);
sseg_tea SS4 (cost[15:12], seg4);
// seg_scan SS5 (rst, clk, seg4, seg3, seg2, seg1, sn, ssout);
endmodule
3. 핀 할당 설명
- 동전을 나타내는 button[2:0] 에는 키패드 1, 2, 3을 할당
- 음료를 나타내는 button[7:3] 에는 키패드 5, 6, 7, 8, 9를 할당
- 반환버튼 re는 키패드 B를 할당
- 가격 디스플레이 com은 seg5~seg8을 할당
- 음료 종류 디스플레이 sseg_tea는 seg1~seg4 할당
- 가능한 음료를 표시하는 tea_led는 led4~led8 할당
- 세그먼트 값인 sout에는 세그먼트의 a~g 할당
- 진행 led인 ing 는 led1 할당
- clk는 79번 핀 할당
4. 동작사진
else if(sum_coin > 9'd39) tea_led <= 5'b11111; //돈이 390원 이상, led 모두 On
else if(sum_coin > 9'd34) tea_led <= 5'b11101; //돈이 340원 이상, 350,400원 차 On
else if(sum_coin > 9'd24) tea_led <= 5'b01001; //돈이 240원 이상, 250원 차 led ON
else tea_led <= 5'b0; // 위에 해당하지 않으면 0이 되어 돈이 감산 될 때도
endmodule // 클락에 따라 변하여 led가 변할 수 있게 함
// 각각의 버튼 선택 시 차 선택 및 진행 LED 5초 표시 모듈
module tea_select(button,tea, clk, rst, ing);
input clk, rst;
input [4:0] button;//차 5종류 선택 위한 스위치 5개
output [4:0] tea;//차 5종류
output ing;//차 선택 시 진행 LED
reg ing;
wire tc1, tc2, tc3, tc4, tc5;//카운터 연결을 위한 tc
wire [3:0] q1, q2, q3, q4;
wire [2:0] q5;
assign tea = button;//tea 종류 하나당 버튼 하나씩 연결
assign d = |tea;//tea 누를때마다 d 1
wire ce;
reg ce1;
assign ce = ce1;
reg up;
mod10_cnt t1(clk, ce, rst, q1, tc1);//10카운터 호출
mod10_cnt t2(clk, tc1, rst, q2, tc2);//10카운터 호출
mod10_cnt t3(clk, tc2, rst, q3, tc3);//10카운터 호출
mod10_cnt t4(clk, tc3, rst, q4, tc4);//10카운터 호출
mod5_cnt t5(clk, tc4, rst, q5, tc5);//5카운터 호출
always @(posedge d or posedge tc5 or posedge rst) //d , tc5 , rst 상승에지 이벤트
if(rst) begin ing <= 1'b0; ce1 <= 1'b0; end //rst 1일 때 반환
else if(d) begin ing <= 1'b1; ce1 <= 1'b1; end //버튼 눌릴 때 카운터,led on
else if(tc5) begin ing <= 1'b0; ce1 <= 1'b0; end //50000카운터 후 카운터,led off
else begin ing <= 1'b0; ce1 <= 1'b0; end //ing led 5초 후 off
endmodule
//각각의 5개 버튼 마다 각각의 차 종류를 지정해주고 버튼이 눌렸을 시에 진행 중 LED가 5초 동안 불이 들어오게 하는 모듈로써
5초는 10KHz에서 동기형 50000 카운터를 통해 표시한다. 버튼이 눌렸을 경우에 d가 1이 되고 진행표시led ing와 ce1이 1이 되어 led가 on이 되고 동기형 50000카운터가 시작한다. 동기형카운터에서 5초에 한번 나오는 tc5가 상승이 되는 순간 진행표시led ing가 Off가 되고 ce1도 0이 되어서 카운터 동작이 멈춘다.
// 초기상태, 차의 종류를 보여줌
module display_tea(clk, rst, seg4, seg3, seg2, seg1);
input clk, rst;
wire [2:0] cout;
reg [15:0] cost;
wire [4:0] sn;
output [6:0] seg4, seg3, seg2, seg1; // 차 종류 표시하는 4개 세그먼트 값
wire tco1, tco2, tco3, tco4, tco5;
wire [3:0] q1, q2, q3, q4;
wire tc, tc1, tc2, tc3, tc4;
mod10_cnt c1(clk, 1'b1, rst, q1, tc); // 1초마다 mod5 카운터를 이용해
mod10_cnt c2(clk, tc, rst, q2, tc1); // 5가지의 차의 종류가 디스플레이 됨
mod10_cnt c3(clk, tc1, rst, q3, tc2);
mod10_cnt c4(clk, tc2, rst, q4, tc3);
mod5_cnt c5 (clk, tc3, rst, cout, tc4);
always @(cout)
case(cout)
3'b000 : cost = 16'b1010_0011_0101_0000; // 대추차 D 350 표시
3'b001 : cost = 16'b1011_0010_0101_0000; // 유자차 U 250 표시
3'b010 : cost = 16'b1100_0011_0101_0000; // 율무차 y 350 표시
3'b011 : cost = 16'b1101_0100_0000_0000; // 인삼차 I 400 표시
3'b100 : cost = 16'b1110_0010_0101_0000; // 녹차 n 250 표시
endcase
sseg_tea SS1 (cost[3:0], seg1); // cost의 4비트 2진 값을
sseg_tea SS2 (cost[7:4], seg2); // 세그먼트로 7비트 값으로 변경
sseg_tea SS3 (cost[11:8], seg3);
sseg_tea SS4 (cost[15:12], seg4);
// seg_scan SS5 (rst, clk, seg4, seg3, seg2, seg1, sn, ssout);
endmodule
3. 핀 할당 설명
- 동전을 나타내는 button[2:0] 에는 키패드 1, 2, 3을 할당
- 음료를 나타내는 button[7:3] 에는 키패드 5, 6, 7, 8, 9를 할당
- 반환버튼 re는 키패드 B를 할당
- 가격 디스플레이 com은 seg5~seg8을 할당
- 음료 종류 디스플레이 sseg_tea는 seg1~seg4 할당
- 가능한 음료를 표시하는 tea_led는 led4~led8 할당
- 세그먼트 값인 sout에는 세그먼트의 a~g 할당
- 진행 led인 ing 는 led1 할당
- clk는 79번 핀 할당
4. 동작사진
추천자료
경영의사결정을 위한 정보기술
전략평가시스템의 개념과 균형된 성과기록표(BSC), 전략측정지표와 진단측정지표
경영정보시스템(MIS)의 구조와 구성
광고예산결정, 광고메시지결정, 광고매체결정
정보시스템의 개념과 구성 요소, 변천
(효과적 마케팅을 위한 정보) 마케팅(marketing) 조사와 마케팅 정보 시스템
[인간자원이론] 맥그리거의 X, Y이론 및 리커트의 경영 시스템
경영정보시스템의 기초(MIS의 정의, 개념, 목적)
전략평가시스템의 모델링
호텔회계의 정의와 대상, 호텔회계정보시스템 및 이용자
[기업지배구조][지배구조]기업지배구조의 개념, 기업지배구조의 의의, 기업지배구조의 결정요...
[보험사][보험회사][경영통일공시기준][감사정보시스템]보험사(보험회사) 경영의 경영통일공...
[LG전자][LG전자 아웃소싱]LG전자의 약력, LG전자의 통합고객정보시스템구축, LG전자의 아웃...
소개글