정보공간_1

[3기 전주 전환규] Place & Route Part.1 본문

IT 놀이터/Elite Member Tech & Talk

[3기 전주 전환규] Place & Route Part.1

알 수 없는 사용자 2013. 4. 2. 12:56

안녕하세요 전주멤버십 22-1기 전환규 회원입니다.

오늘은 살펴볼 과정은 ASIC의 Place & Route 단계입니다.

실제 칩 모양이 어떤 식으로 만들어 지는지 Astro를 이용하여  Create Memory Library 과정을

살펴 보도록 하겠습니다.


1. Unit Flow


[그림 1] Unit Flow

 각 단계는 위의 과정대로 진행됩니다.


2. Prepare

 1Verilog File

:Synthesis 이후 PAD 좌표를 붙인 Verilog File, Memory 사용시에는 CubicWare를 통해 재 생성된 파일을 Astro에 사용한다.

ex) CBJHK_PAD.v or CBJHK_layout.v(CubicWare)

 2. Standard Cell Library

: Astro.tar 파일의 압축을 풀면 Library 폴더가 생성된다.

ex) s150e_60poi_io_6lm_071011 / s150e_60poi_power_6lm_070420 / s150e_prim_050504

 3. Memory lef File (Macro Cell)

: Memory 사용을 신청하여 받은 IP, FEBE로 나뉜다. Astro에서는 BE – lef 폴더에 있는 자신의 Memory lef 파일을 사용하여 Astro에서 Library를 생성한다.

ex) spsram_hd_256x32m4.lef

 4. PAD File

: Library – TECH 폴더 안에 포함되어 있다.

ex) padplace_090803_L13_68um.tdf

 5. Sdc File

: Design Compiler(Synthesis Tool)를 통해 Synthesis를 할 때 wite_sdc CBJHK_sdc.sdc 로 생성 된 파일이다.

ex) CBJHK_sdc.sdc

 6. Tech 파일

: Library – TECH 폴더 안에 포함 되어 있다.

ex) s150e_prim_6m.techgen.tf

 7.  TLU + & MAP File

: std150E_TLU+6M.tar 파일의 압축을 풀면 생성된다. 폴더명이 + 또는 __(Double under bar) 일 경우 폴더명을 바꿔 주는게 좋다.

ex) L13_CELL_BST_6LM_DUMMY / L13_CELL_TYP_6LM_DUMMY / L13_CELL_WST_6LM_DUMMY /

L13_CELL_6LM.map


 위의 단계가 모두 준비되면. Astro cshrc File을 준비하여, 다음과 같이 실행한다.

# source astro.cshrc

# Astro -cmdd /logs/JHK -logd/logs/JHK &

a. -cmdd : Astro 수행 시 입력된 모든 Command를 logs 폴더 안에 JHK.cmd로 Write 한다.

b. -logd : Astro  수행 시 입력된 모든 Command와 결과를 logs 폴더 안에 JHK.log로 Write 한다.


[그림 2 Astro]


3. Create Memory Library

- Tools - Data Prep[Click]

[그림 3 Data Prep]


- Create Memory Library

1) Astro Library - TECH 폴더의 s150e_prim_6m.techgen.tf 파일을 읽어 Library를 생성한다. Library 이름은 사용하는 Memory 이름과 동일하게 작성하는게 좋다.

ex) Library Name : spsram_hd_256x32m4


[그림 4 Create Library]

- Library - Create ... [Click]

a. Library Name :  spsram_hd_256x32m4

b. Technology File Name : /tools/sw/SSDB/ASTRO_PHA_lib/TECH/s150e_prim_6m.techgen_tf

c. OK [Click]


2) 공정회사에서 받은 BE - lef 폴더 안의 자신의 Memory lef 파일을 Library 안에 읽는다.

ex) lef Name : spsram_hd_256x32m4.lef


[그림 5 READ Lef]

- Cell Library - Lef In ... [Click]

a. Library Name : spsram_hd_256x32m4

b. Cell LEF Files : /tools/sw/SSDB/BE/lef/spsram_hd_256x32m4.lef

c. OK [Click]


3) Extract Blockage - Library Name 을 적고 TECH 폴더 안의 tf 파일을 참조하여 각 Metal 의 Num 을 적어 넣는다.

ex) Metal1 : 26, Metal2 : 28, Metal3 : 30, Metal4 : 32, Metal5 : 34, Metal6 : 36


[그림 6 Extract Blockage]

- Cell Library - Blockage, Pin & Via ... [Click]

a. Library Name : spsram_hd_256x32m4

b. Extract Connectivity [Check]

c. 

Metal1 Text : 26

Metal1 Text : 28

Metal1 Text : 30

Metal1 Text : 32

Metal1 Text : 34

Metal1 Text : 36

d. OK [Click]


4) gePrepLibs : Logical Library를 읽는 과정이다. Astro Library - s150e_prim_050504/LM 폴더 안의 db Library를 읽어 온다.

ex) s150e_bst_135_n040_astro.db


[그림 7 Library Preparation]

- Scheme Window - gePrepLibs [Enter]

a. Library Name : spsram_hd_256x32m4

b. Import Logic Model DB [Click]

c. 

Min DB File : s150e_bst_135_n040_astro.db

Max DB File : s150e_wst_105_p125_astro.db

Typical DB File : s150e_typ_120_p025_astro.db

d. OK [Click]


 지금까지 Place & Route 과정 중에 Create Memory Library 과정을 살펴 보았습니다. 위 단계를 마치면 사용자가 사용할 메모리의 라이브러리가 준비 단계에 놓이게 됩니다. 주의하실 점은 각 공정사 마다 라이브러비 파일 위치 및 파일 확장자가 조금씩 다릅니다. 공정사에서 제공하는 메뉴얼을 자세하게 읽어 보시길 권장합니다. 

 다음 시간에는 Design & Timing Setup 부터 살펴 보도록 하겠습니다.