집적회로 설계

Integrated circuit design
단순한 CMOS Operational Amplifier의 레이아웃 뷰(입력 부분은 왼쪽, 보정 캐패시터는 오른쪽).금속층은 파란색, 녹색 및 갈색은 N- 및 P-도프 Si, 폴리실리콘은 빨간색, 비아는 십자형이다.
초기 IC 설계 워크스테이션을 사용하여 루빌리스를 절단한 회로 설계 섹션을 분석하는 엔지니어(1979년경)

집적회로 설계(IC design)는 전자공학의 하위 분야로 집적회로(IC) 설계에 필요한 특정 논리와 회로 설계 기술을 포함합니다.IC는 포토 리소그래피에 의해 모노리식 반도체 기판상의 전기 네트워크에 내장된 소형화된 전자 부품으로 구성됩니다.

IC 설계는 디지털 및 아날로그 IC 설계의 광범위한 범주로 나눌 수 있습니다.디지털 IC 설계는 마이크로프로세서, FPGA, 메모리(RAM, ROM, 플래시), 디지털 ASIC 등의 부품을 생산하는 것이다.디지털 설계는 논리적인 정확성, 회로 밀도 극대화 및 클럭 및 타이밍 신호가 효율적으로 라우팅되도록 회로를 배치하는 데 중점을 둡니다.아날로그 IC 설계에는 전력 IC 설계와 RF IC 설계도 특화되어 있습니다.아날로그 IC 설계는 op-amp, 선형 조절기, 위상 잠금 루프, 발진기 및 활성 필터 설계에 사용됩니다.아날로그 설계는 게인, 매칭, 전력 손실 및 저항과 같은 반도체 장치의 물리학과 더 관련이 있습니다.아날로그 신호 증폭 및 필터링의 충실도는 보통 중요하며, 그 결과 아날로그 IC는 디지털 설계보다 더 큰 면적의 액티브 디바이스를 사용하며, 일반적으로 회로 밀도가 낮습니다.

현대 IC는 엄청나게 복잡하다.2015년 기준으로 데스크톱 컴퓨터 칩 하나에 10억 개 이상의 트랜지스터가 있습니다.제조할 수 있는 것과 제조할 수 없는 것에 대한 규칙도 매우 복잡하다.2015년의 일반적인 IC 프로세스에는 500개 이상의 규칙이 있습니다.또한, 제조 공정 자체가 완전히 예측 가능한 것은 아니기 때문에, 설계자는 그 통계적 특성을 고려해야 한다.현대 IC 설계의 복잡성과 디자인을 신속하게 생산해야 한다는 시장의 압력으로 인해 IC 설계 과정에서 자동화된 설계 도구가 광범위하게 사용되었습니다.즉, EDA 소프트웨어를 사용한IC 설계는 IC가 실행하는 명령의 설계, 테스트 및 검증입니다.

기초

집적회로 설계에는 트랜지스터, 저항기, 캐패시터 등의 전자 부품을 만들고, 이러한 부품을 반도체(일반적으로 실리콘)에 상호 연결합니다.기판실리콘은 도전성이 있고 종종 개별부품의 활성영역을 형성하기 때문에 기판 내에 형성된 개별부품을 분리하는 방법이 필요하다.두 가지 일반적인 방법은 p-n 접합 절연과 유전 절연입니다.IC에는 개별 컴포넌트에 비해 매우 작은 디바이스가 포함되어 있기 때문에 트랜지스터의 전력 소산 및 상호접속 저항과 상호접속, 접점 및 비아의 전류 밀도에 주의해야 합니다.금속 인터커넥트의 전자화 및 소형 구성 요소의 ESD 손상도 우려됩니다.마지막으로 특정 회로 서브블록의 물리적인 레이아웃은 일반적으로 바람직한 동작속도를 달성하거나 IC의 노이즈 부분을 조용한 부분으로부터 분리하거나 IC 전체의 발열 효과를 균형 있게 조정하거나 IC 외부의 회로에 대한 접속을 용이하게 하기 위해 매우 중요합니다.

설계 흐름

IC 설계 흐름의 주요 단계

