Flash Controller 방면으로 진로를 가게 되어,
진로랑 좀 맞지 않을 수도 있겠다는 생각이 들긴 하다만
어찌되었든 시작한 프로젝트는 끝을 봐야 할 것이다.
다만, 조교 선배님의 말씀대로, "가속기" 라는 것은 연산을 빨리 하는 것이기에 원초적인 면이 있어서 뭔가 새로운 아이디어를 내기가 굉장히 제한적이라는 것을 뼈저리게 느꼈다.
너무 원초적이라 새로운 idea를 내기 힘들다는 것은 내 사정이고, 어쨌든 학사 졸업에 걸맞는 결과물은 교수님께 제시해야 졸업할 수 있을 것이다. 즉, 너무 쉬워도 안되고 그렇다고 내가 손도 못댈 정도로 너무 어려워도 안된다. 더욱이, 7월24일인 졸업까지 지금 시간이 넉넉치 않다.
서론은 이쯤 하고, 앞으로 어떻게 할지에 대한 PLAN을 기술한다.
조교님께 받은 기안도박사의 HW-SW Cosim Tool
연구실로부터 빌릴 수 있는 FPGA
내가 만든 MAC 및 조금 덜 효율적인 MAC을 제시한다.
합성 후 FPGA에 실장
비교군과 대조군의 Critical Path Delay 가 어떻게 차이나는지를 Design Compiler 툴로 합성해서 보여주고 리포트 작성.(솔직히 감안잡힘)
비교군과 대조군의 Area 증감분 차이를 분석
기안도 박사 코드가 돈다면, 프로그래밍된 FPGA를 이용해 LeNet 까지 돌릴 수 있다. 이거면 보고서 뚝딱이다(행복회로 최대루트).
걱정: 앞 1단계에서 MAC을 내가 독창적으로 만든게 아니라면, 게다가 기안도박사 코드까지 안돌아 LeNet도 못돌렸으면 그저 "해봤다" 수준이라 너무 부실해보여서 여기에 내 아이디어를 넣어야 할 것 같은데, 사실 진짜 아무리 생각해도 아이디어가 안나온다. 그리고, MAC은 너무나 기초적인 소자라 새 아이디어를 내기도 힘들다....
ready, valid, last 등의 여러 잡다한 control signal 의 눈치껏 한 코딩이 맞아떨어졌다면
그저 mac_float.v 를 내 새로운 mac_float.v 로 치환한 뒤, ETRI 교안의 Tutorial 을 그대로 따라가면 된다.
(다만 문제가 되는건, 나는 실제 그 박사의 코드를 기반으로 실제 FPGA와 Co-simulation 해본 경험이 없다는 것이다. 남이 짠 코드라서 왜 안되는지 디버깅하는 것도 매우 힘들 것 같다)
기안도박사 코드를 통해 FPGA Cosim으로 LeNet 까지 돌려볼 수 있다.