DMAC 프로젝트
- 최초 등록일
- 2014.04.15
- 최종 저작일
- 2012.11
- 25페이지/
MS 워드
- 가격 3,900원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
목차
I. Introduction
II. Project Specification
III. Design Details
IV. Design Verification Strategy and Results
V. Conclusion
본문내용
Verilog를 이용하여 Direct Memory Access Controller를 design하여 그 설계 과정이나 검증 과정을 통하여 DMAC의 동작의 특성을 파악하고 이해한다.
설계 하는데 있어서 bus를 통해 DMAC와 RAM, testbench를 통해 연결해 봄으로써, 꼼꼼히 작성하는 눈을 키우고 실수를 줄인다.
이전 실험 실습이나 이론수업 내용을 바탕으로 복잡한 회로를 익힐 수 있는 능력을 배양한다.
복잡한 설계를 해 봄으로써 나중에 취직을 하여 더욱 복잡한 프로젝트를 진행 할 때를 대비해 연습한다.
<중 략>
S_sel = 1이 되어 DMAC를 선택하고 S_address, S_din에 값을 쓰는데, S_address와 S_din이 각각, 처음에 81, 00을 넣어서 IDLE상태임을 알고, 82, 01을 넣어서 interrupt신호를 쓸 것임을 알고, 84,00을 넣어서 source address에 00을 넣고 85에 30을 넣어서 destination address에 30을 넣음을 알고, 86에 03을 넣어서 data size가 3임을 알 수 있다. 그리고 83에 1을 넣어 push하고 또 다시 한번 값을 넣는다. 84에 20을 85에 70을 86에 02를 넣고 83에 1을 넣고 다시 push한다. 그다음 80에 01을 넣어 start신호를 master에 준다. M_req가 1이되어 bus에 신호를 주고 grant가 1이 되면 pop을 시작하고 read와 write함을 확인할 수 있다. 그 뒤의 경우도 마찬가지 행동을 하고 있다. 이에 따른 내부 신호를 보면 80에 1이 들어갈 때, opstart가 1이 됨을 볼 수 있고, 83에 1이 들어가 push할 때마다 wr_en이 1이 되는 것을 볼 수 있다. 그리고 start신호가 들어가고 next state가 fifo일 때 rd_en이 1이 되는 것을 볼 수 있다. State는 read/write를 할때마다 decoded number인 3과 4가 번갈아서 뜨는 것을 볼 수 있다. 그리고 memory write 상태에서 data count가 0이 아니면 다시 1상태, 즉 fifo pop상태로 돌아가는 것을 확인할 수 있다.
참고 자료
Projectspecification_v6.pdf , 실습 강의자료 BUS, FIFO, DMAC