2007년 10월 2일 화요일

Xilinx의 SystemACE 방식

Xilinx FPGA의 Configuration 방법중에 SystemACE 방식이 있다.

Compact Flalsh memory를 사용하여 FPGA로 이미지를 loading 하는 방식으로 iMPACT 툴로 bit파일을 ace 파일로 변환하여 Compact Flash Reader 기로 Write하여 FPGA의 CF 소켓에 삽입후 전원을 올리거나, 전원이 켜져 있는 상태에서 Configuration Reset 버튼을 눌러서 Configuration 한다.

SystemACE방식을 사용할때 몇가지 팁사항이 있다.

첫번째, FPGA가 2개이면 bit 파일도 2개이다. 3개이면 3개, 4개이면 4개, FPGA 각각에 들어갈 이미지를 만들어서 하나의 ace 파일로 만든다.

여기서 팁이 하나있다. 만약 FPGA가 2개인데 사용을 1개만 한다면 1개는 dumy image, 1개는 사용할 이미지를 만들것이다.

이 두개를 하나의 ace파일로 만들어야 하는데 매번 이것을 반복하면 귀찮다. 이때 하드웨어 적으로 JTAG chain을 중간에서 끊어 1개만 chain이 이루어지도록 설계하면 나중에 이미지 만들때 번거로움이 줄어든다.

**** 보드를 개발해 놓고 1주간 SystemACE방식이 동작하지 않아 고생했는데 이 이유는 "FPGA가 2개이면 이미지도 2개다" 이다.

그리고 Compact Flash Memory는 도스의 FAT16으로 포맷해서 사용해야 한다. 이를 위한 툴이 있는데 http://www1.mager.org/mkdosfs/ 여기를 참조하면된다. 절대 XP에서 FAT으로 포맷하면 안된다.

두번째, 이거는 주의사항인데, CF 소켓의 핀넘버를 철저하게 확인해야한다.

Configuration이 동작하지 않아 소켓을 일일이 찍어보다가 깜짝 놀란적이 있다. 핀넘버가 일반적인 순서로 되어져 있지않다. PCB제작나가기 전에 꼭 다시한번 확인해 보자.

세번째, Configuration을 확인하는 방법은 Status LED, Error LED, DONE LED로 확인한다.

전원을 올리면 Status LED가 깜빡깜빡 거리다가 DONE LED에 불이 들어온다. 만약 Configuration이 실패하면 Error LED에 불이 들어온다. Error LED에는 RED색깔로 Status/DONE LED는 BLUE 색깔로 해주면 좀 예뻐보이면서도 디버깅할때 좋다. (뭐 꼭 이래야만 되는건 아니지만...) 핵심은 Error/Status/DONE 은 꼭 LED를 달아주자 이다.

네번째, 간혹 Compact Flash Memroy의 파일시스템이 깨지는 경우가 있다. 정말 이런경우 이미지때문인지 하드웨어때문인지 갈피를 못잡는 경우가 발생한다. 난감하다. 이때 위에서 말한 mkdosfs를 사용하여 포맷해보고 그래도 안되면 WindowsXP에서 FAT로 포맷하고 다시 mkdosfs로 포맷해 본다. 그래도 안되면 계속해서 반복해보고 그래도 안되면 메모리를 바꿔서 해본다. 그래도 안되면.... 부셔버리세요.^^

다섯번째, Compact Flash Memory는 보드당 왠만하면 2개이상은 가지고 있어라.

위에서의 현상이 종종 일어난다. 이럴때 CF 메모리 때문에 고생해서 시간뺏기지 말고 안되면 즉시 바꿔 봐서 이미지 및 보드에 문제가 없음을 확인한다.

대충 생각나는게 여기까지다.

----------------------------------------

출처:
http://bigzero.egloos.com/656487

댓글 없음: