2008/06/21

Test VHDL for Memory blocks In Cyclone III 두번째

고작 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라인씩 영상이 아래로 밀렸다.



그래 이제 함 맞춰보자.

2008/06/17

Test VHDL for Memory blocks In Cyclone III

EP3C120F484에는 3,981,312 bit의 메모리 블럭이 있다는데
앞으로 쓸일 많을거 같으니 함 테스트 해봄.

test VHDL
걍 올리면 들여쓰기가 개판이라서...

test VHDL은
1280*1024 해상도의 DVI 신호를 TFP401A를 통해 RGB 24bit로 받은 후 메모리에 저장하고, 저장된 데이터를 읽어서 DS90C387로 보내주는 역할을 한다.

설명하고 보니 간단한데 금,토,일,월,화 끄윽...5일동안 삽질한 결과로구나...



Flow Summary에서 사용된 메모리 비트를 확인할 수 있다.


이건 결과물


운이 좋으면 스케일러 기능을 메모리 블럭 만으로 만들수도 있...
안돼면 마는거고...

2008/06/13

2008/06/11

EP3C120F484 Test PCB

테스트 중....





여전히 BGA 수납...




떨리는 마음으로 ...

크핫 인식 된다아아아아



이건 전원부.
전원부만 해도 수정할 부분이 2군데나 된다.

전원 스위치 한번 멋들어 지는구나하~~



1차 테스트는 목표 달성.
- Programming Serial Configuration Device In-System Using the JTAG 회로 테스트.
- 전원부 회로 테스트(12V 입력, 5V/3.3V/2.5V/1.2V 출력)

2008/06/09

Configuration Data Decompression

싸이클론 III 에서는 컨피규레이션 데이터를 압축해서 공간/시간상 이점을 얻을 수 있다. 다 되는건 아니고 AS와 PS에서만 가능하다고 한다.
압축을 활성화 하는 두가지 방법이 있는데
1. 컴파일러 세팅에서 설정
2. 컴파일된 파일을 변환(sof -> pof)
하는 두가지 방법이라고 한다.

FPGA가 케스케이드 연결된 경우 선택적으로 압축과 비압축을 설정할 수 있다고 한다.
근데 왜???
굳이 머할라고???
그런지는 아직 모르겠네효.

2008/06/04

EP3C120F484 Configuration Scheme


Programming Serial Configuration Devices In-System using the JTAG Interface

요약하면
FPGA에 JTAG와 Active Serial Memory Interface를 연결해주는 로직(Serial Flash Loader Design)을 다운로드해서 JTAG로 AS configuration을 동작시킨다.
라고 해석이 되는데...

회로도로 그려봤다.

2008/06/01

XC3S250E Configuration Schematic

PWM Generator에 사용된 Configuration Scheme 과 Schematic.




Master Serial 로 인식에 문제 없음.
Good job baby^^