laygo2의 쉬운 예제들#
이 문서는 laygo2의 활용을 돕는 몇 가지의 간단한 예제들을 포함하고 있다.
Colab tutorial#
laygo2를 설치 없이 시도해보는 가장 쉬운 방법은 Colab을 사용하는 것이다; Colab 예제 튜토리얼을 이 링크에서 찾을 수 있다.
설치 및 환경 설정#
laygo2를 설치하는 방법은 크게 1) github repository에서 clone하는 방법과 2) pip를 이용하여 설치하는 방법이 있다. 현재 빈번한 업데이트가 이루어지고 있기 때문에 방법 1)을 사용하는 것을 권장한다.
Github에서 설치.#
아래 명령을 통해 laygo2를 clone 및 설치 가능하다.
>>>> git clone https://github.com/niftylab/laygo2.git
코드를 최신 상태로 유지하기 위하여, 주기적으로 다음 명령어를 이용하여 github에서 최신 코드를 다운로드 하기를 권장한다.
>>>> git pull origin master
또한, 다음과 같이 PYTHONPATH를 수정하여 laygo2패키지를 참조할 수 있도록 한다.
# (csh/tcsh example) add the following command to your .cshrc
setenv PYTHONPATH ${PYTHONPATH}:[LAYGO2_INSTALLATION_PATH]/laygo2
이는 python script/console에서 sys.path.append(‘[LAYGO_INSTALLATION_PATH]/laygo2’)를 수행한 것과 동일하며, IPython의 경우 .ipython/profile_default/ipython_config.py에서 path를 설정할 수도 있다 참고1, 참고2.
Pypi에서 설치.#
다음 pip명령을 laygo2를 설치할 수도 있다.
>>>> pip install laygo2
공정 셋업#
새로운 공정을 위해 laygo2를 셋업하기 위해서는, 다음 3개의 파일들이 laygo2_tech폴더 안에 준비되어야 한다.
laygo2_tech_templayes.py # for templates
laygo2_tech_grids.py # for grids
laygo2_tech.yaml # for technology parameters
또한, 템플릿을 구성하는 방식에 따라, microtemplate library를 제작할 필요가 있을 수 있다. 아래 quick_start.py 예제를 위한 가장 기초적인 공정 셋업은 여기에서 찾을 수 있다. 좀 더 완성된 형태의 셋업이 gpdk045 공정을 위해 준비되어 있으며 여기에서 찾을 수 있다.
간단한 게이트 생성 예제#
다음 커맨드를 실행함으로서 간단한 NAND gate의 레이아웃을 생성할 수 있다.
# after git clone
>>>> cd laygo2
>>>> python -m quick_start.py
# or you can run ipython and type run 'quick_start.py' instead.
위 스크립트를 실행하여 생성된 NAND gate의 레이아웃은 다음과 같다.
Trial in SKY130 technology#
SKY130 공정에서 laygo2를 셋업하는 기본 예제를 이 링크에서 찾을 수 있다.
생성된 D flip-flop의 레이아웃이 아래 나타나 있다:
SKY130 공정에서의 Colab 예제는 이 링크에서 찾을 수 있다.