728x90

Semiconductor, Embedded/0. Synthesis, PnR 5

Synthesis - Clock Gating (이론 및 Syn 후 Simulation 확인)

* 기본적인 Synthesis 과정을 알고 있다는 가정하에 글을 작성하였습니다.Clock Gating이란?Synthesis 과정에서 매우 중요한 최적화 작업 중 하나다. 특히 저전력 설계(Low Power Design)에서 필수적인 기법이다.특정 조건이 충족될 때만 클럭 신호가 해당 FF으로 전달되도록 하는 것을 의미한다.(* Enable 신호에 따라 Clock이 동작한다고 간단하게 생각하면 된다.)Clock Gating은 모바일 기기나 저전력 디자인에서 전력 관리와 배터리 수명을 개선하는 데 중요한 역할을 한다.위 그림의 (1) 첫번째와 같이 일반적으로 Clock이 계속해서 FF에 전달될 경우 0->1->0과 같이 상태 전환이 계속해서 일어나기 때문에 전력이 계속해서 소모되게 된다.(2) 두번째를 보게..

Innovus - Script 파일을 이용한 P&R (SETUP ~ GDSII)

https://insoobaik.tistory.com/622 Innovus - P&R (SETUP ~ GDSII)보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.com이전에 P&R 작업을 GUI를 통해 작업한 바가 있다.매번 위 과정을 계속해서 반복해야 한다면 시간이 오래 걸릴 수도 있고, 중간에 실수가 발생할 수 있기 때문에 Script 파일을 생성하여 동작 시키는 것이 시간과 안정성에 있어서 좋다.innovus를 실행하게 되면 기본 생성 파일로 1. 로그 파일 2. 명령 파일이 생성되는 것을 알고 있다.innovus.cmd 파일을 확인해보면 GUI를 통해 진행한 P&R에 대한 명령어가 기록되어 있는 것을 확인할 수 있다.innovus.cmd 파일을 열어보..

Innovus - P&R (SETUP ~ GDSII)

P&R의 SETUP ~ GDSII 파일 생성P&R은 위 Layout 절차를 따른다. Netlist : Design Netlist - Verilog fileSDC : Constraint fileLEF : Physical LibrariesLIB : Timing Libraries- P&R 이후GDS : Physical LayoutNetlist : P&R 후 NetlistSDF : Standart Delay Format P&R을 위한 파일 설계자, 공정사1. 설계자 제공 파일- Netlist 파일 : 합성 결과물- sdc 파일 : 디자인 제약 조건2. 공정사 제공 파일- 디지털 라이브러리, lef 파일 Innovus를 실행하게 되면 기본적으로 2개의 파일이 생성된다.1. 로그 파일- innovus.log : 기..

Synopsys - Synthesis 합성

Synopsys를 통해 Synthesis 합성을 하기 위해서는 1. verilog-HDL .v 파일 2. 게이트 정보가 담긴 .db 파일 3. .sdc 파일 혹은 제약 정보가 필요하다. remove_design -all //초기화 set FILE "counter" //모듈명 선언 set synthetic_library "../LIB/DBH_1225RS13SD_GEMV1P8V_FF_1P32V_M40C.db" //라이브러리 위치 지정 및 파일 지정 //db 파일을 넣어줘야 한다. set search_path "../LIB/" set target_library "../LIB/DBH_1225RS13SD_GEMV1P8V_FF_1P32V_M40C.db" //타겟 라이브러리 지정 및 파일 지정 //db 파일을 넣어줘..

Cadence - Synthesis / Pre_layout Simulation

SynthesisSynthesis(합성)는 고수준의 HDL 코드를 하드웨어 리소스로 변환하여 구현 가능한 하드웨어로 만드는 작업이다. 합성을 하기 위해서는 게이트에 대한 정보(delay 등)를 담고 있는 [.lib 파일], 코드로 작성한 디지털 회로 설계 파일 [.v 파일], CLK 정보를 담고 있는 [.sdc] 파일이 필요하다. run_counter.tclset_db init_lib_search_path ../../LIB/ // 라이브러리 파일 위치set_db init_hdl_search_path ./rtl/ // hdl 파일 경로read_libs slow_vdd1v0_basicCells.lib // lib 파일명read_hdl counter.v // hdl 파일명elaborateread_s..

728x90