Don't think! Just do it!

종합 IT 기술 정체성 카오스 블로그! 이... 이곳은 어디지?

임베디드 하드웨어/기타 회로 설계

[회로 설계] ARTIX 7 회로 설계

방피터 2023. 10. 25. 22:48

갑자기 FPGA 회로를 설계해야 할 일이 생겼는데;;;

난 해본적이 없거든 ㅋㅋ 그럼 망했나? ㅋㅋ

ㄴㄴ

괜찮아 따라와 ㅋㅋ

먼저 빠르게 적당해 보이는 FPGA를 선택했어.

7 Series selection guide 문서를 참고했는데 보통 모든 제조사들이 비슷한 문서를 제공해!

나같은 인간들 꽤 많은 듯 ㅋㅋㅋ

https://docs.xilinx.com/v/u/en-US/7-series-product-selection-guide

 

7 Series Product Tables and Product Selection Guide (XMP101)

 

docs.xilinx.com

 

보통 FPGA는 게이트 수(Logic Cells) 가 주요한 고려 사항일거야.

그런데 그걸 어떻게 알겠어? 아직 프로젝트 시작도 안했는데? -_-;;; 참 난감한 부분이야.

FPGA로 이것 저것 넣으면 대강 몇만 게이트 나오겠지?? 나올까?

너무 오랜만에 해보는 나로써는 거의 무당급 초이스지 ㅋ

 

***

나는 FPGA 회로 설계와 HDL을 같이 하니까 삽질하는 건데 보통 HDL 엔지니어가 별도로 있잖아?

회로 설계하기 전에 꼭 물어보자!

"저기 몇만 게이트짜리 쓰면 되요?" 하고

꼭!

***

 

암튼 지금 프로젝트에는 Kintex나 Vertex는 오버일거 같더라고

그럼 spartan이랑 artix가 남는데 spartan은 너무 오래되고 저가 느낌? ㅋㅋㅋ

그래서 artix 선택! Logic cells은 뭐 기능 구현에 따라서 달라지니까 ㅋ

그리고 패키지는 (게이트 수 기준)넓은 범위를 커버할 수 있고 쓰잘데기 없는 GTP transceiver가 없는 CSG324로 선택했어.

마우저나 디지키로 재고도 확인하는 것도 잊지마!

나는 글로벌 유통사에 재고가 있으면 시장에 많이 풀려 있다고 여기거든 ㅋ 참고해.

Mouser에 재고가 있다? => 시장에 풀려 있다!

자 ~이제 그 다음은 EVB를 찾아야 해.

왜? 난 처음해보니까 따라하는거지 뭐 ㅋ

 

보통은 홈페이지에서 아래처럼 뙇!

artix 7 EVB들

보기에 어때?

중간에 있는 EVB는 너무 무시무시하게 생기지 않았어? ㅋㅋㅋ 버려

1, 3번을 참고하도록 하자구 ㅋㅋ

 

이 글에서는 1번의 ARTY 기준으로 설명하도록 할게.

(나는 Nexys a7를 참고했어.)

ARTY

아래 링크에서 회로도를 확인할 수 있어.

https://digilent.com/reference/_media/arty:arty_sch.pdf


먼저 전원 파트의 회로를 보자구.

뭔가 우주선이 하나 있구만.....가만 보니 5채널짜리 레귤레이터야.

쫄지마 괜찮아 FPGA를 여러 가지 전압의 전원을 사용하거든.

ARTY 전원 파트

간단하게 설명하면 5V 입력을 받아서 0.95V -> 1.8V -> 1.35V -> 3.3V 순서로 전원을 인가해. 끝!

이렇게 시퀀셜하게 전원을 인가하는 이유는?????

이유는 개뿔 ㅋㅋ 그렇게 IC를 만들어놨어 ㅋ

데이터시트를 살펴보면 👇👇

Artix 7 datasheet

파워온 할 때는 Vccint -> Vccbram -> Vccaux -> Vcco 순서로 전원인가 하세요~
파워 오프할때는 반대 순서로 하시면 됩니다~
Vccint와 Vccbram의 전압 레벨이 같으면 같이 인가해도 되구요~
Vccaux하구 Vcco랑 전압 레벨이 같으면 같은 소스로 동시에 인가해도 됩니다~

 

그럼 전력 소모는 어떻게 될까?

이게 영 애매한 부분인데!

FPGA는 특성상 로직이 전부다 구현되고 나서야 전력 소모를 알 수가 있거든 ㅋ

그래서 약간 보수적으로 접근할 수 밖에 없어 ㅋ

 

회로도에서 5V 출력 쪽을 보면 3.5A라고 찍혀 있어... ㅎㄷㄷ

ARTY EVB 5V regulator

5 * 3.5A = 16.5W;;;

이렇게 까지 해야하나? 싶은데.. 뭐 EVB니까 ㅋ

참고만 하자고 참고만!

 

아 그리고 혹시나 내부 ADC를 사용하려면 외부 레퍼런스 전압을 줘야하는데

아래 처럼 1.25V 만들어 주는 아이를 하나 써주면 되겠지.


다음은 Configuration 부분을 보자구.

JTAG interface하고 QSPI Flash가 대부분이고

Flash에서 FPGA에 Bit load하는 PROG,

Bit loading이 완료되면 뜨는 DONE 시그널 정도가 기본이 되겠네.

그 밖에 configuration이 진행되는 시간동안 io pullup/down 설정해주는 PUDC_B 등이 있는데 EVB 회로에서 크게 벗어나지 않을거니까 회로를 그대로 사용해도 무방할 것 같아.

FPGA 모델에 따라서 QSPI Flash 용량 정도만 맞춰주면 될 듯!

FPGA config 파트

 

Configuration에 대한 더 자세한 내용은 UG470 문서를 살펴보도록!

https://docs.xilinx.com/r/en-US/ug470_7Series_Config

 

7 Series FPGAs Configuration User Guide (UG470)

 

docs.xilinx.com

 

자~ 그리고 나머지는 FPGA 관련된 부분은 XADC와 같은 내부 Peripharal 관련된 부분이 있겠네. XADC말고 더 있긴한가?

아! 바이패스 캐페시터 달아주는 정도? ㅋㅋ

 

어때 참 쉽지? 는 개뿔 ㅋ

읽어야 하는 데이터 시트도 많고 경험도 많이 필요하긴 해.

그래도 한번 해두면 평생 가져가는 자산이 될거야!

기회가 오면 무조건! 알지? ㅋ

 

안녕!

반응형

'임베디드 하드웨어 > 기타 회로 설계' 카테고리의 다른 글

STM32F407 32.768kHz Crystal 선정 및 디버그!  (3) 2023.03.16
TVS  (1) 2023.03.07
220V AC 장비 파워 제어  (2) 2022.06.05
고온 측정 회로 / 열전대 회로  (0) 2022.06.02
AC-DC 컨버터  (0) 2022.05.19