Today
-
Yesterday
-
Total
-
  • 과제 5주차 Verilog(18.12.17, 12.18)
    Soliloquy 2018. 12. 22. 16:33

     

     

    끝날때 까지 끝난게 아니다

    저번주 토, 일요일은 하루종일 시험 공부만 해서 HDL 설계로 부터 잠깐동안 해방되었었지만, 발표일인 12.18(화) 전날인 12.17(월) 에는 갑자기 준비를 이렇게 해도 되나? 해서 조원분을 급히 불러서 잠깐 수정하기로 했다. 원래 짜놓았던 PPT와 예상 질문을 조금 손보고 발표 대본도 볼지는 모르겠지만 일단 한 번 써보기라도 해보자! 해서 대본도 써봤었다.

     

     

    안녕하세요
    Snake 게임기를 만든 Team Snake 조장이라고 합니다.


    개요
    저희 조는 누구나 흥미를 가지고 창의적이게 회로를 구성을 하였습니다.
    그래서 게임을 선택했고, 게임은 블록도와 같이 수업시간에 배운 FPGA 키트의 요소들을 모두 사용하여 구성하였습니다.

     

    동작상태도
    동작상태도는 다음과 같이 인트로 화면, 게임 메뉴와 효과음 선택을 거쳐 게임을 시작하도록 구성했습니다.

     

    인트로 모드
    첫번째로 만나게될 모드는 화면과 같은 인트로 모드입니다. 본 화면에는 VFD와 도트메트릭스로 대기중인 상태를 꾸며봤습니다.
    다음은 게임 모드 선택입니다.

     

    게임모드 선택
    게임 모드 및 효과음 선택을 하는 모드 설명

     

    게임 실행
    A버튼을 눌려서 시작할 수 있는 게임 실행 모드에서는 다음 그림과 같이 게임을 시작할 수 있는 모드입니다.
    게임의 디테일을 높이기 위해서 세그먼트 LED에는 점수가 표시되며, VFD에는 게임 모드의 상태를 알려줍니다. 또한 스텝모터는 게임의 속도에 비례해서 회전속도가 빨라집니다....

     

    휘적거리다만 대본

     

     

     

     

    슬라이드 일부[각주:1]

     

     

    작동 영상

     

    대망의 발표시간

    12.18 (화) 드디어 발표날이 다가왔다. 발표 30분 전, 미리 PROM에 파일을 심어놓고 발표 자료를 준비했다. 발표 순서는 제비 뽑기로 정해졌고, 강의실 앞에서 1:대수로 발표하는 것이 아닌, 개인 자리에서 교수님과 학생들이 평가하는 방법으로 이루어 졌다.

     

    그리고 드디어 내 차례, 화면에 PPT를 띄워놓으니 PPT를 준비할 필요는 없다고 교수님이 말하셨다. 그래도 뭐, 이왕 만든거 써먹고 싶어서 슬라이드를 쓱쓱 넘기면서 개요를 설명했다. 내가 뭐라고 했는지 기억도 안나지만, 교수님께서 밝은 표정을 지었던 것 같다.

     

    그리고 질답 시간이 되었다. 교수님께서는 알고리즘이 독특하고 좋네 라는 식으로 긍정적으로 말해주셨던 것 같다. 교수님의 말 한마디 한마디가 칭찬이여서 기분이 좋았다.

     

    이어서 점수 발표 시간이 되었다. 다행히도 우리 조가 상위권에 위치해 있었다. 5주간의 보상에 걸맞다고 생각했다.

     

    발표가 끝난 후, 조원하고 얘기할 시간이 많았지만, 당일날 시험이 2개 더 있어서, 어쩔 수 없이 바로 해어지기로 했다. 나중에 밥 사준다고 하셨는데, 진짜 사줄지는 모르겠지만...

     

     

     후기


    💬


    처음 아무것도 할 줄 몰라서 게임 주제를 정하는 것부터가 난관이었지만, 정하고 나서도 간단하게 끝날 줄 알았던 Snake 게임 설계가 3주 가까이 되도록 마무리가 안 될 줄은 정말 생각도 못했다. 너무 힘들었다.

     

    게임 주제를 고르고 난 뒤, 어떻게 할까 한참을 고민하다가, 문득 생각난 배열을 이용한 알고리즘을 생각해서 기뻐했을 때가 엊그제 같은데, 그 새 3주일이 훌쩍 지갈 줄이야. 매일 새벽 2시까지 코드 짜랴, 시험 공부하랴, 참... 야근 수당을 받을 수만 있다면 아마 지금쯤 컴퓨터 본체 한 대를 맞추고 남았지 않았을까.

     

    처음에는 500개가 넘는 Warning들, 그리고 에러 들을 보면서 수많은 실패와 절망을 겪었다. 합성 프로그램은 왜 이렇게 불친절할까……. 이러다 결국 다 못 끝내나?... 주제를 잘못 골랐나 싶었는데 책, 인터넷 밤이 새도록 뒤져가면서 하다 보니... 어느새 Dotmatrix에 점 한 개가 찍히고, 두 개가 찍히고, 지렁이 형태와 먹이가 표현되는 것도 보고….

     

    그중에서 특히 기억에 남는 것은 첫 번째로 Snake를 배우지도 않은 DotMatrix에 표현하기 위해 거의 10시간이 걸리며 새벽까지 작성하면서 결국 완성했을 때가 생각난다. 지금 생각해도 참... 잊지 못할 추억이었던 것 같다. 하지만 이런 오류 하나 잡고 모듈이 제대로 동작할 때의 뿌듯함은 정말 사막에서 오아시스 하나를 운 좋게 찾은 느낌이라 해도 부족함이 없는 것 같았다.

     

    둘째는 서로 막히는 것이 있었을 때, 도와가면서 모듈을 만들어갈 때가 생각난다. 이게 왜 안 되지... 안될 리가 없는데, 라는 상황에서 조원 형 한테 물어보고, 또 내가 그 형한테도 많이 도움을 주고 받고. 그러면서 코딩 실력이 정말 많이 늘고, 관련된 지식도 많이 얻었던 것 같다. 특히 실제 회사에서 근무한 경험이 있어서 실제 회사에는 보통 이렇게 하더라 같은 많은 정보를 얻을 수 있었다. 함치면서 발생한 수백 개의 Error와 Warning이 발생하고, 마침내 Error를 0개로 만들고 대망의 시연 시간.

     

    와... 정말 너무 잘만든 것 같았다 나도 모르게 감탄사가 나왔다. 내가 해냈구나. 또, 원래 주제를 남들이 흥미를 느끼는 회로를 정말 잘 만든 것을 우선적인 목표는 완성한 것 같아서 뿌듯함이 더 컸다. HDL 수업은 만드는 동안은 정말 힘들었지만, 뿌듯함도 그만큼 컸기에 정말 가치 있는 수업이었던 것 같다. 앞으로도 이런 뿌듯함을 많이 느끼는 수업을 들을 기회가 많았으면 좋겠다

     

     

     

    [본문 SVG 파일]

    hexagon-2307350.svg

     

     

     

     

    1. 템플릿 출처: FPPT.com [본문으로]

    댓글

어제는 이곳에 명이 다녀갔습니다.

Powered & Designed by Tistory