주의!!! 내용이 실제 업무에 맞지 않을 수 있으므로 아래 내용을 토대로 실무에 적용을 하면 안됩니다. 아무런 책임이 없는 글입니다. 챗GPT는 실수를 허용합니다. ^^;;;
UPF 파일을 작성하는 과정은 전적으로 수동으로 수행될 수 있습니다. 일반적으로 설계 엔지니어가 저전력 설계 요구사항을 기반으로 UPF 파일을 작성합니다. UPF 파일은 텍스트 파일 형식으로, 전원 도메인, 전원 스위치, 레벨 시프터, 전원 상태 등을 정의합니다.
UPF 파일 작성 단계
- 전원 도메인 정의: 설계의 각 부분이 어떤 전원 도메인에 속하는지 정의합니다.
- 전원 스위치 정의: 전원 스위치를 정의하여 전원 도메인 간의 전원 공급을 제어합니다.
- 레벨 시프터 정의: 서로 다른 전원 도메인 간의 신호 전송을 위해 레벨 시프터를 정의합니다.
- 전원 상태 정의: 다양한 전원 상태(전원 켜짐, 꺼짐 등)를 정의합니다.
- 전원 포트 정의: 전원 공급을 위한 포트를 정의합니다.
예제: UPF 파일 작성
아래는 간단한 UPF 파일 예제입니다.
1. 전원 도메인 정의
# Define power domains
create_power_domain PD1 -elements {U1}
create_power_domain PD2 -elements {U2}
2. 전원 스위치 정의
# Define power switches
create_power_switch PS1 -domain PD1 -input_supply {VDD} -output_supply {VDD_PD1} -control {VDD_CTL}
3. 레벨 시프터 정의
# Define level shifter
create_level_shifter LS1 -from PD1 -to PD2 -location {U1_to_U2_ls}
4. 전원 상태 정의
# Define power states
create_power_state STATE_ON -domain PD1 -default
create_power_state STATE_OFF -domain PD1 -off
5. 전원 포트 정의
# Define supply ports
create_supply_port VDD
create_supply_port VDD_PD1
create_supply_port VDD_CTL
create_supply_port VDD_PD2
UPF 파일 작성 시 고려 사항
- 설계 사양 분석: 설계의 저전력 요구사항을 분석하고 각 모듈이 어떤 전원 도메인에 속해야 하는지 결정합니다.
- 전원 관리 전략 결정: 전원 스위치, 레벨 시프터 등의 전원 관리 요소를 설계에 어떻게 배치할지 결정합니다.
- 문서화: UPF 파일에 포함된 각 요소와 그 역할을 문서화하여 이해하기 쉽게 만듭니다.
도구의 도움
Synopsys SpyGlass는 UPF 파일을 직접 생성하는 도구는 아니지만, SpyGlass Power는 설계의 전력 소모를 분석하고 전력 관리 전략을 검증하는 데 도움이 될 수 있습니다. UPF 파일을 수동으로 작성하는 대신, SpyGlass Power를 사용하여 초기 전력 분석을 수행하고 그 결과를 바탕으로 UPF 파일을 작성하는 접근법을 제안할 수 있습니다.
다음은 SpyGlass Power를 사용하여 초기 UPF 파일을 만드는 과정을 단계별로 설명합니다.
단계 1: SpyGlass Power 설치 및 설정
SpyGlass Power를 사용하기 전에 설치하고 환경을 설정해야 합니다. 이를 위해 필요한 경로와 라이브러리를 설정합니다.
단계 2: 기본 넷리스트 파일 준비
간단한 AND 게이트 회로의 기본 넷리스트 파일을 준비합니다.
기본 넷리스트 (basic_netlist.v
)
module simple_and (
input a,
input b,
output c
);
assign c = a & b;
endmodule
단계 3: SpyGlass Power 설정 파일 작성
SpyGlass Power 설정 파일을 작성하여 넷리스트 파일을 읽고 초기 전력 분석을 수행합니다.
SpyGlass Power 설정 파일 (spyglass_power.tcl
)
# SpyGlass 환경 설정
setenv SEARCH_PATH /path/to/library/files
setenv TARGET_LIBRARY library.db
setenv LINK_LIBRARY library.db
# 디자인 파일 읽기
read_netlist -verilog basic_netlist.v
# 디자인 엘라보레이션
elaborate
# 전력 분석 실행
run_power_analysis
# 전력 분석 보고서 생성
report_power -format html -out power_report.html
단계 4: SpyGlass Power 실행
SpyGlass Power를 실행하여 설정 파일을 바탕으로 전력 분석을 수행합니다.
spyglass -batch -f spyglass_power.tcl
단계 5: 전력 분석 결과 바탕으로 UPF 파일 작성
전력 분석 보고서(power_report.html
)를 검토하여 전력 소모와 전원 도메인 정보를 얻습니다. 이 정보를 바탕으로 초기 UPF 파일을 작성합니다.
초기 UPF 파일 (initial_power.upf
)
# 전원 도메인 정의
create_power_domain PD1 -elements {U1}
# 전원 스위치 정의
create_power_switch PS1 -domain PD1 -input_supply {VDD} -output_supply {VDD_PD1} -control {VDD_CTL}
# 레벨 시프터 정의
create_level_shifter LS1 -from PD1 -to PD2 -location {U1_to_U2_ls}
# 전원 포트 정의
create_supply_port VDD
create_supply_port VDD_PD1
create_supply_port VDD_CTL
create_supply_port VDD_PD2
# 전원 넷 연결
connect_supply_net VDD -ports {VDD}
connect_supply_net VDD_PD1 -ports {VDD_PD1}
connect_supply_net VDD_CTL -ports {VDD_CTL}
connect_supply_net VDD_PD2 -ports {VDD_PD2}
단계 6: UPF 파일 적용 및 검증
초기 UPF 파일을 작성한 후, 이를 SpyGlass Power를 사용하여 넷리스트에 적용하고 검증합니다.
SpyGlass Power 설정 및 검증 파일 (spyglass_upf_verification.tcl
)
# SpyGlass 환경 설정
setenv SEARCH_PATH /path/to/library/files
setenv TARGET_LIBRARY library.db
setenv LINK_LIBRARY library.db
# 디자인 파일 및 UPF 파일 읽기
read_netlist -verilog basic_netlist.v
read_upf initial_power.upf
# 디자인 엘라보레이션
elaborate
# 전력 의도 검증 실행
run_power_intent_checks
# 전력 의도 검증 보고서 생성
report_power_intent_checks -html -out upf_verification_report.html
단계 7: SpyGlass Power 실행 및 검증
SpyGlass Power를 실행하여 UPF 파일을 검증합니다.
spyglass -batch -f spyglass_upf_verification.tcl
요약
- 수동 작성: UPF 파일은 수동으로 작성할 수 있으며, 이는 전원 도메인, 전원 스위치, 레벨 시프터 등의 전원 관리 정보를 포함합니다.
- 도구 지원: EDA 도구를 사용하면 UPF 파일 작성 및 검증을 보다 효율적으로 수행할 수 있습니다. 이러한 도구는 전원 관리 전략을 분석하고 최적화하는 데 도움이 됩니다.
- 넷리스트 파일 준비: 설계의 기본 넷리스트 파일을 준비합니다.
- SpyGlass Power 설정: 전력 분석을 수행하기 위한 SpyGlass Power 설정 파일을 작성합니다.
- 전력 분석 수행: SpyGlass Power를 실행하여 전력 분석을 수행하고, 결과를 바탕으로 초기 UPF 파일을 작성합니다.
- UPF 파일 작성: 전력 분석 결과를 바탕으로 초기 UPF 파일을 작성합니다.
- UPF 파일 검증: SpyGlass Power를 사용하여 UPF 파일을 넷리스트에 적용하고 검증합니다.
이 과정을 통해 설계의 전력 소모를 분석하고, 이를 바탕으로 초기 UPF 파일을 작성할 수 있습니다. SpyGlass Power는 전력 분석 및 검증을 통해 저전력 설계를 지원하는 강력한 도구입니다.
UPF 파일을 수동으로 작성하는 과정은 전원 관리 전략을 명확히 이해하고 이를 정확히 반영하는 데 중요합니다. 동시에, EDA 도구를 활용하면 PF 파일 작성과 검증 과정을 더 효율적으로 수행할 수 있습니다.
'IT > ASIC | FPGA' 카테고리의 다른 글
UVM DPI (Direct Programming Interface) 기능 기초 예제 (0) | 2024.05.23 |
---|---|
SystemVerilog에서 패키지를 사용하는 장점 (0) | 2024.05.22 |
Netlist vs UPF 포함 Netlist - UPF 파일 소개 및 적용 방법 (0) | 2024.05.16 |
SDC 작성 하는 방법 - 글 정리중 (1) | 2024.05.14 |
LDRC 체크 - sdc 중심으로 (0) | 2024.05.14 |