2024년 5월 24일 금요일

오픈-소스 도구를 활용한 ETRI 0.5u CMOS 표준 셀 디자인 킷의 제작과 활용

오픈-소스 도구를 활용한 ETRI 0.5u CMOS 표준 셀 디자인 킷의 제작과 활용

2024년 전자공학회 하계 종합 학술대회에서 위의 제목으로 강연 합니다. 이번 제주도에서 열리는 학술대회의  "MPW/마이칩 사업단"의 특별 세션에 오셔서 많은 의견을 나눌 수 있길 고대합니다. - 국일호, 경희대학교 전자공학과

강연 요약

"내칩 MPW 제작 서비스"는 반도체 설계실무자 인재양성 지원을 위해 반도체를 제작 해주는 사업이다. 특히 학부생을 대상으로 세계 유일의 무료 서비스라 할 수 있다. 학부과정에서 고가의 설계 도구를 활용하기 어렵고, 제작을 마친 칩의 테스트도 만만치 않은 난제라 할 것이다. 다행히 최근 소프트웨어 분야에서 성공적인 성과를 이뤄낸 오픈-소스 운동에 반도체 설계도구 역시 활발하여 높은 완성도를 보여주고 있다. 이 도구들은 해외 유수의 교육용 MPW 사업에서 반도체 설계 방법론으로 자리잡았다[1][2]. 무료로 사용 할 수 있는 오픈-소스 반도체 설계 도구들은 시간과 장소에 구애받지 않으며 고가의 설계도구에 접근하기 어려운 한계를 극복할 수 있어 가히 ‘반도체 설계의 민주화’라고 일컬어진다[3].

본 강연에서는 표준 셀 기반의 디지털 반도체 설계를 중심으로 오픈-소스 반도체 설계도구의 활용 방법을 소개한다.

- 오픈-소스 반도체 설계 도구의 최근 경향
- 오픈 소스 반도체 설계 도구들, 베릴로그 RTL 합성기, 배치배선기, 레이아웃 도구의 소개
- 경희대학교 반도체 전공트랙에서 제작한 표준 셀 디자인 킷 및 디자인 플로우 소개[4]
- 표준 셀 제작과정과 오픈 소스 도구(합성기, 배치배선기, 레이아웃 도구)들과 연계 방법
- FPGA 보드를 활용한 에뮬레이션 기법으로 RTL 검증
- 오픈-소스 아두이노 보드 및 FPGA 활용 에뮬레이션 기법을 이용한 칩 테스트 전략
- 디자인 킷을 활용한 예[5]로 FIR 필터의 어레이 프로세서 구조 구현 및 “내칩 MPW”의 기준(설계 면적, 핀 수)에 맞추는 방안

풀-커스텀 방식의 “내칩 MPW”를 수행하려면 학부 과정에서 쌓아온 아날로그 및 디지털 전자회로, 컴퓨터 구조 등의 하드웨어 뿐만 아니라 베릴로그를 위시한 하드웨어 언어, C/C++, 파이썬, TCL, 쉘 스크립트까지 아우르는 컴퓨팅 언어, 신호처리 및 인공지능 알고리즘, 운영체제 등 모든 학습 역량들을 총동원해야 한다. MPW의 참여가 단지 레이아웃 도면의 생성과 칩의 제작에 국한되지 않고 알고리즘 개발, 설계 자동화 도구, 설계물의 검증 그리고 칩 테스트등 폭넓은 반도체 산업의 생태계 전반을 체험 학습하는 계기가 될 것이다.

ETRI-경희 대학교 디자인 킷[4]과 설계 플로우가 완성 단계에 있다. 이 설계 플로우에는 FPGA를 활용한 설계 검증과 칩이 출고되면 테스트까지 이어지도록 하였다. Verilog HDL-RTL과 SystemC/C++ 테스트벤치를 엮은 Co-Simulation, 이에 덧붙여 FPGA를 활용한 Co-Emulation 그리고 Testbench Re-Use 까지 교과서에서 읽어봄직한 설계및 검증 기법을 모두 포함한다. 지난 2023년 1차 MPW를 통해 제작한 칩이 작동 실패라는 고배를 마셨으나 원인이 파악된 만큼 조만간 실리콘 검증까지 완성 할 수 있을 것으로 예상한다.

RTL 설계, 시뮬레이션, 합성, FPGA 구현 검증, ASIC 레이아웃 생성, 칩 테스트까지 반도체 설계 전과정을 오픈 소스 툴 사용하므로 비용은 0원. 게다가 ETRI 0.5um CMOS 공정 칩 제작과 패키지까지 무료다. 다만 에뮬레이션 검증을 위해 하드웨어를 구입해야 해서 다소 비용이든다. 현재 Arduino DUE와 Digilent Arty A7(Xilinx FPGA)의 구입에 소요될 비용은 약 50만원선이다. 주문해 놓은 중국의 GoWin FPGA가 아직 도착 전이라 테스트 해보지 못했지만 잘되면 총비용 10만원대로 가능 할듯하다. 학생 개인이 충당할수 있는 수준이다.

에뮬레이션 검증의 예제로 6502 CPU/Apple-1를 아래와 같이 재현해 보았다.

1. Verilog RTL 단계: Verilator, Questa*Sim 그리고 SystemC TB의 Co-Simulation

2. FPGA 검증 단계: Yosys 합성기로 Xilinx FPGA용 네트리스트 생성, Vivado이용 P&R, SystemC TB 재활용 Co-Emulation. 동작속도 약 ~1khz

3. FPGA 에뮬레이션: Yosys 합성기, Vivado P&R, Arduino DUE Stand-Alone. 동작속도 약 20Khz

4. Digital Std-Cell DK 사용하여 생성한 CPU 6502의 레이아웃은 ETRI 0.5um CMOS 공정 진행중

베릴로그 CPU 6502의 실행. 응용 소프트웨어는 AppleLite BASIC이다. 흰 바탕의 화면은 Verilator를 사용 SystemC로 변환하여 실행 시킨 화면. 검은 바탕의 화면은 FPGA에 구현된 6502 CPU를 Arduino DUE로 에뮬레이션 시킨 장면이다. 6502 CPU의 입출력 주변장치와 메모리 그리고 클럭은 아듀이노 보드에서 제어한다. 클럭의 속도는 약 20Khz에 불과한데 이는 아두이노의 마이크로 컨트롤러를 에뮬레이션 호스트로 사용하기 때문이다. 에뮬레이터 실행은 RTL 시뮬레이터보다 빠르지만 Verilator에 이르지 못한다. 에뮬레이션이 비록 느리긴 하지만 하드웨어로 구현된 설계의 검증 수단으로써 의미가 있다.


디자인 킷과 예제는 모두 깃허브를 통해 공개되어 있다[6].

참고

[1] eFabless,  https://efabless.com/
[2] The Open Road Project, https://theopenroadproject.org/
[3] OpenROAD: Toward a Self-Driving, Open-Source Digital Layout Implementation Tool Chain, https://vlsicad.ucsd.edu/Publications/Conferences/371/c371.pdf
[4] ETRI 0.5um CMOS MPW Std-Cell DK, https://github.com/GoodKook/ETRI-0.5um-CMOS-MPW-Std-Cell-DK
[5] ETRI 0.5um CMOS MPW DK Example: FIR8, https://github.com/GoodKook/ETRI-0.5u-CMOS-MPW-DK-Example--FIR8
[6] ETRI 0.5um CMOS MPW DK Example: CPU_6502, https://github.com/GoodKook/ETRI-0.5um-CMOS-MPW-DK-Example--6502-CPU


 






댓글 없음:

댓글 쓰기