[기고] LVS 회로 검증에서 성능 최적화와 디버깅 성능 간의 균형 관리하기
  • 2024-02-06
  • 신윤오 기자, yoshin@elec4.co.kr
  • 와엘 엘만호위(Wael ElManhawy), Siemens Digital Industries Software




회로 검증에서 성능 최적화와 디버깅 가능성의 균형을 맞추는 문제는 촉박한 일정 내에 고품질 설계를 생성해야 하는 엔지니어에게 심각한 딜레마로 작용할 수 있다. 성능 최적화를 극대화하기 위해 노력하면 디버깅 프로세스가 복잡해질 수 있으며, 특히 계층 구조 조작과 확장성을 개선하기 위해 더 많은 hcell을 사용할 수 있는 레이아웃 검증에서 더욱 그렇다. 




반도체 기술 노드가 발전함에 따라 더 작은 면적에 더 많은 기능이 통합되어 집적 회로(IC) 설계의 복잡성이 증가한다. 10nm 이하에서는 표준 셀의 면적이 크게 감소하여 설계 밀도가 훨씬 더 높아진다(그림 1).

트랜지스터, 금속 레이어(metal layers), 연결 문(connect statements), 디바이스 수가 증가한 복잡한 회로는 레이아웃 과정에서 발생할 수 있는 설계 규칙 위반, 누락 또는 단절된 요소, 회로 오류를 감지하고 수정하기 위해 철저한 물리적 검증이 필요하다. 동시에 출시 일정이 촉박해지면서 테이프아웃 기한을 맞추기 위해 더 빠른 검증 런타임이 필요하다.

그림 1. 프로세스 노드 전반에서 표준 셀의 면적 및 밀도 변화


회로 검증에서 정확성과 속도 사이의 지속적인 균형은 IC 설계의 두 가지 핵심 측면, 즉 성능 최적화와 디버깅 성능 사이에서 충돌을 일으킨다. 한편으로 설계 팀은 설계한 회로가 효율적으로 작동하고 원하는 성능 지표를 충족하는지 신속하게 검증해야 한다. 다른 한편으로는 회로 검증 프로세스에서 문제가 발견되면 이를 효과적으로 식별, 디버깅하고 변경 사항을 구현하여 문제를 해결할 수 있어야 한다.

첨단 노드에서 LVS 회로 검증의 과제

레이아웃 대 회로도(LVS) 검증은 최종 레이아웃이 설계된 대로 의도한 회로 기능을 정확하게 반영하는지 확인한다[1]. 설계자는 LVS 검증을 사용하여 물리적 레이아웃에서 추출한 넷리스트를 원래 회로 회로도와 비교하고 회로의 성능, 기능 또는 신뢰성에 영향을 미칠 수 있는 오류나 편차를 찾는다. 최신 노드에서는 설계 밀도가 증가하고 더 복잡한 디바이스 구조가 존재하기 때문에 레이아웃에서 정확한 넷리스트를 추출하는 것이 더욱 어려워졌고, 이로 인해 런타임이 길어지고 리소스 요구 사항이 높아지고 있다. LVS 툴은 대규모 설계를 효율적으로 처리하고 허용 가능한 런타임 내에 결과를 제공해야 한다. 

새로운 설계에서 디바이스와 셀 수가 증가함에 따라 발생하는 또 다른 과제는 계층적 방식으로 넷리스트(netlists)를 처리할 수 있는 기능 없이는 위반 사항을 디버깅하기가 어렵다는 점이다. 그림 2a에서 계층적 처리 기능이 없는 경우, 플랫 LVS 실행을 사용하여 100회 반복되는 하나의 셀에서 하나의 위반을 디버깅하려면 100개의 위반을 수정해야 한다. LVS가 계층적으로 실행되는 그림 2b에서는 설계자가 100개가 아닌 하나의 오류만 수정하면 된다.
 
그림 2. 플랫 LVS 결과와 계층적 LVS 결과 디버깅 비교


계층적 LVS 실행의 비교 단계에서는 추출된 레이아웃과 회로도 넷리스트가 계층적으로 동일한지 확인한다. 이 평가를 수행하기 위해서는, 계층적 넷리스트를 작성할 때 사용할 두 넷리스트의 초기 대응 셀 목록이 필요하다. Hcell은 이러한 계층적으로 대응하는 셀에 대한 표준 명명 규칙이다. Hcell은 레이아웃과 소스 디자인 모두에 존재하며 동일한 기능을 수행하는 셀을 나타낸다. Hcell은 계층적 엔티티로서 비교된다. 각 hcell 쌍에 대해 레이아웃 hcell은 지정된 소스 hcell과 비교된다. 두 넷리스트의 모든 다른 셀들은 회로 비교 단계에서 다음 레벨의 셀로 확장된다.

