https://en.wikipedia.org/wiki/Integrated_circuit_design
집적 회로 설계, 반도체 설계, 칩 설계 또는 IC 설계는 전자 공학의 하위 분야로, 집적 회로 또는 IC를 설계하기 위해 필요한 특정 로직과 회로 설계 기법을 포함한다. IC는 포토리소그래피를 통해 단일 반도체 기판 위에 전기 네트워크로 구축된 소형화된 전자 부품으로 구성된다.
IC 설계는 디지털 및 아날로그 IC 설계라는 넓은 범주로 나눌 수 있다. 디지털 IC 설계는 마이크로프로세서, FPGA, 메모리(RAM, ROM, 플래시) 및 디지털 ASIC과 같은 부품을 생산하는 것이다. 디지털 설계는 논리적 정확성, 회로 밀도의 극대화, 그리고 클록 및 타이밍 신호가 효율적으로 라우팅되도록 회로를 배치하는 데 중점을 둔다. 아날로그 IC 설계는 전력 IC 설계 및 RF IC 설계에서도 전문화되어 있다. 아날로그 IC 설계는 opamp, 선형 레귤레이터, 위상 동기 루프, 발진기 및 활성 필터의 설계에 사용된다. 아날로그 설계는 이득, 매칭, 전력 소모 및 저항과 같은 반도체 장치의 물리학에 더 많은 관심을 가진다. 아날로그 신호 증폭 및 필터링의 충실도는 일반적으로 중요하며, 결과적으로 아날로그 IC는 디지털 설계보다 더 큰 면적의 활성 장치를 사용하며 회로 밀도는 일반적으로 더 낮다.
현대의 IC는 엄청나게 복잡하다. 2015년 기준 평균 데스크탑 컴퓨터 칩에는 10억 개 이상의 트랜지스터가 있다. 제조 가능한 것과 불가능한 것에 대한 규칙도 매우 복잡하다. 2015년의 일반적인 IC 공정은 500개 이상의 규칙을 가지고 있다. 더욱이, 제조 공정 자체가 완전히 예측 가능하지 않기 때문에, 설계자들은 그 통계적 특성을 고려해야 한다. 현대 IC 설계의 복잡성과 설계를 신속하게 생산하려는 시장 압력으로 인해 IC 설계 과정에서 자동화된 설계 도구의 광범위한 사용이 이루어졌다. 일부 프로세서의 설계는 완전히 테스트하기 어려울 정도로 복잡해져서, 이는 대규모 클라우드 제공업체에서 문제를 일으켰다. 간단히 말해, EDA 소프트웨어를 사용한 IC의 설계는 IC가 수행할 지시사항의 설계, 테스트 및 검증이다. 인공 지능은 칩 레이아웃을 생성하는 데 사용되어 왔는데, 이는 칩 내의 표준 셀과 매크로 블록 위치를 의미한다. 이러한 기술의 발전은 IC 설계 과정을 혁신하고 있으며, 설계자들이 더 효율적이고 정확하게 복잡한 칩을 설계할 수 있게 해준다. 인공 지능의 적용은 특히 표준 셀과 매크로 블록의 최적 배치와 같은 과제를 해결하는 데 있어 매우 유망한 접근 방법으로 부상하고 있다. 이는 IC 설계의 미래에 대한 흥미로운 전망을 제시하며, 설계 과정의 자동화와 최적화를 통해 더 빠르고 비용 효율적인 칩 생산을 가능하게 한다.
종합적으로, 현대 IC 설계는 엄청난 수의 트랜지스터와 복잡한 제조 규칙을 관리해야 하는 도전적인 과제이다. 이를 극복하기 위해 자동화된 설계 도구와 인공 지능과 같은 첨단 기술이 중요한 역할을 하고 있다. 이러한 기술의 발전은 칩 설계의 복잡성을 관리하고, 시장의 요구에 더 빠르게 응답하며, 최종 제품의 효율성과 성능을 향상시키는 데 기여한다.
Fundamentals
집적 회로 설계는 트랜지스터, 저항기, 콘덴서와 같은 전자 부품들과 이러한 부품들을 반도체, 일반적으로 실리콘 조각 위에 연결하는 작업을 포함한다. 기판 실리콘이 전도성을 가지고 있고 종종 개별 부품의 활성 영역을 형성하기 때문에, 기판에 형성된 개별 부품들을 분리하는 방법이 필요하다. 흔히 사용되는 두 가지 방법은 p-n 접합 분리와 유전체 분리이다.
IC는 개별 부품에 비해 매우 작은 장치를 포함하고 있기 때문에, 트랜지스터의 전력 소모와 연결 저항, 연결, 접점 및 비아의 전류 밀도에 주의를 기울여야 한다. 여기서는 이러한 문제가 그다지 문제가 되지 않는다. 금속 연결에서의 전자 이동과 아주 작은 부품에 대한 ESD 손상도 우려된다. 마지막으로, 특정 회로 부블록의 물리적 배치는 일반적으로 운영 속도를 달성하기 위해, IC의 시끄러운 부분을 조용한 부분으로부터 분리하기 위해, IC 전체에 걸친 열 발생의 영향을 균형있게 하기 위해, 또는 IC 외부의 회로에 연결을 배치하기 용이하게 하기 위해 매우 중요하다.
Design flow
IC 설계 흐름의 주요 단계
일반적인 IC 설계 주기는 다음과 같은 몇 가지 단계를 포함한다:
- system 사양
- 타당성 조사 및 die 사이즈 추정
- 기능분석
- architecture 또는 system level의 설계
- 논리설계
- 아날로그 설계, 시뮬레이션 및 layout
- 디지털 설계 및 시뮬레이션
- system 시뮬레이션, 에뮬레이션 및 검증
- 회로설계
- 디지털 디자인 합성
- 테스트 및 자동 테스트 패턴 생성을 위한 설계
- 제조성을 위한 설계
- physical설계
- 평면도
- 장소 및 경로
- 기생추출법
- physical 검증 및 승인
- 정적 타이밍
- 공동 시뮬레이션 및 타이밍
- 마스크 데이터 준비(layout 후처리)
- 테이프 아웃으로 칩 마감
- 레티클 layout
- layout-투-마스크 준비
- 레티클 제작
- 포토마스크 제작
- 웨이퍼 제작
- 포장
- 다이 테스트
- 실리콘 검증 및 통합 후
- 기기특성화
- 조정 [필요한 경우]
- 칩 배치
- 데이터시트 생성(보통 PDF 파일)
- Ramp up
- 생산.
- 수율 분석 / 보증 분석 신뢰도
- 수익률에 대한 고장 분석
- 가능하면 생산정보를 활용한 차세대 칩 계획
칩 내의 새로운 접속들을 확립하기 위해 칩 개발 동안 집속 이온 빔들이 사용될 수 있다.
요약
대략적으로 말하자면, 디지털 IC 설계는 세 부분으로 나눌 수 있다.
- 전자 시스템 레벨 설계: 이 단계는 사용자 기능 사양을 생성한다. 사용자는 이 설명을 생성하기 위해 다양한 언어와 도구를 사용할 수 있다. 예를 들면 C/C++ 모델, VHDL, SystemC, SystemVerilog 트랜잭션 레벨 모델, Simulink, MATLAB 등이 있다.
- RTL 설계: 이 단계는 사용자 사양(사용자가 칩이 수행하기를 원하는 것)을 레지스터 전송 레벨(RTL) 설명으로 변환한다. RTL은 칩 위의 디지털 회로의 정확한 동작과 입력 및 출력에 대한 연결을 설명한다.
- 물리적 회로 설계: 이 단계는 RTL과 사용 가능한 로직 게이트(표준 셀 라이브러리)의 라이브러리를 가져와 칩 디자인을 생성한다. 이 단계는 IC 레이아웃 편집기 사용, 레이아웃 및 플로어 플래닝, 사용할 게이트 결정, 그들을 위한 위치 정의, 그리고 그들을 연결하는 배선(클록 타이밍 합성, 라우팅)을 포함한다.
두 번째 단계인 RTL 설계는 칩이 올바른 작업을 수행하는 역할을 한다.
세 번째 단계인 physical design는 기능두 번째 단계인 RTL 설계는 칩이 올바른 일을 수행하도록 책임진다. 세 번째 단계인 물리적 설계는 (제대로 수행되면) 기능성에 전혀 영향을 미치지 않지만 칩이 얼마나 빨리 작동하고 비용이 얼마나 드는지 결정한다.
표준 셀은 일반적으로 단일 논리 게이트, 다이오드 또는 플립플롭과 같은 간단한 논리 구성 요소나 다중 입력을 가진 논리 게이트를 나타낸다. 표준 셀의 사용은 칩의 설계를 논리적 및 물리적 수준으로 분할할 수 있게 한다. 팹리스 회사는 일반적으로 칩의 논리적 설계, 즉 셀이 어떻게 연결되고 칩의 기능성을 결정하는 일만 하며, 칩을 제작할 파운드리의 설계 규칙을 따르는 반면, 칩의 물리적 설계, 즉 셀 자체는 주로 파운드리에서 수행되며 이는 트랜지스터 장치의 물리학과 그것들이 어떻게 연결되어 논리 게이트를 형성하는지를 포함한다. 표준 셀은 시장 요구에 더 빠르게 반응하여 칩을 설계하고 수정할 수 있게 하지만, 이는 칩 내의 트랜지스터 밀도가 낮아지고 따라서 더 큰 다이 크기라는 비용을 지불해야 한다.에 전혀 영향을 미치지 않지만(정확하게 수행되면) 칩이 얼마나 빨리 작동하고 비용이 얼마나 드는지를 결정한다.
표준 셀은 일반적으로 단일 논리 게이트, 다이오드 또는 플립플롭과 같은 단순 논리 구성 요소 또는 여러 input이 있는 논리 게이트를 나타낸다. 표준 셀을 사용하면 칩의 설계를 논리적 및 physical level로 나눌 수 있다. Fabless 회사는 일반적으로 칩의 논리적 설계에만 작업하여 셀이 연결되는 방식과 칩의 기능을 결정하는 반면, 칩의 physical design는 파운드리에서 일반적으로 수행되며, 칩의 physical design, 즉 cell 자체는 일반적으로 파운드리에서 수행되며 트랜지스터 device의 physical 및 연결되어 논리 게이트를 형성하는 방식으로 구성된다. 표준 셀은 시장의 요구에 대응하기 위해 칩을 보다 신속하게 설계하고 수정할 수 있지만, 이는 칩의 트랜지스터 밀도가 낮아서 die 크기가 커야 하는 비용이 든다.
파운드리는 팹리스 회사에 디자인 목적으로 표준 셀 라이브러리를 공급하며, 그들의 설계가 파운드리의 설비를 사용하여 제조될 수 있도록 한다. 파운드리는 표준 셀 라이브러리뿐만 아니라 셀의 사양, 그리고 팹리스 회사의 설계가 파운드리가 지정한 설계 규칙에 대해 검증하고 파운드리의 셀을 사용하여 시뮬레이션할 수 있는 도구를 포함할 수 있는 프로세스 디자인 키트(PDK)를 제공할 수 있다. PDK는 비밀유지협약 하에 제공될 수 있다. 매크로/매크로셀/매크로 블록, 매크로셀 배열 및 IP 블록은 표준 셀보다 더 큰 기능성을 가지며 유사하게 사용된다. 소프트 매크로와 하드 매크로가 있다. 표준 셀은 보통 표준 셀 행을 따라 배치된다.
이러한 구성 요소를 통합하여, 디지털 IC 설계 과정은 매우 복잡하며 많은 전문 지식과 주의를 요구한다. 설계자들은 논리적 설계와 물리적 설계의 다양한 단계에서 수많은 결정을 내려야 하며, 이러한 결정은 최종 칩의 성능, 비용, 그리고 시장 출시 시간에 큰 영향을 미친다. 따라서, 효율적인 설계 프로세스와 강력한 도구의 사용은 이러한 목표를 달성하기 위해 필수적이다.
표준 셀, 매크로, PDK와 같은 리소스의 사용은 설계 과정을 가속화하고, 파운드리와의 긴밀한 협력을 통해 고품질의 칩을 신속하게 시장에 출시할 수 있게 한다. 이러한 방법은 또한 팹리스 회사가 자신들의 설계를 파운드리의 제조 공정과 더 잘 일치시킬 수 있게 해주어, 제조 중에 발생할 수 있는 문제를 최소화하고, 최종 제품의 성공 가능성을 높인다.
최종적으로, 디지털 IC 설계는 현대 전자 제품의 핵심 기술이며, 이 분야에서의 지속적인 혁신과 발전은 더 높은 성능, 더 낮은 비용, 그리고 더 빠른 시장 출시 시간을 가능하게 하는 새로운 기회를 제공한다.
Design lifecycle
집적 회로(IC) 개발 프로세스는 제품 요구사항을 정의하는 것으로부터 시작하여, 아키텍처 정의, 구현, bringup 및 최종 생산을 통해 진행된다. 집적 회로 개발 프로세스의 다양한 단계들이 아래에 기술된다. 비록 phase들이 여기에서 간단한 방식으로 제시되지만, 실제로는 반복이 있고 이러한 단계들은 여러 번 발생할 수 있다.
Requirements
아키텍처를 정의하기 전에 몇 가지 높은 level의 제품 목표를 정의해야 한다. 요구사항은 일반적으로 시장 기회, 고객 요구사항, 실현 가능성 등을 다루는 cross functional 팀에 의해 생성된다. 이 단계에서 제품 요구사항 문서가 생성되어야 한다.
Architecture
아키텍처는 제품의 기본 구조, 목표 및 원리를 정의한다. 높은 level의 개념과 제품의 내재적 가치 명제를 정의한다. 아키텍처 팀은 많은 변수를 고려하고 많은 그룹과 interface한다. 아키텍처를 만드는 사람들은 일반적으로 아키텍처가 생성되는 영역의 system을 다루는 상당한 양의 경험을 가지고 있다. architecture 단계의 작업 제품은 architecture 사양이다.
Micro-architecture
마이크로-아키텍처는 하드웨어에 한 걸음 더 가까워진다. 이는 아키텍처를 구현하고, 그 구현을 달성하기 위한 특정 메커니즘들 및 구조들을 정의한다. 마이크로-아키텍처 단계의 결과는 아키텍처를 구현하는데 사용되는 방법들을 기술하는 마이크로-아키텍처 사양이다.
Implementation
구현 단계에서 설계 자체는 마이크로아키텍처 사양을 시작점으로 사용하여 생성된다. 이는 low level의 정의 및 분할, 코드 작성, 도식 및 검증 input을 포함한다. 이 단계는 설계가 테이프아웃에 도달하는 것으로 끝난다.
Bringup
디자인이 만들어지고 taped-out되어 제작되면 실제 하드웨어인 '첫 번째 실리콘'을 받아 실험실로 옮겨져 불러온다. bringup는 실험실에서 디자인의 전원을 켜고, 테스트하고, 특성을 파악하는 과정이다. 기기 전원이 켜지는지 확인하는 것과 같은 매우 간단한 테스트에서 시작하여 다양한 방식으로 부품에 스트레스를 주려는 훨씬 더 복잡한 테스트까지 수많은 테스트가 수행된다. bringup 단계의 결과는 특성화 데이터(부품이 사양에 얼마나 잘 작동하는지)와 errata(예상치 못한 행동)의 문서화이다.
Productization
제품화는 설계를 엔지니어링에서 대량 생산 제조로 가져오는 작업이다. 제품 엔지니어들이 제품의 사양을 도입 단계에서 성공적으로 충족시켰을 수도 있지만, 그 설계를 대량 생산하려고 할 때 직면하는 많은 문제들이 있다. IC는 적절한 수율로 생산 volume까지 증가되어야 한다. 제품화 단계의 목표는 적절한 비용으로 대량 생산 volume에 도달하는 것이다.
Sustaining
일단 디자인이 mature되어 대량생산에 도달하면 그 디자인은 유지되어야 한다. 생산량에 큰 영향을 주지 않으려면 그 과정을 지속적으로 관찰하고 문제를 신속하게 처리해야 한다. 지속의 목표는 제품 수명이 다하기 전까지 생산량을 유지하고 비용을 지속적으로 절감하는 것이다.
Design process
Microarchitecture and system-level design
초기 칩 설계 과정은 시스템 레벨 설계와 마이크로아키텍처 계획으로 시작된다. IC 설계 회사 내에서, 관리 및 종종 분석팀은 새로운 칩의 설계를 시작하기 위한 제안서를 설계 팀에 제출한다. 이 산업 분야에 맞는 칩을 설계하기 위한 것이다. 상위 레벨의 설계자들은 이 단계에서 칩이 기능적으로 어떻게 작동할지 결정하기 위해 만난다. 이 단계는 IC의 기능성과 설계가 결정되는 곳이다. IC 설계자들은 전체 프로젝트에 대한 기능 요구 사항, 검증 테스트벤치 및 테스팅 방법론을 구상하고, 이러한 초기 설계를 C++ 및 MATLAB과 같은 언어를 사용하여 간단한 모델로 시뮬레이션할 수 있는 시스템 레벨 사양으로 전환한다.
순수하고 새로운 설계의 경우, 시스템 설계 단계는 명령어 세트와 작동이 계획되는 곳이며, 대부분의 칩에서는 새로운 기능을 위해 기존의 명령어 세트가 수정된다. 이 단계에서의 설계는 종종 "MP3 포맷으로 인코딩한다" 또는 "IEEE 부동소수점 연산을 구현한다"와 같은 문장으로 이루어진다. 설계 과정의 후반 단계에서, 이러한 무해해 보이는 문장들은 수백 페이지에 달하는 텍스트 문서로 확장된다.
이러한 초기 단계에서의 결정과 계획은 칩의 최종 성능, 기능, 제조 비용 및 시장 출시 시간에 결정적인 영향을 미친다. 따라서, 이 단계에서 정확하고 효율적인 설계 결정을 내리는 것은 매우 중요하며, 이는 종종 시장에서의 성공과 실패를 결정짓는다. 따라서, IC 설계 과정에서의 이러한 초기 단계는 프로젝트의 성공을 위해 매우 중요한 기초를 마련한다.
RTL 설계
시스템 설계에 대한 합의가 이루어지면, RTL(레지스터 전송 레벨) 설계자들은 Verilog, SystemVerilog, VHDL과 같은 하드웨어 기술 언어를 사용하여 기능 모델을 구현한다. 덧셈기, 시프터, 상태 기계와 같은 디지털 디자인 구성 요소 및 파이프라이닝, 슈퍼스칼라 실행, 분기 예측과 같은 컴퓨터 아키텍처 개념을 사용하여, RTL 설계자들은 칩상의 구성 요소들이 함께 작동하는 하드웨어 모델로 기능적 설명을 분해한다. 시스템 설계에서 기술된 간단한 문장들은 쉽게 수천 줄의 RTL 코드로 변환될 수 있는데, 이는 사용자가 제시할 수 있는 모든 가능한 경우에 RTL이 올바른 작동을 할 것인지 검증하기가 매우 어렵다는 것을 의미한다.
기능성 버그의 수를 줄이기 위해, 별도의 하드웨어 검증 그룹이 RTL을 가져와 테스트벤치와 시스템을 설계하여 RTL이 다양한 조건하에서 실제로 동일한 단계를 수행하는지 확인한다. 이는 기능 검증의 영역으로 분류된다. 많은 기술들이 사용되며, 완벽한 것은 없지만 모두 유용하다 – 광범위한 논리 시뮬레이션, 형식적 방법, 하드웨어 에뮬레이션, 린트와 같은 코드 검사, 코드 커버리지 등이 있다. 에뮬레이터에 의해 수행된 검증과 같은 검증은 FPGA나 특수 프로세서에서 수행될 수 있으며, 에뮬레이션은 시뮬레이션을 대체했다. 초기에는 칩 내의 논리 게이트를 시뮬레이션하여 시뮬레이션이 수행되었지만, 나중에는 칩 내의 RTL이 시뮬레이션되었다. 아날로그 칩 디자인을 생성할 때는 여전히 시뮬레이션이 사용된다. 프로토타입 플랫폼은 개발 중인 칩 디자인의 프로토타입에서 소프트웨어를 실행하는 데 사용되지만, 반복하거나 수정하는 데 더 느리며, 완성된 디자인에서 하드웨어 신호가 어떻게 나타날지 시각화하는 데 사용될 수 없다.
여기서 작은 오류도 전체 칩을 무용지물로 만들거나, 더 나쁜 경우가 될 수 있다. 유명한 펜티엄 FDIV 버그는 매우 드물게 발생하는 경우에 최대 61ppm(백만 분의 61)까지 잘못된 나눗셈 결과를 초래했다. 칩이 수개월 동안 생산된 후에야 누군가가 이를 발견했다. 그럼에도 불구하고 인텔은 버그를 수정할 때까지 판매된 모든 칩을 무료로 교체할 것을 제안해야 했으며, 이는 4억7500만 달러(미화)의 비용을 발생시켰다. 이 사례는 칩 설계와 검증 과정에서의 작은 오류가 얼마나 큰 경제적 손실과 브랜드 신뢰도 하락을 가져올 수 있는지 보여준다. 따라서, 칩 설계 과정에서의 정밀한 검증 단계는 매우 중요하다.
RTL 단계 이후, 설계는 보통 합성 과정을 거쳐 물리적 칩 레이아웃으로 변환된다. 이 과정은 RTL 설계를 실제 제조 가능한 칩으로 변환하는 데 필요한 세부 사항을 추가한다. 합성 과정은 설계의 타이밍, 전력 소모, 면적 등을 최적화하고, 물리적 제약 조건을 고려하여, 최종 제품의 성능과 효율성을 극대화한다.
물리적 레이아웃이 완성되면, 칩은 제조 과정을 거치게 되는데, 이 과정에서는 다양한 제조 및 테스트 단계가 포함된다. 제조 과정은 매우 복잡하며, 고도의 정밀도를 요구한다. 제조된 칩은 최종 테스트를 거쳐 시장에 출시되기 전에 모든 기능이 올바르게 동작하는지 확인된다.
Physical design
디지털 설계 흐름 내의 physical design 단계
RTL은 칩이 작동해야 할 실제 기능의 행위 모델일 뿐이다. 이는 칩이 실제 생활에서 재료, 물리학, 전기공학 측면에서 어떻게 작동할지에 대한 물리적 측면과는 연결되지 않는다. 이러한 이유로, IC 설계 과정의 다음 단계인 물리적 설계 단계는 RTL을 칩에 탑재될 모든 전자 장치, 예를 들어 커패시터, 저항기, 논리 게이트, 트랜지스터 등의 실제 기하학적 표현으로 매핑하는 것이다.
물리적 설계의 주요 단계는 아래에 나열되어 있다. 실제로는 직선적인 진행이 아니라, 모든 목표가 동시에 충족되도록 보장하기 위해 상당한 반복이 필요하다. 이는 자체적으로 어려운 문제이며, 디자인 클로저라고 불린다.
- 논리 합성: RTL이 칩의 대상 기술에 대한 게이트 레벨 넷리스트로 매핑된다.
- 플로어플래닝: 칩의 RTL이 칩의 큰 영역에 할당되고, 입력/출력(I/O) 핀이 할당되며, 큰 객체(배열, 코어 등)가 배치된다.
- 배치: 넷리스트의 게이트가 다이 영역의 중복되지 않는 위치에 할당된다.
- 논리/배치 정제: 성능과 전력 제약을 닫기 위한 반복적인 논리 및 배치 변환이 이루어진다.
- 클록 삽입: 디자인에 클록 신호 배선(일반적으로 클록 트리)이 도입된다.
- 라우팅: 넷리스트의 게이트를 연결하는 배선이 추가된다.
- 포스트와이어링 최적화: 성능(타이밍 클로저), 노이즈(신호 무결성), 그리고 수율(제조 가능성을 위한 디자인) 위반을 제거한다.
- 제조 가능성을 위한 디자인: 가능한 한 제조가 쉽고 효율적이도록 디자인이 수정된다. 이는 파운드리에서 설정한 디자인 규칙을 준수하면서 가능한 곳에 추가 비아를 추가하거나 더미 메탈/확산/폴리층을 추가함으로써 달성된다.
- 최종 검사: 오류는 비용이 많이 들고 시간이 많이 걸리며 발견하기 어렵기 때문에, 종합적인 오류 검사가 규칙이다. 논리 매핑이 올바르게 수행되었는지 확인하고, 제조 규칙이 충실히 따랐는지 확인한다.
- 칩 마무리와 테이프아웃 및 마스크 생성: 디자인 데이터는 마스크 데이터 준비에서 포토마스크로 전환된다.
Analog Design
마이크로프로세서와 소프트웨어 기반 설계 도구가 등장하기 전에, 아날로그 IC는 손 계산과 프로세스 키트 부품을 사용하여 설계되었다. 이러한 IC는 저복잡도 회로였으며, 예를 들어, 연산 증폭기와 같은 것으로, 일반적으로 십 개 이하의 트랜지스터와 몇 개의 연결만을 포함했다. 제조 가능한 IC를 달성하기 위해서는 반복적인 시행착오 과정과 장치 크기의 "과다 설계"가 종종 필요했다. 검증된 설계의 재사용은 이전 지식에 기반하여 점점 더 복잡한 IC를 구축할 수 있게 했다. 1970년대에 저렴한 컴퓨터 처리 기능이 사용 가능해지면서, 손 계산으로는 실용적이지 않은 더 큰 정확도로 회로 설계를 시뮬레이션하는 컴퓨터 프로그램이 작성되었다. 아날로그 IC를 위한 첫 번째 회로 시뮬레이터는 SPICE(통합 회로 강조 시뮬레이션 프로그램)라고 불렸다. 컴퓨터화된 회로 시뮬레이션 도구는 손 계산으로는 달성할 수 없는 더 큰 IC 설계 복잡성을 가능하게 하여 아날로그 ASIC의 설계를 실용적으로 만들었다.
아날로그 설계에서는 많은 기능적 제약을 고려해야 하기 때문에, 디지털 설계가 자동 배선 및 합성을 포함하여 고도로 자동화된 것과는 대조적으로, 수동 설계는 오늘날에도 여전히 널리 사용되고 있다. 결과적으로, 현대의 아날로그 회로 설계 흐름은 상향식과 하향식 두 가지 다른 설계 스타일로 특징지어진다. 상향식 설계 스타일은 전통적인 디지털 흐름과 유사한 최적화 기반 도구를 사용한다. 하향식 절차는 "전문 지식"의 재사용을 통해, 절차적 설명에 포착된 이전에 고안된 해결책의 결과를 재현하여 전문가의 결정을 모방한다. 예를 들어, PCells과 같은 셀 생성기가 있다.
Coping with variability
아날로그 IC 설계에서 가장 중요한 도전 중 하나는 반도체 칩에 구축된 개별 장치의 변동성에 관련된다. 보드 레벨 회로 설계가 각각 테스트되어 가치에 따라 분류된 장치를 디자이너가 선택할 수 있게 하는 것과 달리, IC의 장치 값은 디자이너가 제어할 수 없는 상황에서 넓게 변동할 수 있다. 예를 들어, 일부 IC 저항은 ±20%까지 변동할 수 있고 통합 BJT의 β는 20에서 100까지 변동할 수 있다. 최신 CMOS 공정에서는 수직 PNP 트랜지스터의 β가 1 이하로 떨어질 수도 있다. 설계 도전을 더하는 것은, 장치 속성이 각 처리된 반도체 웨이퍼마다 다를 수 있다는 것이다. 장치 속성은 도핑 기울기 때문에 각각의 개별 IC 내에서도 상당히 변동할 수 있다. 이러한 변동성의 근본 원인은 많은 반도체 장치들이 공정에서 제어할 수 없는 무작위 변동에 매우 민감하기 때문이다. 확산 시간의 약간의 변화, 불균일한 도핑 수준 등은 장치 속성에 큰 영향을 줄 수 있다.
- 장치 변동의 영향을 줄이기 위해 사용되는 일부 설계 기법은 다음과 같다:
- 절대 저항 값보다는 밀접하게 일치하는 저항의 비율을 사용한다.
- 변동이 일치하는 매치된 기하학적 형태의 장치를 사용한다.
- 통계적 변동이 전체 장치 속성의 무시할 수 있는 부분이 되도록 장치를 크게 만든다.
- 변동을 상쇄하기 위해 큰 장치(예: 저항)를 부분으로 분할하고 서로 엮는다.
- 오프앰프의 트랜지스터 차동 쌍과 같이 밀접하게 일치해야 하는 장치의 변동을 상쇄하기 위해 공통 중심점 장치 레이아웃을 사용한다.
벤더
전자 설계 자동화 도구를 판매하는 3대 기업은 Synopsys, Cadence, and Mentor Graphics이다.
이어지는 글
[세미피디아] ESL [Electronic System Level] 설계 및 검증
Electronic system-level design and verification https://en.wikipedia.org/wiki/Electronic_system-level_design_and_verification ESL(Electronic System Level) 설계 및 검증은 추상화 수준이 높은 문제에 초점을 맞춘 전자 설계 방법론이
semi52.tistory.com
'반도체 > 회로설계' 카테고리의 다른 글
[📚세미피디아] EDA Tool이란? (0) | 2024.04.08 |
---|---|
[📚세미피디아] ESL [Electronic System Level] 설계 및 검증 (0) | 2024.04.08 |
[📚세미피디아] Understanding Electromigration and IR Drop in Semiconductor Chip (0) | 2024.04.06 |
[📚세미피디아] Overcoming Lower Geometry Design Challenges (0) | 2024.04.06 |
[📚세미피디아] VLSI에서의 전력 손실: 저전력 SoC 설계로 성능향상 (0) | 2024.04.06 |