원문 캡처 · ustcpetergu.com
원문 캡처 · ustcpetergu.com

아날로그 회로를 직접 배치한 설계와 RTL 기반 디지털 설계를 함께 진행해 3주 만에 GDS 제출물까지 만들었다. 기록에는 xschem·KLayout 학습부터 DRC/LVS 검증, UART 설계와 전력망 문제 해결까지의 과정이 담겼다.

8월 22일 저장소를 포크하고 Ishi-kai의 VHDX 이미지를 Docker 이미지로 변환했다. 다음 날에는 인버터를 살펴보며 표준 셀의 크기와 칩에서 사용할 수 있는 면적, xschem과 KLayout의 역할을 익혔다.

8월 24일부터 TDC와 광소자, 링 오실레이터를 탐색했다. xschem으로 인버터 시뮬레이션을 만든 뒤 5단 링 오실레이터에서 약 150MHz의 주파수를 확인했고, NAND 게이트로 활성화 입력을 추가하거나 MOS를 더해 전압 제어 발진기를 시뮬레이션했다. TDC 회로는 xschem 시뮬레이션을 통과했으며 탭당 약 2ns로 나왔다.

이 과정에서 회로도와 레이아웃이 일치하는지 확인하는 LVS와 설계 규칙 검사(DRC)를 익혔다. 셀 이름과 핀 이름, 금속 배선, 접지·전원 연결 때문에 오류를 해결해야 했다. 9월 6일에는 수작업으로 배치한 인버터, 링 오실레이터, VCO, TDC, 포토다이오드 설계가 DRC와 GDS 검사 및 GitHub CI를 통과했다.

이후 디지털 설계를 위한 LibreLane 흐름을 손보고 UART 송신기를 구현했다. RTL에서 GDS까지 출력한 뒤에는 FPGA와 ASIC의 전력 문제가 다르다는 점을 확인했고, 전원 분배망에도 별도의 주의가 필요했다. 9월 14일에는 DRC/LVS를 통과한 UART GDS로 큰 글자 24개를 출력했다. 9월 15일에는 넷리스트의 게이트 수준 시뮬레이션에서 조합 출력의 글리치를 확인했으며, 50MHz 클록은 의심스러웠지만 5MHz에서는 동작이 괜찮아 보였다고 기록했다. 파운드리 IP62의 DRC 오류도 발견해 수정한 뒤 GDS를 제출했다.

관련 변경 사항은 picture-to-gds 저장소와 TR-1um LibreLane 흐름에서 확인할 수 있다. 이 작업에는 별도 명시가 없는 한 크리에이티브 커먼즈 BY-SA 4.0 국제 라이선스가 적용된다.