설계자 및/또는 CAD(컴퓨터 지원 설계) 팀은 표준 셀, 메모리 셀 및 주요 블록(예: 지적 재산[IP], 매크로, 파티션)에 대한 소스 및 레이아웃 넷리스트 모두에 이름이 일치하는 hcell을 추가하여 포괄적인 hcell 목록을 수동으로 생성할 수 있다. 또는 Siemens EDA의 Calibre 인터랙티브 인터페이스[2]와 같은 일부 전자 설계 자동화(EDA) 툴을 통해 자동화된 hcell 목록을 생성할 수 있다. 그림 3은 레이아웃 및 소스 넷리스트 모두에서 동등한 hcell 쌍을 포함하는 hcell 목록을 보여준다.
 
 
그림 3. 일반적인 Hcell 목록


물리적 검증에서 주요 과제 중 하나는 시스템 온 칩(SoC), 메모리, IP 블록이 서로 다른 소스에서 제공된다는 것이다. LVS 검증을 실행하는 최상위 엔지니어는 LVS 위반(예: 단락, 개방, 구성 요소 누락)이 있는 블록의 위치를 식별하여 디버깅 및 수정을 위해 해당 블록을 블록 소유자에게 다시 전달할 수 있어야 한다. 그림 4는 다양한 메모리 및 IP 블록이 포함된 레이아웃 디자인을 보여준다.
 
그림 4. IC 레이아웃의 여러 블록은 서로 다른 소스에서 가져올 수 있다.


LVS에서 hcell을 사용할 때의 주요 장점 중 하나는 각 계층 블록이 비교되고 위반사항이 발생 가능한 원인에 대한 세부 정보와 함께 오류를 보고하여 디버깅 프로세스를 더 쉽고 효율적으로 수행할 수 있다는 것이다. 그림 5는 Calibre RVE 결과 뷰어를 사용하여 디버깅할 때 이러한 세부 정보가 표시되는 방식을 보여준다.
 
그림 5. 칼리버 RVE 결과 뷰어에 표시된 Hcell 비교 결과.


성능 대 디버깅 성능 (Performance vs. debuggability)

계층적 LVS 검증의 초기 단계에서는 원본 입력 레이아웃 데이터베이스로부터 내부 계층 데이터베이스를 구축해야 한다. 사용된 LVS 툴에 따라 이 원본 데이터베이스는 일반적으로 다양한 알고리즘(휴리스틱)을 사용하여 LVS 실행 중 최적의 성능을 제공하기 위해 수정된다.

예를 들어, Siemens Calibre nmLVS™ 툴을 사용하는 경우 특정 셀 배치가 자동으로 확장되어 새로운 셀과 배치를 생성한다. 셀 배치 자동 확장은 여러 가지 이유로 발생하며, 모두 성능 알고리즘을 위해 계층 구조를 최적화하기 위한 것이다. 설계 계층 구조를 활용은 빠른 처리를 가능하게 하기 위해 충분한 파티셔닝을 제공하는 입증된 방법으로, 각 파티션은 별도의 코어에 의해 처리된다. 이 방법은 수천 개의 컴퓨팅 연산(computational) 코어를 사용하여 뛰어난 확장성을 제공한다[3].

hcell 목록은 회로 추출 단계에서 셀 확장을 방지하며, 계층적 회로 추출기는 모든 레이아웃 hcell을 보존하고 절대 확장하지 않는다. 회로 추출 단계에서 hcell을 지정하면 모든 hcell이 추출된 레이아웃 넷리스트에서 하위 회로로 보존되고 비교 단계에서 hcell으로 사용할 수 있다.

일반적으로 비교적 간단한 hcell 목록을 사용하면 우수한 런타임 성능을 얻을 수 있으며, 이로 인해 더 많은 코어 사용 및 더 나은 성능을 위한 “디자인 계층 수정” 및 “서버 성능 휴리스틱”을 적용하기가 쉽다. 그러나 설계 계층 구조를 수정하고 레이아웃 셀을 확장하게 되면 확장된 셀이 비교되지 않아 회로도와 레이아웃 간의 오류를 감지할 수 없으므로 LVS 디버깅에 문제가 발생할 수 있다. 반면에 최상의 디버깅 성능을 보장하기 위해 큰 hcell 목록을 사용하면 런타임 성능에 심각한 영향을 미칠 수 있다.

