Block Memory Generator 만들기(1)
내용을 쓰기에 앞서 이 내용은 지극히 개인적으로 사용하는 내용에 대한 것을 서술한 것으로 틀린 내용이나 설명이 추가되어야 할 내용이 있으면 댓글 부탁드리겠습니다.
저는 1,280byte의 블럭 메모리를 만들예정입니다.
만들고 싶은 사이즈는 정해서 data x addr하면되니 참고하시고 진행하세요~
참고로 FPGA IC마다 내부 Block Memory할당량이 정해있으니 카탈로그를 보시고 무리하게 만들지는 마시길..
이제 Block Memory를 만들어봅시다 ㅎㅎ
1. vivado 실행
- Project 생성(생략)
2. IP Catalog 클릭
3. IP Catalog -> Memories & Stora~ -> RAMs & ROMs &~ -> Block Memory Generator 더블클릭~!
4. in/out으로 Dual Port RAM으로 만들예정이므로 다음과 같이 세팅한다.
- 생성할 사이즈는 16bit640=1280byte
5. Port A Options 설정
- Port A는 Write로 사용할 것
- 16bit 640개의 데이터를 저장
- 동작 모드는 Write First
- Enable는 사용할 것
(Always~로 선택해도 무관... 아래 처럼 해도 어차피 wea로 제어하면 문제 없음... 경험상 다만 포트A를 항상 살려놓을거냐? 아무래도 전류에는 차이가 있을듯하지만 크게 차이안날것으로 보고 내맘대로 하기로 결정)
* 다음 캡쳐와 같이 세팅하고 사용한다.
6. Port B Options 설정
- Port B는 Read로 사용할 것
- 128bit 80개의 데이터를 읽기 위한 설정
- Enable 사용할 것(write와 겹치지 않게 사용하자.. 아무래도 겹치면 write부터니까 데이터가 이상할듯 ㅋ)
* 다음 캡쳐와 같이 세팅하고 사용한다.
7. Other Options
- 그냥 넘어가도 문제 없지만 Initialization에 파일을 넣으면 아무래도 초기화에 쓰레기 데이터가 아닌 설정해놓은 데이터를 넣어둔다.
- 파일 생성하여 넣어보자.(캡쳐 참고하여 세팅)
8. Summary
- 설정된 정보를 확인한다.
이렇게 하여 OK를 누르면?
Generate를 누르면?
이렇게 IP가 생성된 것을 확인할 수 있다!!
다음에는 동작하는 것을 끄적여 봐야겠다 ㅎㅎ
to be continued...