M
MRFGUY
Guest
난 그냥 FSM 공부하려고합니다.
난 그냥 Verilog를 사용하여 FSM 썼습니다.내 계획은 15 티켓을 판매하고있다.사용자를 추가할 수있습니다 5 또는 10.15 때마다 티켓을 다시 나올 것이다 도달 상태를 시작합니다.만약 20, 항공권 및 변경 5 도달 범위 및 반환 상태로 시작합니다.그것은 지금이 순간에 확인을 보인다.(하지만 내게 뭘 난 내 프로그램에서 변경해야합니다 알고)하자
그러나 나는 또한 7 점 두 개 들어가는 DISP에서 보여주고 싶어요.얼마나 많은 사용자를 더 추가할 수 권을 구하기 위해 필요합니다.어떻게 추가하지 않도록 오전이 시점에서.
두 조건으로 7 들어가는 가정이 있어야합니다 (그리고 옆에있는 LED가 현재 주도).
난 여기 내 프로그램을 첨부했습니다.
감사합니다`timescale 1ns / 1ps
////////////////////////////////////////////////// //////////////////////////////
/ / 회사명 :
/ / 엔지니어 :
/ /
/ / 날짜를 만듭니다 : 16시 15분 8초 08/29/05
/ / 디자인이 름 :
/ / 모듈 이름 : sell_ticket
/ / 프로젝트 이름 :
/ / 목표 장치 :
/ / 도구 버전 :
/ / 설명 : 15 티켓을 판매.만약 사용자가 나올 것입니다 15만이 티켓을 추가할 수있습니다.
/ / 사용자를 추가할 경우 20 기계 chnage 5 티켓 나올 것입니다.
/ /
/ / 의존성 :
/ /
/ / 수정 :
/ / 수정 0.01 - 파일이 만들어집니다
/ / 추가 코멘트 :
/ /
////////////////////////////////////////////////// //////////////////////////////
모듈 sell_ticket (A와 B, 재설정, CLK, 마에서는 c);
입력 A와 B, 재설정, CLK, / / 5 $ 입력 및 B 10 $ 입력입니다
출력 마에서는 c; / / c를 동전을 변경 요 티켓
는 C T는 reg;
[2시 reg] 상태, next_state;
매개 변수를 0 = 3'b000;
매개 변수를 5 = 3'b001;
매개 변수를 10 = 3'b010;
매개 변수를 15 = 3'b011;
매개 변수를 20 = 3'b100;항상 (posedge CLK) @
시작
(리셋)하는 경우
상태 "= 0;
그 밖의
상태 "= next_state;
끝
(A와 B, 주)은 항상 @
시작
경우에는 (주)
0 : 케이스 ((B가))
2'b00 : next_state = 0;
2'b01 : next_state = 5;
기본값 : next_state = 10;
endcase
5 : 케이스 ((B가))
2'b00 : next_state = 5;
2'b01 : next_state = 10;
기본값 : next_state = 15;
endcase
10 : 케이스 ((B가))
2'b00 : next_state = 10;
2'b01 : next_state = 15;
기본값 : next_state = 20;
endcase
기본값 : next_state = 0;
endcase / / 상태를 상태로 끝날 경우
최종 / / 항상 끝항상 (주) @
시작
경우에는 (주)
15 : (마에서는 c) = 2'b10;
20 : (마에서는 c) = 2'b11;
기본값 : (t은는 C) = 2'b00;
endcase
끝
endmodule
난 그냥 Verilog를 사용하여 FSM 썼습니다.내 계획은 15 티켓을 판매하고있다.사용자를 추가할 수있습니다 5 또는 10.15 때마다 티켓을 다시 나올 것이다 도달 상태를 시작합니다.만약 20, 항공권 및 변경 5 도달 범위 및 반환 상태로 시작합니다.그것은 지금이 순간에 확인을 보인다.(하지만 내게 뭘 난 내 프로그램에서 변경해야합니다 알고)하자
그러나 나는 또한 7 점 두 개 들어가는 DISP에서 보여주고 싶어요.얼마나 많은 사용자를 더 추가할 수 권을 구하기 위해 필요합니다.어떻게 추가하지 않도록 오전이 시점에서.
두 조건으로 7 들어가는 가정이 있어야합니다 (그리고 옆에있는 LED가 현재 주도).
난 여기 내 프로그램을 첨부했습니다.
감사합니다`timescale 1ns / 1ps
////////////////////////////////////////////////// //////////////////////////////
/ / 회사명 :
/ / 엔지니어 :
/ /
/ / 날짜를 만듭니다 : 16시 15분 8초 08/29/05
/ / 디자인이 름 :
/ / 모듈 이름 : sell_ticket
/ / 프로젝트 이름 :
/ / 목표 장치 :
/ / 도구 버전 :
/ / 설명 : 15 티켓을 판매.만약 사용자가 나올 것입니다 15만이 티켓을 추가할 수있습니다.
/ / 사용자를 추가할 경우 20 기계 chnage 5 티켓 나올 것입니다.
/ /
/ / 의존성 :
/ /
/ / 수정 :
/ / 수정 0.01 - 파일이 만들어집니다
/ / 추가 코멘트 :
/ /
////////////////////////////////////////////////// //////////////////////////////
모듈 sell_ticket (A와 B, 재설정, CLK, 마에서는 c);
입력 A와 B, 재설정, CLK, / / 5 $ 입력 및 B 10 $ 입력입니다
출력 마에서는 c; / / c를 동전을 변경 요 티켓
는 C T는 reg;
[2시 reg] 상태, next_state;
매개 변수를 0 = 3'b000;
매개 변수를 5 = 3'b001;
매개 변수를 10 = 3'b010;
매개 변수를 15 = 3'b011;
매개 변수를 20 = 3'b100;항상 (posedge CLK) @
시작
(리셋)하는 경우
상태 "= 0;
그 밖의
상태 "= next_state;
끝
(A와 B, 주)은 항상 @
시작
경우에는 (주)
0 : 케이스 ((B가))
2'b00 : next_state = 0;
2'b01 : next_state = 5;
기본값 : next_state = 10;
endcase
5 : 케이스 ((B가))
2'b00 : next_state = 5;
2'b01 : next_state = 10;
기본값 : next_state = 15;
endcase
10 : 케이스 ((B가))
2'b00 : next_state = 10;
2'b01 : next_state = 15;
기본값 : next_state = 20;
endcase
기본값 : next_state = 0;
endcase / / 상태를 상태로 끝날 경우
최종 / / 항상 끝항상 (주) @
시작
경우에는 (주)
15 : (마에서는 c) = 2'b10;
20 : (마에서는 c) = 2'b11;
기본값 : (t은는 C) = 2'b00;
endcase
끝
endmodule