Monday, November 3, 2014

[ASIC/SoC] PAD 에 대하여

ASIC이나 SoC를 진행하다보면 반드시 PAD를 달아야 하는데 사실 PAD는 Pre-sim 뿐만 이니라 Post-sim까지 진행하고 난 뒤에 붙여도 실제 칩 동작에는 큰 영향이 없다. 심지어 Back-End까지 다 진행하고 난 후에 PAD를 붙이는 경우도 있다고 한다. 그런데 이런 PAD를 왜 붙여야 하는지 알아보도록 하자.

PAD란? I/O 회로를 패키지 또는 기판에 연결하기 위해 사용되는 칩 가장 자리에 위치한 금속 영역 또는 입출력 Buffer를 말한다.


가장자리에 검은색 부분이 Pad 이다. 이런 Pad는 이미 모델로 만들어져 삼성전자, 하이닉스, UMC, TSMC 같은 Fab을 통해서 라이브러리로 제공받을 수 있으며 Front-End 엔지니어는 그냥 가져다가 붙이기만 하면된다.

자 그럼 Pad는 Fab에서 제공해주는 라이브러리를 그냥 사용하면 되는데 종류가 굉장히 많다. 내가 설계한 블럭에는 어떤 Pad를 붙여야 하지?
다음 사항을 고려해서 선택해야 한다.
Current, Delay, Area, Port direction, Slew rate, Noise, Drive strength 정도를 설계한 블럭과 같이 고려하여 선택하여야 한다.

Current는 Pad를 통해 연결되는 회로가 얼마나 많은 Load를 필요로 하는가에 달려 있다. Fan Out이라고 생각해도 되는데 Fan In과 Fan Out에 관해서는 다음 포스팅에서 다루도록 하고 Pad를 선택할 때 무조건 높은 Current로 Pad를 선정하게 되면 뒤에 Load가 적을 경우 빠른 동작으로 인해 신호에 Overshoot가 발생하여 노이즈가 발생하게 된다. 이 문제는 나아가서 EMC 방사 노이즈로 큰 문제가 될 수 도 있다. 너무 낮은 Current Pad를 선택하게되면 많은 Load가 걸렸을 때 Pad가 타거나 신호 동작이 느려져 원하는 타이밍에 동작하지 않게 된다. Current가 곧 Drive strength라고도 볼 수 있으며 이것만으로도 Delay, Slew rate, Noise 등이 관련되어 있다는 것을 알 수 있으므로 선택시 많은 고민을 해야 한다.

Port direction은 Pad의 경우 input, output, bidirection 있는데 설계한 블럭에 맞도록 선택해 주어야 하며 Bidirection의 경우 3-state buffer로 설계하여 정확한 동작이 되도록 회로를 추가해야 하니 참고 하도록 하자.



Area는 같은 스펙의 Pad 처럼 보이는 Pad Limit와 Core Limit의 차이가 있다. Pad Limit 는 Core 크기 보다 Pad의 개수가 더 많아 Pad의 개수로 Chip의 크기가 결정될 경우 Pad Limit를 사용하며 반대로 Core의 크기가 크고 Pad개수가 적으면 Chip의 크기가 Core의 크기로 결정되므로 Core Limit Pad를 선택하여 사용하면 된다. 정리하면 Core Limit pad는 fat and shorter로 설계되며 Pad Limit pad는 long and narrow로 설계된다.

이외에도 노이즈를 제거하기 위한 슈미트 트리거(Schmitt trigger) 회로를 추가하거나 본 블로그에도 한번 포스팅했던 [반도체기초] 풀어[Pull-Up) 풀다운(Pull-Down) 저항 및 Hi-Z 도 옵션으로 Pad에 추가 할 수 있도록 설계되어 있다. 당연히 이런 부가적인 회로들이 더 Pad에 들어가게되면 Pad가 커지는 단점이 발생하게 된다.

따라서 Pad의 선택은 본인이 설계한 블럭의 입출력 포트들이 어떻게 사용되는지에 따라 부족하지도 않고 과하지도 않게 선택되어야 한다.

P.S. 혹시나 잘못된 부분 지적해주시면 정말 감사드리겠습니다.

No comments :

Post a Comment