Tuesday, November 4, 2014

[ASIC/SoC] Fan In & Fan Out

이번에는 지난 PAD 포스트에서 언급되었던 ASIC/SoC에서 중요한 Fan In 과 Fan Out에 대하여 포스팅 하도록 하겠다. 방금 문득 생각이 들었는데 본 포스팅에 ASIC과 SoC에 대하여 언급하였는데 반도체 용어들에 대해서는 새로운 프로젝트를 통하여 정리해 보도록하고 이번 포스팅에서 Fan In과 Fan Out만 알아보자.

Fan In과 Fan Out 의 경우 RTL 설계에서는 크게 생각하지 않을 수도 있는 부분 중에 하나인데 이유는 합성 툴이 상황에 따라 적절한 게이트를 선택하기 때문이다. 하지만 어떤 문제가 발생하여 디버깅 할때나 게이트 레벨 Netlist를 확인할 때 필요하기 때문에 알아두도록 하자.

Fan-In은 게이트가 수용할 수 있는 입력의 최대 수 이다. 예를들어 AND 게이트라고 할 경우 2-Input AND 게이트도 있고 5-Input AND 게이트도 있을 수 있다. 일반적으로는 2-Input과 5-Input AND 게이트가 입력 개수만 다르고 똑같은거 아닌가? 라고 생각할 수 도 있는데 실제로는 그렇지 않다. 2개의 입력을 받을 수 있는 AND게이트와 5개의 입력을 받을 수 있는 AND 게이트는 수용할 수 있는 전류, 크기, 캐패시턴스 등 전혀 다른 게이트라고 할 수 있다. 2개의 입력값을 받을 수 있는 AND게이트에 5개의 입력값을 넣게 된다면 타이밍이 느려져 Setup Violation(본 블로그 [반도체기초]Setup Time/Hold Time 참조)이 발생하게 된다. 그렇다면 무조건 많은 Fan-In을 받을 수 있는 게이트를 선정하면 되느냐? 그것도 아니다. 크기가 커지고 빠른 동작으로 인한 노이즈 발생 및 Hold Time Violation 등을 고려해야 한다. 모자른 것보다 많은게 좋지만 그래도 역시 가장 좋은건 적절한 게이트를 선정하는 것이 되겠다. 

Fan-Out은 Fan-In의 반대라고 생각하면 된다. Fan-In에서 설명한 AND 게이트로 말하면 게이트의 Output에 붙일 수 있는 다른 게이트 입력의 최대 수 이다. PAD 포스팅에서도 설명했지만 출력에 얼마나 많은 회로를 붙일 수 있느냐에 따라 다른 게이트를 선택해야 하지만 역시나 적절한 부품이 가장 좋은 선택이 되겠다.  

마지막으로 정리 차원에서 그림으로 나타내 보면 아래와 같다.

설계에 따라 예상되는 Fan-In과 Fan-Out에 개수에 따라서 적절한 부품을 선택하는 것이 엔지니어의 실력이라고 할 수 있겠다.

No comments :

Post a Comment