디지털 논리회로 Verilog HDL 을 이용하여 RLC 주사위 게임 (RLC DICE GAME) 설계
- 최초 등록일
- 2014.03.15
- 최종 저작일
- 2013.06
- 25페이지/
한컴오피스
- 가격 3,500원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
RLC Dice game 을 Verilog 로 구현하고 Modelsim 을 통해 simulation 을 돌려서 정확하게 작동하는지 확인합니다.
코드는 매우 길어 복사 붙여넣기가 가능한 부분들은 생략하였고(예를들면 player1 을 구현하였으면 player2, player3 을 구현하는 코드는 생략하였습니다.) 주요 기능을 구현한 코드들은 모두 수록하였습니다. 또한 코드에 주석을 달아 각 부분이 무슨 기능을 구현한 것인지 설명도 있어서 코드를 읽으시는데 불편함은 없을 것입니다. 더불어 각 기능 구현 block 뒷부분에는 다시한번 코드를 설명하였습니다. RLC Dice game 을 구현하는 것이 아니더라도 Verilog 을 처음 접하는 학생들이 본문에 수록된 코드를 따라 읽으면서 Verilog 코딩의 감을 잡을 수 있을 것입니다.
당시 저희 팀 프로젝트 점수는 만점이었습니다. 참고로 Schematic logic design을 통해 구현한 것이 아닙니다. 오직 코드로만 RLC Dice Game 을 구현했음을 알려드립니다. 더불어 본 자료의 대부분은 Verilog HDL 코드로 이루어져 있습니다.
목차
1. 들어가며
2. RLC Dice Game 의 사양
3. RLC Dice Game 의 Block Diagram
4. RLC Dice Game 의 input, output, reg 정의
5. Code 분석
5-1) Top module
5-2) Initialize
5-3) player 칩 개수 출력
5-4)주사위던지기
5-5) 주사위 값에 따른 R,L,C,D 값 reg에 저장
5-6) 주사위 연산에 따른 칩 배분
5-7)turn 값을 올려주고 승자를 판명
6.. RLC Dice Game 의 동작 검증 by Simulation
7. Discussion
본문내용
들어가며
이번 프로젝트에서는 RLC Dice Game을 xilinx 의 ISE프로그램을 통하여 설계해본다. 게임기의 설계 사양과 옵션 사항 들을 Verilog HDL을 이용하여 코딩해보고 결과를 Modelsim 프로그램을 통해 검증해본다.
2. RLC Dice Game 의 사양
기본적으로 세팅된 바로는 3명의 플레이어가 4개의 칩을 갖고 게임을 진행한다. 첫 번째 플레이어부터 toss를 누르면, 플레이어의 칩 개수에 따라 주사위의 개수가 결정된다. 주사위를 던져서 나온 R,L,C 값에 따라 다른 플레이어나 Pot에게 칩을 준다. 이번 턴으로 인해 승자가 결정되었는지 확인하고 turn이 넘어간다. 이를 반복한다.
초기 칩의 개수는 코드 상에서 얼마든지 바꿀 수 있다. 그러나 각 플레이어의 max chip 개수는 15개 이므로 이를 고려하여 수정해야한다. 주사위의 옵션도 바꿀 수 있다. 후에 설명하겠지만 Counter의 case문에서 1-6up counter 사양을 바꿔주면, 주사위의 옵션을 바꾸어 확률을 조정할 수 있다.
<중 략>
-> 조금 긴 코드이다. 이러한 과정을 거치고 있다. 첫째, turn 정보를 가져와서 case문으로 경우를 나눈다. turn=b’00 이라면 player1의 차례이므로, player1 의 칩 개수를 가져와서 던질 주사위의 개수를 먼저 알아낸다. 칩이 0개라면 주사위를 던지지 않기 때문에 R,L,C,D 의 reg값이 모두 0 이다. 칩이 1개라면 하나의 주사위를 던지기 때문에, counter_1 의 값을 가져와서 ( 000 = L, 001 = C, 010 = R, 011 = D, 100 = D, 101 = D ) 의 필터를 거쳐 R,L,C,D의 reg값에 저장한다. 칩이 2개라면 주사위를 2개 던져야 하므로 counter_1 과 counter_2의 값을 가져와서 맞게 R,L,C,D의 reg값에 저장한다. 칩이 3개 이상은 counter_1,counter_2,counter_3의 값을 가져와서 R,L,C,D의 값에 저장한다.
참고 자료
없음