레이블이 마를렌인 게시물을 표시합니다. 모든 게시물 표시
레이블이 마를렌인 게시물을 표시합니다. 모든 게시물 표시

2008/07/16

PLL???



위에서 부터 순서대로 50MHz, 100MHz, 10MHz, 180MHz
50MHz 입력으로 100,10,180 MHz를 만들어 낸다.

워메 이런게 있었네...이제 오실레이터 구하러 안돌아댕겨도 되것네.

왜 이좋은걸 이제 알았을꼬.


사이클론3에 내장된 PLL을 구동하기위해 megafunction의 altpll을 사용했다.
megafunction 첨 사용해봤는데, IC 사면 딸려오는 C library 같다고나 할까...어째뜬 첨 써보는데
잘 돌아가니까 기분은 조아.

altpll_reconfig도 있는데
재컴파일 없이 외부 데이터 입력으로 PLL을 재구성 하도록 만들어 놓은거 같다.

문서를 읽어보면 자세히 알겠지만.....
난 소중하니까 필요하면 읽어보기로 한다.
그럼 이만.

2008/07/03

Test VHDL for Memory blocks In Cyclone III 세번째

영상 데이터를 64 line buffer에 저장한 후 출력하면 제일 마지막 64라인이 패널의 꼭대기에 올라가버린다. 이걸 똑바로 맞출려면 HSYNC와 VSYNC 신호를 조정하면 될꺼라고 생각했는데 HSYNC와 VSYNC는 패널 구동에 아무런 영향을 주지 않는다. ㅠㅠ 젝힐
몇일동안 ODCK, HSYNC, VSYNC, DE 신호를 측정하고 이리저리 주물러봤는데

결론은
DE 신호를 어찌 좀 주물러봐야 패널에 출력되는 영상을 64라인씩 밀어 올릴수 있다고 생각된다.

그러니까

이렇게 DE 신호를 입력 받아서 뒤로 밀어버리면 된다 이거지...

끝없는 삽질 끝에 드디어 완성했다.

test_VHDL


출력물도

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을 동작시킨다.
라고 해석이 되는데...

회로도로 그려봤다.

2007/11/16

플래시 메모리

오늘은 플래시 메모리를 확보했다.










램과 NAND는 언제 들어오려나

2007/11/11

드디어 도착했다.















EP3C120F484C8N
신제품이라서 주문한지 거의 한달만에 받은거다.

다음은 Bottom















다음은 메모리





이걸로 마를렌 프로젝트 스타트.