문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 SoC (문단 편집) === 설계 === 공장에서 생산을 하기 전, 가장 먼저 설계를 한다. 집을 지을 때도 단순히 뚝딱 만드는 것이 아닌, 미리 도면을 그려 여러 역학을 사용 후 설계를 하듯이 SoC도 마찬가지로 먼저 칩의 구조를 설계한다. 먼저 시장조사를 통해 완성할 칩의 성능과 기능을 결정하고 여기에 맞는 IP들을 직접 설계하거나 사오게 된다. 이를 RTL에서 합친 후 기능을 검증하게 된다. SW의 설계와 다르게 하드웨어는 수정이 불가능하기 때문에 설계 단계의 대부분은 검증이 차지하게 된다. 일반적인 버그 이외에도 Corner case까지 모두 검증해 최종 출시되는 칩에 기능상의 문제가 없도록 한다. 설계는 보통 EDA를 사용한다. 보통 Cadence나 Synopsys의 소프트웨어를 사용한다. 이때 SoC의 설계는 트랜지스터나 스키메틱 기반이 아니라 [[HDL]]을 활용한다. HDL은 [[Verilog]], [[VHDL]]과 같은 반도체 전자 회로 설계를 하기 위해 사용 되는 언어들로 이 언어들을 사용하여 RTL에서 설계하게 된다. RTL은 Register Transfer Level의 약자로 Register와 그 사이의 Combinational Logic을 기능단위로 정의하고 설계하는 단계이다. [[EDA]]는 일종의 [[CAD]] 전자공학 버전이며 [[EDA]]는 반도체 설계를 위해 개발된 소프트웨어들을 묶은 것이다. \ 예를 들어, Verilog HDL을 통해 애플의 A칩을 설계했다고 하자. 제일 먼저 Verilog 문서를 작성한 후 EDA 툴로 기능 검증 시뮬레이션을 돌린다. EDA Tool은 문법상의 오류, 합성과정의 오류를 전부 체크하고 문제가 없을 경우 검증 엔지니어가 정의한 검증 코드를 바탕으로 수 없이 많은 시뮬레이션을 진행해 기능이 정상적으로 작동하는지 체크하게 된다. 앞서 언급한 것처럼, Corner case를 전부 검증해야 하기 때문에 매우 많은 시간이 소요되게 된다.기능 검증 시뮬레이션은 단순히 기능만을 검증할 뿐, 칩의 동작을 보증하지 않는다. CMOS는 스위칭에 따른 딜레이가 존재하기 때문에 레지스터와 레지스터 사이를 주어진 클럭 안에 통과해야 한다. 이때, 통과 시간과 클럭의 차이를 Slack이라고 한다. Static Timing Analysis는 이 Slack을 전부 계산해 설계자에게 정보를 제공한다. Slack이 전부 양수가 되면(Timing Closure) 이 단계를 통과하게 된다. 위 검증 과정을 모두 마치면, EDA Tool을 이용해 P&R과정을 거치게 된다. 설계된 블럭들을 실제 칩의 레이아웃으로 바꾸고 트랜지스터들이 어떻게 배치되어 있는지 전부 결정하게 된다. 이 과정을 마치면 최종적으로 생성된 데이터를 파운드리 업체로 넘기게 된다. 파운드리 업체와 함께 사용할 공정에 맞게 Mask를 제작하고 공장에 넣어 실제 칩이 정상적으로 동작하는지 파악하게 된다. 이러한 설계 과정만을 담당하는 업체를 [[팹리스]](Fabless)라고 부르며, [[Apple]], [[NVIDIA]], [[AMD]], [[퀄컴]]이 대표적 팹리스다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기