고작 2% 쓰는 걸로는 성이 차지 않아서 100%에 도전해봤다.
3,981,312 bit를 모조리 다 먹어 치워버리가써.
...
...
...
...
3,981,312 bit / 8 = 497,664 byte
이므로 이 사이즈로 이중 배열을 선언해서 컴파일을 하면...
에러가 난다.
Analysis & Synthesis는 OK. 메모리 사용량이 100%라고 나온다.
근데 Fitter에서 error.
Error: Selected device has 432 RAM location(s) of type M9K. However, the current design needs more than 432 to successfully fit
시발... 백프로 사용량인데 먼 초과...
일단 원인을 생각해보면
1. 계산 미스
2. 배열 첨자
3. 내가 바보거나
4. 윈도의 심각한 오류?
5. 날 엿먹이려는 빅브라더의 음모?
1번과 2번은 아님
계산은 정확했고 배열 첨자도 확인했다.
그럼 문제가 멈니...
Cyclone III handbook의 메모리 블럭 챕터에는
EP3C120의 경우 432개의 M9K 블럭이 있고, 각 블럭은 8,192 메모리 비트를 가진다(패리티 포함하면 9,216 bit)
라고 나온다.
다시 계산해보면
432 * 8192 bit / 8 = 442,368 byte
수정해서 컴파일하면 89%라고 나온다.
답은 3번이고 100% 다 먹어치울순 없었다.
442,368 byte로 1280*1024 해상도의 영상을 64라인씩 메모리 블럭에 저장 후 출력 시키는 test VHDL을 작성해서 돌려봤다.
testVHDL
이건 결과물
64라인씩 영상이 아래로 밀렸다.
그래 이제 함 맞춰보자.
댓글 없음:
댓글 쓰기