검증 7

CDL netlist - 각 element별 format 정리

Capacitor Element 아래 문자열들은 capacitor를 정의한다. (붉은 글자는 필수 항목임) Cxxx n1 n2  c >>>>+ ... +  Cxxx n1 n2  c >>> + ... +  Cxxx n1 n2  C=c  + ... +  첫번째와 두번째 구문에서 c 와 mname 순서는 바꿀 수 있다. 만약 c와 mname 둘 중 하나가 숫자로 인식될 수 없다면(예를 들어 숫자가 아니거나 미리 정의된 parameter가 아닐 경우) 이는 mname parameter로 가정한다.실제 예는 아래와 같다. C1 1 2 10PC3 n1 n2 10P M=4 W=10U L=20U AAA=5 BBB="zz" $[mc] $commentC4 n1 ..

검증 2024.09.06

LVS ABORT ON SUPPLY ERROR / LVS ABORT ON SUPPLY SHORT

사이즈가 큰 IP 혹은 칩 레벨의 검증은 체감 상 한번이라도 LVS CORRECT를 시켰다면 전체 검증의 80%정도는 되었다고 볼 수 있을 정도로 LVS CORRECT를 봤는지 여부가 아주 중요하다.특히 촉박한 일정으로 검증을 끝내야 할 경우(불행히도 대부분의 IC 개발 일정은 몹시 촉박하다....) 이렇게 큰 DB에 대한 LVS 검증 시간을 조금이라도 줄이는 것이 검증 막판의 레이아웃 엔지니어 심장 건강에도 도움이 되는데, 특히 회로가 많은 수의 power나 ground 를 포함하고 있다면 supply net과 관련한 LVS option 구문을 적절하게 선택하여 도움을 받을 수 있다. 먼저 LVS 검증 프로세스의 간단한 순서를 보면, 1) GDS(또는 Oasis) 파일로부터 레이아웃 netlist 추출..

검증 2024.09.02

안테나 에러 (antenna effect)의 의미와 해결 방법

레이아웃을 완료한 후 진행하는 검증 종류 중에 안테나 룰 체크하는 단계가 있다. 보통은 일반 DRC 룰에 포함되어 있지만, 안테나 룰을 별도로 돌려야 하는 경우도 있다.이번 포스팅에서는 DRC 관점에서는 안테나 에러, 이론적으로는 안테나 효과(antenna effect)라고 불리는 현상 및 레이아웃 에러 발생 시 대처 방법에 대해 알아본다. 안테나 효과란? 안테나 효과의 보다 정확한 표현은 plasma induced gate oxide damage(플라즈마 유도 게이트 산화물 손상)이지만, 왜인지 이쪽 업계에서는 안테나 효과라는 표현을 사용하고 있다.반도체 제조 공정 진행 중에는 플라즈마(plasma)를 사용하는 공정이 많은데, 특히 플라즈마 에칭(plasma etching) 공정은 최근 고밀도 플라즈마..

검증 2024.08.26

CDL netlist - control 구문 정리

LVS를 검증하기 위한 CDL netlist에 관한 포스팅을 두차례에 나누어 할 예정인데, 그 중 하나로 기본적인 control 구문들에 대해 알아보기로 하겠다.Netlist에도 verilog, EDIF, spice 등 여러 종류의 netlist가 있고 각 종류마다 각기 다른 format을 가지고 있다.그 중 virtuoso 혹은 custom-compiler를 사용하여 회로를 설계한 후 레이아웃과 비교하는 LVS 검증을 하기 위해 추출하는 netlist을 CDL netlist라고 한다.CDL은 Circuit Description Language 또는 Circuit Design Language의 약자이다.어떤 이들은 spice netlist라고부르기도 하는데, 엄밀하게는 spice netlist와 CDL ..

검증 2024.06.27

Calibre : 필요한 rule만 골라서 체크하는 DRC SELECT CHECK

레이아웃 해야 하는 블럭의 크기가 작을 때는 Calibre 가 워낙 빠르기 때문에 DRC, LVS를 몇십번씩 돌리고 또 돌려도 시간 부담이 없겠지만 어느 정도 크기가 있는 IP 레벨만 되어도 DRC 한 번 돌리는데 한시간은 훌쩍 넘어간다.그런데 참 이상하게도 "이제 다 된 것 같아, 마지막 검증만 확인해 보자!" 이런 상황으로부터 보통 한 번이 아닌 세 번은 돌려야 끝이 나는 경우가 많다. (나만 그런가??) 암튼, 이렇게 검증 막바지에 이르러서 몇 개 남지 않은 사소한 DRC를 확인하기 위해 Design rule 전체 set을 모두 돌리기에는 시간이 너무 아깝다.그래서 이럴 때는 내가 확인해 보고 싶은 rule만 골라서 check 해 볼 수 있는 DRC SELECT CHECK 를 사용하면 검증 시간을 ..

검증 2024.06.24

LVS 시간 단축 tip - Calibre로 netlist error check 먼저 하기

레이아웃 업무를 하다 보면 가장 힘들 때를 꼽으라면 아마  tape-out 일정에 맞춰 검증을 끝내야 할 때일 것이다.게다가 칩 레벨의 검증이라면 run time도 오래 걸리고 라이센스 한 번 잡는 것도 힘들 때가 많다.그런데 힘들게 라이센스를 잡아서 한시간 넘게 LVS를 돌렸는데 netlist에 문제가 있어서 레이아웃 DB와 compare도 못해보고 끝나버렸다면? 아마도 엔지니어는 머리를 쥐어 뜯으며 입술이 바짝 바짝 말라가는 경험을 하게 될 것이다.이렇게 되는 이유는 calibre lvs flow가 아래 그림과 같이 흘러가기 때문이다. Calibre로 LVS를 수행하면 tool은 레이아웃 DB와 netlist DB를 바로 비교할 수 없기 때문에 먼저 GDS(혹은 oasis file)로부터 레이아웃 n..

검증 2024.06.08

virtuoso,calibre를 이용하여 flatten netlist 만드는 방법

레이아웃 검증을 하다 보면 flatten netlist를 만들어야 하는 경우가 가끔 생긴다.그 중 가장 큰 이유는 TOP level에서 LVS 검증 시 subcircuit name 이 중복되는 경우를 피하기 위함인데, 여러 부서에서 만든 블럭들을 합체하여 CHIP을 구성하는 경우나, IP를 외부에서 구입하여 사용할 경우가 대표적인 경우가 되겠다. Virtuoso tool이 여러 라이브러리 중에 같은 이름의 instance가 있을 경우에는 cdl-out 시 이름을 자동으로 분리해 주기 때문에, virtuoso tool에서 전체 chip의 cdl netlist 바로 추출하여 LVS에 사용할 수 있는 경우라면 굳이 faltten netlist를 만들 필요는 없다. 그러나 이 경우가 아닐 때 내가 LVS 검증 ..

검증 2024.05.10