Community분류: GLISTERanalogLib 라이브러리의 글로벌 심볼들을 다른 신호 이름으로 넷리스트하는 법

GLISTER

analogLib 라이브러리의 글로벌 심볼들을 다른 신호 이름으로 넷리스트하는 법

SA Support Team 스탭 2025-08-01

아시다시피, GLISTER는 'analogLib' 라이브러리 셀들로 구성된 스키매틱으로부터 SystemVerilog netlist를 추출할 수 있습니다 (자세한 내용은 이 Q&A 포스팅을 참조하세요). 한 예로, 아래 그림과 같이 'analogLib' 라이브러리의 셀들인 'vcc', 'res', 'cap''gnd' 셀들로 구성된 스키매틱을 각 셀에 대응하는 등가의 XMODEL primitive로 구성된 SystemVerilog 모델로 넷리스트할 수 있습니다.

이 예제에서 'vcc'라는 이름의 글로벌 심볼이 '`global_vcc'라는 이름의 신호로 넷리스트되었음을 주목해주세요. 이것은 사실 '$root.XMODEL_global.vcc'라는 신호 이름으로 정의된 매크로 입니다. XMODEL에서는 이렇게 글로벌 신호를 'XMODEL_global'라는 이름의 최상위 모듈내에서 정의된 신호로 표현합니다. 한편, 또다른 글로벌 심볼인 'gnd''`ground'로 넷리스트되는데, 이 또한 '$root.XMODEL_global.ground'라는 신호로 정의된 매크로입니다.

저의 경우에는 좀 다른 글로벌 신호의 리스트를 갖고 있어서 'my_global'라는 최상위 모듈을 따로 만들고, 그 안에 저만의 글로벌 신호들을 정의하였습니다. 이때, 스키매틱에 사용된 'vcc' 글로벌 심볼을 '`global_vcc' 대신 '$root.my_global.vcc'라는 이름의 신호로 넷리스트하고 싶습니다. GLISTER에 이렇게 각 글로벌 심볼에 해당하는 신호 이름을 재정의하는 기능이 있나요?

1 Answers
SA Support Team 스탭 2025-08-01

예, 있습니다. 답부터 먼저 드리면, 아래의 SKILL 코드를 Cadence Virtuoso의 커맨드 인터프리터 창(CIW 창)에서 실행시킨후 netlisting을 수행하시거나, 또는 매번 실행하는 수고를 덜기 위해 그 코드를 .cdsinit 초기화 파일에 포함하시면 됩니다.

xmodelRegisterGlobalNetMap( "vcc!" "$root.my_global.vcc" )

참고로 2025.07 이후의 XMODEL 릴리즈는 analogLib의 글로벌 심볼과 GLISTER로 넷리스트되는 신호 이름간의 매핑을 추가(변경), 삭제, 또는 리스트할 수 있는 아래의 SKILL API 함수들을 지원합니다.

  • xmodelRegisterGlobalNetMap( globalNetName mappedVarName ) : 글로벌 신호 이름(globalNetName)과 넷리스트되는 신호 이름(mappedVarName) 간의 새로운 매핑을 정의함.
  • xmodelUnregisterGlobalNetMap( globalNetName ) : 글로벌 신호 이름(globalNetName)에 대한 기존의 매핑을 삭제.
  • xmodelListGlobalNetMap() : 현재 등록된 글로벌 신호이름의 매핑들을 리스트업해서 표시.