일반적인 IC 설계 사이클에는 몇 가지 단계가 포함됩니다.

  1. 시스템 사양
    1. 타당성 조사 및 금형 크기 추정
    2. 함수 분석
  2. 아키텍처 또는 시스템 수준 설계
  3. 논리 설계
    1. 아날로그 설계, 시뮬레이션 및 레이아웃
    2. 디지털 설계 및 시뮬레이션
    3. 시스템 시뮬레이션 및 검증
  4. 회선 설계
    1. 디지털 디자인 합성
    2. 테스트자동 테스트 패턴 생성을 위한 설계
    3. 제조가능성을 고려한 설계(IC)
  5. 물리 설계
    1. 플로어 플래닝
    2. 장소 및 경로
    3. 기생 추출
  6. 물리적인 검증과 사인오프
    1. 정적 타이밍
    2. 동시 시뮬레이션 및 타이밍
  7. 마스크 데이터 준비(레이아웃 후 처리)
    1. 마감(테이프 아웃
    2. 레티클 레이아웃
    3. 레이아웃 투 마스크 준비
  8. 웨이퍼 제작
  9. 패키징
  10. 다이 테스트
    1. 실리콘 검증 및 통합 후
    2. 디바이스의 특성화
    3. 수정(필요한 경우)
  11. 칩 도입
    1. 데이터시트 생성(보통 휴대용 문서 형식(PDF) 파일)
    2. 증가하다
    3. 생산.
    4. 수율분석/보증분석 신뢰성(반도체)
    5. 반품 실패 분석
    6. 가능하면 실가동 정보를 사용하여 차세대 칩 계획 수립

요약

대략 디지털 IC 디자인은 세 가지로 나눌 수 있습니다.

  • 전자 시스템 수준 설계:이 단계에서는 사용자 기능 사양을 작성합니다.사용자는 다양한 언어와 도구를 사용하여 이 설명을 작성할 수 있습니다.예를 들어 C/C++ 모델, VHDL, SystemC, SystemVerilog 트랜잭션레벨 모델, Simulink MATLAB 등이 있습니다.
  • RTL 설계:이 스텝에서는, 유저 사양(사용자가 칩에 요구하는 것)을 Register Transfer Level(RTL; 레지스터 전송 레벨)의 설명으로 변환합니다.RTL은 칩 상의 디지털 회로의 정확한 동작과 입력 및 출력에 대한 상호 연결을 설명합니다.
  • 물리 회로 설계:이 단계에서는 RTL과 사용 가능한 논리 게이트 라이브러리(표준 셀 라이브러리)를 사용하여 칩 설계를 작성합니다.이 순서에는 IC 레이아웃에디터, 레이아웃 및 플로어 플래닝, 사용하는 게이트의 결정, 장소의 정의 및 배선(클럭 타이밍 합성, 라우팅)이 포함됩니다.

두 번째 단계인 RTL 설계는 칩이 올바른 기능을 수행하도록 책임집니다.세 번째 단계인 물리적 설계는 기능에 전혀 영향을 주지 않지만(정확하게 수행되었을 경우), 칩의 동작 속도와 비용을 결정합니다.

설계 라이프 사이클

집적회로(IC) 개발 프로세스는 제품 요구사항 정의에서 시작하여 아키텍처 정의, 구현, 시작 및 최종 생산에 이르기까지 진행됩니다.집적회로 개발 프로세스의 다양한 단계가 아래에 설명되어 있습니다.단계들이 여기에 간단한 방식으로 제시되어 있지만, 실제로는 반복이 있으며 이러한 단계들은 여러 번 발생할 수 있습니다.

요구 사항들

아키텍처를 정의하기 전에 몇 가지 높은 수준의 제품 목표를 정의해야 합니다.요구사항은 일반적으로 시장 기회, 고객 요구, 실현 가능성 등을 다루는 교차 기능 팀에 의해 생성됩니다.이 단계에서는 제품 요건 문서가 작성됩니다.

아키텍처

아키텍처는 제품의 기본 구조, 목표 및 원칙을 정의합니다.제품의 높은 수준의 개념과 본질적인 가치 제안을 정의합니다.아키텍처 팀은 많은 변수를 고려하고 많은 그룹과의 인터페이스를 고려합니다.일반적으로 아키텍처를 작성하는 사람들은 아키텍처가 작성되고 있는 영역의 시스템에 대해 상당한 경험을 가지고 있습니다.아키텍처 단계의 작업 산출물은 아키텍처 사양입니다.

마이크로 아키텍처

마이크로아키텍처는 하드웨어에 한 걸음 더 가까이 다가갑니다.아키텍처를 구현하고 구현 달성을 위한 특정 메커니즘과 구조를 정의합니다.마이크로 아키텍처 단계의 결과는 아키텍처 구현에 사용되는 방법을 설명하는 마이크로 아키텍처 사양입니다.

실행

구현 단계에서는 마이크로 아키텍처 사양을 출발점으로 하여 설계 자체가 작성됩니다.여기에는 낮은 수준의 정의와 파티션 분할, 코드 작성, 도식 입력 및 검증이 포함됩니다.이 단계는 설계가 테이프 아웃에 도달하는 것으로 끝납니다.

기동

설계, 테이핑, 제조 후 실제 하드웨어인 '제1의 실리콘'을 수령하고 를 실험실로 가져갑니다.기동이란, 연구소에서 설계의 전력 공급, 테스트, 및 특성화를 실시하는 프로세스입니다.매우 간단한 테스트부터 시작하여 다양한 방법으로 부품을 강조하려는 훨씬 더 복잡한 테스트까지 장치의 전원이 켜지는지 확인하는 등 수많은 테스트가 수행됩니다.기동 단계의 결과는 특성화 데이터(부품이 사양에 얼마나 적합한지)와 에라타(예상치 않은 동작)의 문서화입니다.

제품화

생산은 엔지니어링에서 대량 생산 제조로 디자인을 도입하는 작업입니다.디자인은 시작 단계에서 연구소에서 제품의 사양을 충족시키는 데 성공했지만 제품 엔지니어가 이러한 디자인을 대량 생산하려고 할 때 직면하는 많은 과제가 있습니다.IC는 허용 가능한 수율로 생산량까지 증가시켜야 합니다.생산 단계의 목표는 수용 가능한 비용으로 대량 생산량에 도달하는 것입니다.

유지

설계가 성숙하여 대량 생산에 도달한 후에는 지속되어야 합니다.생산량에 큰 영향을 미치지 않도록 프로세스를 지속적으로 모니터링하고 문제를 신속하게 처리해야 합니다.제품의 수명이 다할 때까지 생산량을 유지하고 비용을 지속적으로 절감하는 것이 지속 목표입니다.

설계 프로세스

마이크로아키텍처 및 시스템 레벨 설계

초기 칩 설계 프로세스는 시스템 수준 설계 및 마이크로 아키텍처 계획에서 시작됩니다.IC 설계 회사 내에서 경영진은 종종 산업 부문에 맞는 새로운 칩의 설계를 시작하기 위한 설계 팀에 대한 제안서 초안을 작성합니다.이 단계에서 상위 디자이너들이 만나 칩이 어떻게 기능적으로 작동할지를 결정할 것이다.이 단계에서 IC의 기능과 디자인이 결정됩니다.IC 설계자는 프로젝트 전체의 기능 요건, 검증 테스트 벤치 및 테스트 방법론을 계획하고, 예비 설계를 C++, MATLAB, 에뮬레이션 도구와 같은 언어를 사용하여 간단한 모델로 시뮬레이션할 수 있는 시스템 수준 사양으로 전환합니다.순수 설계 및 신규 설계의 경우 시스템 설계 단계는 명령 집합과 연산이 계획되는 단계이며, 대부분의 칩에서 기존 명령 집합은 새로운 기능을 위해 수정됩니다.이 단계에서 설계는 MP3 형식의 부호화 또는 IEEE 부동소수점 산술 구현과 같은 문장이 되는 경우가 많습니다.설계 프로세스의 후반 단계에서 이러한 순진해 보이는 문장은 각각 수백 페이지의 텍스트 문서까지 확장됩니다.

RTL 설계

시스템 설계에 동의하면 RTL 설계자는 Verilog, SystemVerilog, VHDL 등의 하드웨어 기술 언어로 기능 모델을 구현합니다.추가기, 시프터, 스테이트 머신 등의 디지털 설계 컴포넌트와 파이프라인, 슈퍼스케일러 실행, 분기 예측 등의 컴퓨터 아키텍처 개념을 사용합니다.는 기능 설명을 칩 상의 컴포넌트 하드웨어 모델로 나누어 함께 동작합니다.시스템 설계에 기재되어 있는 각 간단한 문장은 수천 의 RTL 코드로 쉽게 변환될 수 있습니다.따라서 사용자가 RTL을 사용할 가능성이 있는 모든 경우에 RTL이 올바른 작업을 수행하는지 검증하는 것은 매우 어렵습니다.

기능 버그의 수를 줄이기 위해 별도의 하드웨어 검증 그룹이 RTL을 사용하여 테스트벤치 및 시스템을 설계하여 기능 검증 도메인으로 분류되는 여러 다른 조건에서 실제로 동일한 단계를 수행하고 있는지 확인합니다.많은 기술이 사용되지만, 완벽한 기술은 없지만 모두 유용합니다. 광범위한 로직 시뮬레이션, 정식 방식, 하드웨어 에뮬레이션, 보풀과 같은 코드 검사, 코드 적용 범위 등입니다.

여기서 사소한 오류가 발생하면 칩 전체가 무용지물이 되거나 더 나빠질 수 있습니다.유명한 Pentium FDIV 버그로 인해 나눗셈 결과가 거의 61ppm 틀리게 되었습니다.이것은 매우 드물게 발생하는 경우입니다.심지어 칩이 몇 달 동안 생산되기 전까지는 아무도 그것을 알아채지 못했다.그러나 인텔은 4억 7,500만 달러([citation needed]미국)의 비용으로 버그를 고칠 수 있을 때까지 판매되는 모든 칩을 무료로 교환할 것을 강요받았다.

물리 설계

디지털 설계 흐름 내의 물리적 설계 단계

RTL은 칩이 동작해야 할 실제 기능의 동작 모델일 뿐입니다.재료, 물리 및 전기 공학 측면에서 칩이 실제로 어떻게 작동하는지에 대한 물리적 측면과는 관련이 없습니다.이러한 이유로 IC 설계 프로세스의 다음 단계인 물리적 설계 단계는 RTL을 콘덴서, 저항기, 논리 게이트, 트랜지스터와 같은 모든 전자 장치의 실제 기하학적 표현에 매핑하는 것입니다.

물리 설계의 주요 단계는 다음과 같습니다.실제로는 간단한 진행이 없습니다.모든 목표를 동시에 달성하려면 상당한 반복이 필요합니다.이것은 디자인 클로저라고 불리는 그 자체로 어려운 문제입니다.

  • 논리 합성:RTL은 칩의 타깃테크놀로지의 게이트레벨 넷리스트에 매핑됩니다.
  • 평면도:칩의 RTL은 칩의 총 영역에 할당되고 입출력(I/O) 핀이 할당되며 큰 객체(어레이, 코어 등)가 배치됩니다.
  • 배치:넷리스트의 게이트는 다이 영역의 겹치지 않는 위치에 할당됩니다.
  • 논리/배치 개선:논리 변환과 배치 변환을 반복하여 성능 및 전력 제약을 해소합니다.
  • 클럭 삽입:클럭 신호 배선은 설계에 도입되어 있습니다(일반적으로 클럭트리).
  • 라우팅:넷 리스트의 게이트를 접속하는 와이어가 추가됩니다.
  • 배선 후 최적화: 성능(타이밍 마감), 노이즈(신호 무결성) 및 항복(제조 가능성을 위한 설계) 위반을 제거합니다.
  • 제조가능성을 고려한 설계:디자인은 가능한 한 쉽고 효율적으로 제작할 수 있도록 수정되었습니다.이는 주조 공장이 정한 설계 규칙을 준수하면서 가능한 한 추가 비아를 추가하거나 더미 금속/확산/폴리 층을 추가하여 달성할 수 있습니다.
  • 최종 확인:오류는 비용이 많이 들고 시간이 오래 걸리고 발견하기 어렵기 때문에 광범위한 오류 체크가 원칙이며 로직으로의 매핑이 올바르게 수행되었는지 확인하고 제조 규칙을 충실히 준수했는지 확인합니다.
  • Tapeout 및 마스크 생성으로 칩 마감: 마스크 데이터 준비 [1]설계 데이터를 포토마스크로 변환합니다.

아날로그 설계

마이크로프로세서와 소프트웨어 기반 설계 도구가 등장하기 전에는 아날로그 IC는 수동 계산과 프로세스 키트 부품을 사용하여 설계되었습니다.이들 IC는 보통 10개 이하의 트랜지스터와 소수의 접속을 수반하는 저복잡도 회로(op-amp 등)였습니다.제조 가능한 IC를 달성하기 위해서는 종종 반복적인 시행착오 프로세스와 장치 크기의 "강화"가 필요했습니다.입증된 설계를 재사용함으로써 사전 지식을 바탕으로 점차적으로 더 복잡한 IC를 구축할 수 있었습니다.1970년대에 저렴한 컴퓨터 처리가 가능해졌을 때, 컴퓨터 프로그램은 손으로 계산하여 실제보다 더 정확하게 회로 설계를 시뮬레이션하기 위해 작성되었습니다.아날로그 IC를 위한 최초의 회로 시뮬레이터는 SPICE (Simulation Program with Integrated Circuits Enhorce)라고 불렸다.컴퓨터 회로 시뮬레이션 툴은 수동 계산보다 IC 설계의 복잡성을 증가시켜 아날로그 ASIC의 설계를 실용화합니다.

아날로그 설계에서는 많은 기능적 제약이 고려되어야 하기 때문에, 수동 설계는 오늘날에도 여전히 널리 퍼져 있습니다.그 결과 아날로그 회로에 대한 현대적인 설계 흐름은 하향식과 [2]상향식의 두 가지 다른 설계 스타일을 특징으로 합니다.하향식 설계 스타일은 기존 디지털 흐름과 유사한 최적화 기반 도구를 사용합니다.보텀업 프로시저에서는, 프로시저의 설명에 기재되어 있던 솔루션을, 전문가의 [2]판단을 모방해 「전문 지식」을 재이용합니다.예를 들어 PCell과 같은 셀 제너레이터가 있습니다.

변동에 대한 대처

아날로그 IC 설계에 가장 중요한 과제는 반도체 칩에 내장된 개별 장치의 가변성에 관한 것입니다.설계자가 각각 테스트 및 빈핑된 디바이스를 값에 따라 선택할 수 있는 보드 수준의 회로 설계와는 달리 IC 상의 디바이스 값은 설계자가 제어할 수 없는 매우 다양할 수 있습니다.예를 들어 일부 IC 저항은 ±20% 변동할 수 있으며, 집적 BJT의 β는 20~100까지 변동할 수 있습니다.최신 CMOS 프로세스에서는 수직 PNP 트랜지스터의 β가 1 이하로 내려갈 수도 있다.설계상의 과제를 더하기 위해 디바이스의 특성은 처리된 각 반도체 웨이퍼 간에 종종 다릅니다.장치의 특성은 도핑 구배 때문에 각 개별 IC에 걸쳐 크게 달라질 수 있습니다.이러한 변동성의 근본 원인은 많은 반도체 장치가 공정에서 제어할 수 없는 랜덤 분산에 매우 민감하기 때문입니다.확산 시간의 약간의 변화, 도핑 레벨의 불균등 등은 디바이스 특성에 큰 영향을 미칠 수 있습니다.

장치 변동의 영향을 줄이기 위해 사용되는 설계 기법은 다음과 같습니다.[3]

  • 절대 저항 값이 아닌 거의 일치하는 저항 비율을 사용합니다.
  • 일치하는 기하학적 형상을 가진 장치를 사용하여 변형과 일치합니다.
  • 통계적 변동이 전체 디바이스 속성에서 중요하지 않은 부분이 되도록 디바이스를 크게 만듭니다.
  • 저항기 등의 대형 장치를 부품으로 분할하고 이를 서로 엮어 변화를 취소합니다.
  • 공통 중심 장치 레이아웃을 사용하여 거의 일치해야 하는 장치(예: op amp의 트랜지스터 차동 쌍)의 변동을 취소합니다.

벤더

전자 디자인 자동화 도구를 판매하는 3대 기업은 Synopsys, Cadence Mentor [4]Graphics입니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ J. Lienig, J. Scheible (2020). "Chap. 3.3: Mask Data: Layout Post Processing". Fundamentals of Layout Design for Electronic Circuits. Springer. pp. 102–110. doi:10.1007/978-3-030-39284-0. ISBN 978-3-030-39284-0. S2CID 215840278.
  2. ^ a b J. Lienig, J. Scheible (2020). "Chap. 4.6: Analog and Digital Design Flows". Fundamentals of Layout Design for Electronic Circuits. Springer. pp. 151–159. doi:10.1007/978-3-030-39284-0. ISBN 978-3-030-39284-0. S2CID 215840278.
  3. ^ Basu, Joydeep (2019-10-09). "From Design to Tape-out in SCL 180 nm CMOS Integrated Circuit Fabrication Technology". IETE Journal of Education. 60 (2): 51–64. arXiv:1908.10674. doi:10.1080/09747338.2019.1657787. S2CID 201657819.
  4. ^ "Developments of Multi-CAD Models" (PDF). IC CAD Market Trends 2015. 2015-07-11.

추가 정보

  • Lavagno, Martin 및 Scheffer의 집적회로를 위한 전자 설계 자동화 핸드북, ISBN 0-8493-3096-3 현대 IC 설계의 주요 가능 요소 중 하나인 전자 설계 자동화 분야에 대한 조사.