성능 최적화와 디버깅 가능성 사이의 문제를 해결하려면 전체적인 접근 방식이 필요하다. 회로 설계자, 레이아웃 엔지니어, 검증 팀 간의 협업은 모두의 요구 사항을 균형 있게 만족시키기 위해서 매우 중요하다. 설계 계층 구조와 현재 설계의 '청결도(cleanliness)'를 모두 고려한 결과는 계층적 LVS를 실행하는 동안 추출 및 비교 런타임 성능에 심각한 영향을 미치지 않으면서 가능한 한 많은 디버깅 지원을 제공하기 위해 유지되어야 하는 최소한의 hcell 세트를 정의한다. 이러한 최적의 지점을 조기에 식별하는 것은 매우 중요하며, 특히 설계가 더럽거나 레이아웃 엔지니어가 설계 위반의 원인을 쉽게 식별할 수 있도록 디버깅 기능이 필요한 경우에 중요하다. 

설계 흐름의 여러 단계에서 Calibre nmLVS 유틸리티는 다양한 범위의 계층 구조 깊이를 포함하는 다양한 hcell 목록을 자동으로 생성할 수 있는 여러 옵션을 제공한다. 설계 계층 구조와 그 청결도에 기반 한 설계자와 CAD 엔지니어 간의 조율에 따라 hcell 목록에서 유지되어야 하는 hcell의 수준을 정의한다. 각 실행에 대해 서로 다른 옵션을 사용하면 설계가 더러운 초기 단계에서는 더 큰 hcell 목록을 사용하여 설계자에게 더 많은 디버깅 옵션을 제공할 수 있고, 설계가 정리된 후기 단계에서는 작은 hcell 세트를 사용하여 처리 시간을 단축하는 데 도움이 된다.

결론

회로 검증에서 성능 최적화와 디버깅 가능성의 균형을 맞추는 문제는 촉박한 일정 내에 고품질 설계를 생성해야 하는 엔지니어에게 심각한 딜레마로 작용할 수 있다. 성능 최적화를 극대화하기 위해 노력하면 디버깅 프로세스가 복잡해질 수 있으며, 특히 계층 구조 조작과 확장성을 개선하기 위해 더 많은 hcell을 사용할 수 있는 레이아웃 검증에서 더욱 그렇다. hcell 목록을 똑똑하게 선택하여 성능과 디버깅 가능성 간의 트레이드 오프를 균형 있게 유지하는 것은 정확하고 효율적인 회로 검증 프로세스를 달성하기 위한 중요한 단계다. 이러한 과제를 정면으로 해결함으로써 엔지니어는 설계 흐름의 모든 단계에서 신뢰성 있고 디버깅 가능한 회로 설계를 보장하면서 성능의 한계를 뛰어넘을 수 있다.



참조(References)

[1]    R. Agarwal, et al., “An insight into layout versus schematic,” EDN, July 2013. https://www.edn.com/an-insight-into-layout-versus-schematic/ 
[2]    Calibre Design Solutions, “Creating an initial Hcell list for Calibre LVS jobs, using Calibre Interactive” Jan 2017. https://blogs.sw.siemens.com/calibre/2017/01/23/creating-an-initial-hcell-list-for-calibre-lvs-jobs-using-calibre-interactive
[3]    Hien T. Vu, Soohong Kim, James Word, Lynn Y. Cai, "A novel processing platform for post tape out flows," Proc. SPIE 10587, Optical Microlithography XXXI, 105870R (20 March 2018); https://doi.org/10.1117/12.2297240


저자(Authors)

와엘 엘만호위(Wael ElManhawy)는 Siemens Digital Industries Software의 Calibre 설계 솔루션 사업부에서 Calibre LVS 툴 및 기술을 지원하는 선임 제품 관리자다. 그는 EDA 및 반도체 산업에서 25년의 경력을 쌓았으며, 설계 측면, 반도체 제조 및 Calibre 툴에 대한 폭넓은 지식을 보유하고 있다. 카이로 대학교에서 더블 게이트 MOSFET의 디바이스 모델링으로 석사 학위를 받았다. wael.manhawy@siemens.com 
 

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>

본 기사의 전문은 PDF문서로 제공합니다. (로그인필요)
다운로드한 PDF문서를 웹사이트, 카페, 블로그등을 통해 재배포하는 것을 금합니다. (비상업적 용도 포함)
 PDF 원문보기

#반도체   #부품   #소프트웨어  

  •  홈페이지 보기
  •  트위터 보기
  •  페이스북 보기
  •  유투브 보기
  • 100자평 쓰기
  • 로그인

세미나/교육/전시
TOP