SlideShare a Scribd company logo
1 of 16
Download to read offline
Tao-Yi Lee
Advisor: Dr. Yu-Jiu Wang
Institute of Electronics, RFVLSI Lab
National Chiao -Tung University
pCell to HFSS Macro
Translator Tutorial
Operating Java GUI for Translator
• Download latest Jave runtime environment (JRE)
• For debugging, open a Java console
– Use the console in integrated design env. (e.g.
Netbeans, Eclipse)
– Use Windows “cmd” and type (PATH variable may need
to be set before use)
4/18/2014 Cadence pCell to HFSS Macro Translation 2
X:> java –jar skill_to_hfss.jar
Setting an Environment Variable
• Right click on My Computer, click “properties”
4/18/2014 Cadence pCell to HFSS Macro Translation 3
Console View
• Use the information in it for debugging (e.g. when
program crashes)
4/18/2014 Cadence pCell to HFSS Macro Translation 4
Operate Modes
• Translate *.vbs and load manually after some
modifications
• Fully automated HFSS 3D modeling from SKILL
source only
4/18/2014 Cadence pCell to HFSS Macro Translation 5
Translate *.vbs and Load Manually After
Some Modifications
• Get all the input files ready and hit “generate macro” to
translate *.il file
• Text edit the output vbs
– Prepend custom variables
– Prepend IMD/substrate variables (thickness, Z-position,
permittivity, etc.)
– Prepend metallization variables (thickness, Z-position, bulk
conductivity, etc.)
– Append Boolean operations (unite, subtract)
– Append lumped port definitions
• Setup an *.hfss project, containing frequency analysis, and
parameterized boundary conditions
4/18/2014 Cadence pCell to HFSS Macro Translation 6
Translate *.vbs and Load Manually After
Some Modifications
• Use regular expression processor in MATLAB to substitute
parameters in vbs
• Modeling phase:
– Use vbs template from ANTLR to generate actual vbs’ for specific
parameters
– Use MATLAB HFSS API to load vbs’
• Simulating phase:
– Equally (or Weighted) distribute HFSS projects (*.hfss) into
different folders, depending on how many computers you have
– Call HFSS command to start remote simulations in parallel
4/18/2014 Cadence pCell to HFSS Macro Translation 7
hfss.exe -ng -Batchsolve -Remote -machinelist
list="em0.rfvlsi.ee.nctu.edu.tw" <design_name> <filename>
Translate *.vbs and Load Manually After
Some Modifications
4/18/2014 Cadence pCell to HFSS Macro Translation 8
ProjectVariables
Metallization Parameters
Dielectric Parameters
Boolean Operations
“AutoIdentifyPorts” Operations
GUI Translator
(ANTLR)
SKILL Source
Code
Vbs raw macro
for HFSS
Parameterized
vbs template for
HFSS
vbs macro
for HFSS
vbs macro
for HFSS
vbs macro
for HFSS
vbs macro
for HFSS
vbs macro
for HFSS
vbs macro
for HFSS
vbs macro
for HFSS
vbs macro
for HFSSText Substitution
HFSS API call
HFSS Setup Project
Frequency Sweep
Analysis Setup
Parameterized
Boundary Condition
Detailed *.vbs Modifications Procedure
• A typical *.vbs script needs to have the following
operations sequentially
– Header and Project Initialization
– Custom variables
– Metal/IMD definitions
– Vias/box creation functions
– SKILL translated functions
– Top-level function call
– Boolean operations
– Lumped port auto-identification
4/18/2014 Cadence pCell to HFSS Macro Translation 9
Step 1: Header and Project Initialization
4/18/2014 Cadence pCell to HFSS Macro Translation 10
Dim oAnsoftApp
Dim oDesktop
Dim oProject
Dim oDesign
Dim oEditor
Dim oModule
Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface")
Set oDesktop = oAnsoftApp.GetAppDesktop()
oDesktop.RestoreWindow
oDesktop.OpenProject
"F:DropboxANTLRHFSS_APIexamplesT65_SYM_CT_ANTLRnominal.hfss"
Set oProject = oDesktop.GetActiveProject
oProject.SaveAs "G:HFSS_SIMULATIONST65_SYM_CTHFSS_FILENAME.hfss",
true
Set oDesign = oProject.SetActiveDesign("BEOL_6X1Z1U")
Set oEditor = oDesign.SetActiveEditor("3D Modeler")
Set oProject = oDesktop.GetActiveProject
Step 2: Custom Variables
4/18/2014 Cadence pCell to HFSS Macro Translation 11
oProject.ChangeProperty Array("NAME:AllTabs",
Array("NAME:ProjectVariableTab", Array("NAME:PropServers", _
"ProjectVariables"), Array("NAME:ChangedProps",
Array("NAME:$M9_W", "Value:=", "W_VALum")))) ‘ capitalized
letters are for text substitution in MATLAB
oProject.ChangeProperty Array("NAME:AllTabs",
Array("NAME:ProjectVariableTab", Array("NAME:PropServers", _
"ProjectVariables"), Array("NAME:ChangedProps",
Array("NAME:$M9_S", "Value:=", "S_VALum")))) ‘ capitalized
letters are for text substitution in MATLAB
oProject.ChangeProperty Array("NAME:AllTabs",
Array("NAME:ProjectVariableTab", Array("NAME:PropServers", _
"ProjectVariables"), Array("NAME:ChangedProps",
Array("NAME:$OD", "Value:=", "OD_VALum")))) ‘ capitalized
letters are for text substitution in MATLAB
Step 3: Metal/IMD Definitions
4/18/2014 Cadence pCell to HFSS Macro Translation 12
Set oEditor = oDesign.SetActiveEditor("3D Modeler")
Function MetalHeight(iLayer)
Select Case iLayer
Case -2 'PO
MetalHeight=-2.0
Case -1 'OD
MetalHeight=-1.0 ‘ use hard-wired definitions
Case 0 'M1
MetalHeight="$M1_Z“ ‘ use variable definitions
Case 1 'M2
MetalHeight="$M2_Z“ ‘ use variable definitions
…
Case 8 'M9
MetalHeight="$M9_Z“ ‘ use variable definitions
Case Else 'AP
MetalHeight="$M10_Z“ ‘ use variable definitions
End Select
End Function
Step 4: SKILL translated functions
• Substitute sqrt() into Sqr()
• Substitute evenp() into a Mod 2 <> 0
• Substitute oddp() into a Mod 2 = 0
• Minor modifications may be needed when scripting
error pops up in HFSS, find your own solutions and
take notes
4/18/2014 Cadence pCell to HFSS Macro Translation 13
Step 5: Boolean Operations
4/18/2014 Cadence pCell to HFSS Macro Translation 14
A = oEditor.GetMatchedObjectName("Metal9*") ‘ unite all Metal9*
oEditor.Unite Array("NAME:Selections", "Selections:=", Join(A,",")),
Array("NAME:UniteParameters", "KeepOriginals:=", _
false)
A = oEditor.GetMatchedObjectName("Metal8*") ‘ unite all Metal8*
oEditor.Unite Array("NAME:Selections", "Selections:=", Join(A,",")),
Array("NAME:UniteParameters", "KeepOriginals:=", _
false)
A = oEditor.GetMatchedObjectName("Via8*") ‘ unite all Via8*
oEditor.Unite Array("NAME:Selections", "Selections:=", Join(A,",")),
Array("NAME:UniteParameters", "KeepOriginals:=", _
false)
Step 6: Boolean Operations
4/18/2014 Cadence pCell to HFSS Macro Translation 15
A = oEditor.GetMatchedObjectName("Metal9*")
oEditor.Subtract Array("NAME:Selections", "Blank Parts:=", "IMD_9aEQ", "Tool
Parts:=", Join(A,",")), Array("NAME:SubtractParameters", "KeepOriginals:=",
true) ‘subtract IMD_9aEQ from Metal 9
oEditor.Subtract Array("NAME:Selections", "Blank Parts:=", "IMD_9bEQ", "Tool
Parts:=", Join(A,",")), Array("NAME:SubtractParameters", "KeepOriginals:=",
true) ‘subtract IMD_9bEQ from Metal 9
oEditor.Subtract Array("NAME:Selections", "Blank Parts:=", "IMD_9cEQ", "Tool
Parts:=", Join(A,",")), Array("NAME:SubtractParameters", "KeepOriginals:=",
true) ‘subtract IMD_9cEQ from Metal 9
Step 7: Lumped Port Auto-identification
4/18/2014 Cadence pCell to HFSS Macro Translation 16
Set oModule = oDesign.GetModule("BoundarySetup")
oModule.AutoIdentifyPorts Array("NAME:Faces", 26981,
26993, 27005), false, Array("NAME:ReferenceConductors",
"M1"), "1", true ‘Indentify conductors on face 26981,
26993 and 27005. Reference conductor (GND) set to
metal 1. Get the numbers from your “HFSS nominal setup
project.” Open a face property window from ”Modeler”
tab.
oProject.Save ‘save project to HDD

More Related Content

What's hot

Fabrication units in India and outside
Fabrication units in India and outsideFabrication units in India and outside
Fabrication units in India and outsideSubash John
 
Writing Cadence Ocean scripts
Writing Cadence Ocean scriptsWriting Cadence Ocean scripts
Writing Cadence Ocean scriptsMichael Lee
 
Electronic structure of strongly correlated materials
Electronic structure of strongly correlated materialsElectronic structure of strongly correlated materials
Electronic structure of strongly correlated materialsABDERRAHMANE REGGAD
 
Essential principles of jitter part 2 the components of jitter
Essential principles of jitter part 2 the components of jitterEssential principles of jitter part 2 the components of jitter
Essential principles of jitter part 2 the components of jitterteledynelecroy
 
Analog Layout design
Analog Layout design Analog Layout design
Analog Layout design slpinjare
 
Free ebooks download
Free ebooks downloadFree ebooks download
Free ebooks downloadEdhole.com
 
VASP: Some Accumulated Wisdom
VASP: Some Accumulated WisdomVASP: Some Accumulated Wisdom
VASP: Some Accumulated WisdomJonathan Skelton
 
Ultra Thin Body SOI FETs
Ultra Thin Body SOI FETsUltra Thin Body SOI FETs
Ultra Thin Body SOI FETssindhu reddy
 
majority and minority carriers
majority and minority carriersmajority and minority carriers
majority and minority carriersAngelyn Lingatong
 
Hybridization التهجين
 Hybridization التهجين Hybridization التهجين
Hybridization التهجينGanim Hasanayn
 
Nanometer layout handbook at high speed design
Nanometer layout handbook at high speed designNanometer layout handbook at high speed design
Nanometer layout handbook at high speed designMinho Park
 
SCR based On-chip ESD protection for LNA
SCR based On-chip ESD protection for LNASCR based On-chip ESD protection for LNA
SCR based On-chip ESD protection for LNASofics
 

What's hot (20)

Fabrication units in India and outside
Fabrication units in India and outsideFabrication units in India and outside
Fabrication units in India and outside
 
Foundation of MOS Capacitor
Foundation of MOS CapacitorFoundation of MOS Capacitor
Foundation of MOS Capacitor
 
Writing Cadence Ocean scripts
Writing Cadence Ocean scriptsWriting Cadence Ocean scripts
Writing Cadence Ocean scripts
 
Electronic structure of strongly correlated materials
Electronic structure of strongly correlated materialsElectronic structure of strongly correlated materials
Electronic structure of strongly correlated materials
 
Essential principles of jitter part 2 the components of jitter
Essential principles of jitter part 2 the components of jitterEssential principles of jitter part 2 the components of jitter
Essential principles of jitter part 2 the components of jitter
 
Basics of DFT+U
Basics of DFT+U Basics of DFT+U
Basics of DFT+U
 
virtuoso
virtuosovirtuoso
virtuoso
 
Analog Layout design
Analog Layout design Analog Layout design
Analog Layout design
 
Asic pd
Asic pdAsic pd
Asic pd
 
Layout design
Layout designLayout design
Layout design
 
7. Placement.pdf
7. Placement.pdf7. Placement.pdf
7. Placement.pdf
 
Free ebooks download
Free ebooks downloadFree ebooks download
Free ebooks download
 
VASP: Some Accumulated Wisdom
VASP: Some Accumulated WisdomVASP: Some Accumulated Wisdom
VASP: Some Accumulated Wisdom
 
Ultra Thin Body SOI FETs
Ultra Thin Body SOI FETsUltra Thin Body SOI FETs
Ultra Thin Body SOI FETs
 
ESD protection
ESD protection ESD protection
ESD protection
 
majority and minority carriers
majority and minority carriersmajority and minority carriers
majority and minority carriers
 
Placement.pdf
Placement.pdfPlacement.pdf
Placement.pdf
 
Hybridization التهجين
 Hybridization التهجين Hybridization التهجين
Hybridization التهجين
 
Nanometer layout handbook at high speed design
Nanometer layout handbook at high speed designNanometer layout handbook at high speed design
Nanometer layout handbook at high speed design
 
SCR based On-chip ESD protection for LNA
SCR based On-chip ESD protection for LNASCR based On-chip ESD protection for LNA
SCR based On-chip ESD protection for LNA
 

Viewers also liked

Optical fibre transmission
Optical fibre transmissionOptical fibre transmission
Optical fibre transmissionAnkit Srivastava
 
Optical Switching Comprehensive Article
Optical Switching Comprehensive ArticleOptical Switching Comprehensive Article
Optical Switching Comprehensive ArticleMapYourTech
 
1x2 Digital Optoelectronic Switch using MZI structure and studying the Effect...
1x2 Digital Optoelectronic Switch using MZI structure and studying the Effect...1x2 Digital Optoelectronic Switch using MZI structure and studying the Effect...
1x2 Digital Optoelectronic Switch using MZI structure and studying the Effect...ijsrd.com
 
presentation on TELECOM INDUSTRY BSNL
presentation on TELECOM INDUSTRY BSNLpresentation on TELECOM INDUSTRY BSNL
presentation on TELECOM INDUSTRY BSNLMohd Samiuddin
 
Article Review on Simultanoeus Optical Stimulation and Electrical Recording f...
Article Review on Simultanoeus Optical Stimulation and Electrical Recording f...Article Review on Simultanoeus Optical Stimulation and Electrical Recording f...
Article Review on Simultanoeus Optical Stimulation and Electrical Recording f...Md Kafiul Islam
 
34. optical switch
34. optical switch34. optical switch
34. optical switchrj14011992
 
Ofdm for optical communications co ofdm
Ofdm for optical communications co ofdmOfdm for optical communications co ofdm
Ofdm for optical communications co ofdmJayakumar M
 
Optical switching
Optical switchingOptical switching
Optical switchingmarut1
 
Optical communication and Equipments
Optical communication and EquipmentsOptical communication and Equipments
Optical communication and EquipmentsRavi Bhasker
 
Optical Networks
Optical NetworksOptical Networks
Optical NetworksEricsson
 
Optical network components lecture 02
Optical network components lecture 02Optical network components lecture 02
Optical network components lecture 02Umesh Pinjarkar
 
Optical modulator (8,12,17,29)
Optical modulator (8,12,17,29)Optical modulator (8,12,17,29)
Optical modulator (8,12,17,29)boneychatterjee
 
Optical Fibre Detector
Optical Fibre DetectorOptical Fibre Detector
Optical Fibre DetectorRajan Kumar
 

Viewers also liked (20)

Optical fibre transmission
Optical fibre transmissionOptical fibre transmission
Optical fibre transmission
 
optical switch
optical switchoptical switch
optical switch
 
Optical Switching Comprehensive Article
Optical Switching Comprehensive ArticleOptical Switching Comprehensive Article
Optical Switching Comprehensive Article
 
1x2 Digital Optoelectronic Switch using MZI structure and studying the Effect...
1x2 Digital Optoelectronic Switch using MZI structure and studying the Effect...1x2 Digital Optoelectronic Switch using MZI structure and studying the Effect...
1x2 Digital Optoelectronic Switch using MZI structure and studying the Effect...
 
Optical components
Optical componentsOptical components
Optical components
 
presentation on TELECOM INDUSTRY BSNL
presentation on TELECOM INDUSTRY BSNLpresentation on TELECOM INDUSTRY BSNL
presentation on TELECOM INDUSTRY BSNL
 
Basic WDM Optical Network
Basic WDM Optical NetworkBasic WDM Optical Network
Basic WDM Optical Network
 
Article Review on Simultanoeus Optical Stimulation and Electrical Recording f...
Article Review on Simultanoeus Optical Stimulation and Electrical Recording f...Article Review on Simultanoeus Optical Stimulation and Electrical Recording f...
Article Review on Simultanoeus Optical Stimulation and Electrical Recording f...
 
Optical fiber
Optical fiberOptical fiber
Optical fiber
 
34. optical switch
34. optical switch34. optical switch
34. optical switch
 
Ofdm for optical communications co ofdm
Ofdm for optical communications co ofdmOfdm for optical communications co ofdm
Ofdm for optical communications co ofdm
 
Optical switching
Optical switchingOptical switching
Optical switching
 
Optical communication and Equipments
Optical communication and EquipmentsOptical communication and Equipments
Optical communication and Equipments
 
Chapter 3b
Chapter 3bChapter 3b
Chapter 3b
 
Optical Networks
Optical NetworksOptical Networks
Optical Networks
 
Optical modulators
Optical modulatorsOptical modulators
Optical modulators
 
Optical network components lecture 02
Optical network components lecture 02Optical network components lecture 02
Optical network components lecture 02
 
Optical modulator (8,12,17,29)
Optical modulator (8,12,17,29)Optical modulator (8,12,17,29)
Optical modulator (8,12,17,29)
 
Optical Fibre Detector
Optical Fibre DetectorOptical Fibre Detector
Optical Fibre Detector
 
Losses in optical fiber
Losses in optical fiberLosses in optical fiber
Losses in optical fiber
 

Similar to pCell to HFSS Macro Translator Tutorial

Building Hopsworks, a cloud-native managed feature store for machine learning
Building Hopsworks, a cloud-native managed feature store for machine learning Building Hopsworks, a cloud-native managed feature store for machine learning
Building Hopsworks, a cloud-native managed feature store for machine learning Jim Dowling
 
Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?OPNFV
 
Episode 3: Kubernetes and Big Data Services
Episode 3: Kubernetes and Big Data ServicesEpisode 3: Kubernetes and Big Data Services
Episode 3: Kubernetes and Big Data ServicesMesosphere Inc.
 
Spring.Net, Feb 2008, PostSharp: A Technical Introduction
Spring.Net, Feb 2008, PostSharp:  A Technical IntroductionSpring.Net, Feb 2008, PostSharp:  A Technical Introduction
Spring.Net, Feb 2008, PostSharp: A Technical Introductiongfraiteur
 
Operator Lifecycle Management
Operator Lifecycle ManagementOperator Lifecycle Management
Operator Lifecycle ManagementDoKC
 
Operator Lifecycle Management
Operator Lifecycle ManagementOperator Lifecycle Management
Operator Lifecycle ManagementDoKC
 
OSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialOSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialTom Croucher
 
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationBKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationLinaro
 
Nodejs a-practical-introduction-oredev
Nodejs a-practical-introduction-oredevNodejs a-practical-introduction-oredev
Nodejs a-practical-introduction-oredevFelix Geisendörfer
 
Fix: static code analysis into our project
Fix: static code analysis into our project Fix: static code analysis into our project
Fix: static code analysis into our project noelchris3
 
Xtend api and_dsl_design_patterns_eclipse_confrance2016
Xtend api and_dsl_design_patterns_eclipse_confrance2016Xtend api and_dsl_design_patterns_eclipse_confrance2016
Xtend api and_dsl_design_patterns_eclipse_confrance2016Max Bureck
 
Jvm Performance Tunning
Jvm Performance TunningJvm Performance Tunning
Jvm Performance Tunningguest1f2740
 
Jvm Performance Tunning
Jvm Performance TunningJvm Performance Tunning
Jvm Performance TunningTerry Cho
 
Network Automation Tools
Network Automation ToolsNetwork Automation Tools
Network Automation ToolsEdwin Beekman
 
Performance of persistent apps on Container-Native Storage for Red Hat OpenSh...
Performance of persistent apps on Container-Native Storage for Red Hat OpenSh...Performance of persistent apps on Container-Native Storage for Red Hat OpenSh...
Performance of persistent apps on Container-Native Storage for Red Hat OpenSh...Principled Technologies
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Odinot Stanislas
 
Track A-Compilation guiding and adjusting - IBM
Track A-Compilation guiding and adjusting - IBMTrack A-Compilation guiding and adjusting - IBM
Track A-Compilation guiding and adjusting - IBMchiportal
 

Similar to pCell to HFSS Macro Translator Tutorial (20)

Building Hopsworks, a cloud-native managed feature store for machine learning
Building Hopsworks, a cloud-native managed feature store for machine learning Building Hopsworks, a cloud-native managed feature store for machine learning
Building Hopsworks, a cloud-native managed feature store for machine learning
 
Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?Summit 16: How to Compose a New OPNFV Solution Stack?
Summit 16: How to Compose a New OPNFV Solution Stack?
 
Episode 3: Kubernetes and Big Data Services
Episode 3: Kubernetes and Big Data ServicesEpisode 3: Kubernetes and Big Data Services
Episode 3: Kubernetes and Big Data Services
 
Spring.Net, Feb 2008, PostSharp: A Technical Introduction
Spring.Net, Feb 2008, PostSharp:  A Technical IntroductionSpring.Net, Feb 2008, PostSharp:  A Technical Introduction
Spring.Net, Feb 2008, PostSharp: A Technical Introduction
 
Operator Lifecycle Management
Operator Lifecycle ManagementOperator Lifecycle Management
Operator Lifecycle Management
 
Operator Lifecycle Management
Operator Lifecycle ManagementOperator Lifecycle Management
Operator Lifecycle Management
 
RISC V in Spacer
RISC V in SpacerRISC V in Spacer
RISC V in Spacer
 
OSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialOSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js Tutorial
 
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP IntegrationBKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
BKK16-409 VOSY Switch Port to ARMv8 Platforms and ODP Integration
 
Nodejs a-practical-introduction-oredev
Nodejs a-practical-introduction-oredevNodejs a-practical-introduction-oredev
Nodejs a-practical-introduction-oredev
 
ADCSS 2022
ADCSS 2022ADCSS 2022
ADCSS 2022
 
Fix: static code analysis into our project
Fix: static code analysis into our project Fix: static code analysis into our project
Fix: static code analysis into our project
 
Xtend api and_dsl_design_patterns_eclipse_confrance2016
Xtend api and_dsl_design_patterns_eclipse_confrance2016Xtend api and_dsl_design_patterns_eclipse_confrance2016
Xtend api and_dsl_design_patterns_eclipse_confrance2016
 
Jvm Performance Tunning
Jvm Performance TunningJvm Performance Tunning
Jvm Performance Tunning
 
Jvm Performance Tunning
Jvm Performance TunningJvm Performance Tunning
Jvm Performance Tunning
 
Network Automation Tools
Network Automation ToolsNetwork Automation Tools
Network Automation Tools
 
Performance of persistent apps on Container-Native Storage for Red Hat OpenSh...
Performance of persistent apps on Container-Native Storage for Red Hat OpenSh...Performance of persistent apps on Container-Native Storage for Red Hat OpenSh...
Performance of persistent apps on Container-Native Storage for Red Hat OpenSh...
 
Ceph
CephCeph
Ceph
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
 
Track A-Compilation guiding and adjusting - IBM
Track A-Compilation guiding and adjusting - IBMTrack A-Compilation guiding and adjusting - IBM
Track A-Compilation guiding and adjusting - IBM
 

Recently uploaded

Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝soniya singh
 
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...henrik385807
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyPooja Nehwal
 
Motivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfMotivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfakankshagupta7348026
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...NETWAYS
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Delhi Call girls
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Hasting Chen
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxFamilyWorshipCenterD
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...NETWAYS
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024eCommerce Institute
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxNikitaBankoti2
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Salam Al-Karadaghi
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesPooja Nehwal
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AITatiana Gurgel
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@vikas rana
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...NETWAYS
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Pooja Nehwal
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxmohammadalnahdi22
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfhenrik385807
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...Sheetaleventcompany
 

Recently uploaded (20)

Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
 
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
Motivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfMotivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdf
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 

pCell to HFSS Macro Translator Tutorial

  • 1. Tao-Yi Lee Advisor: Dr. Yu-Jiu Wang Institute of Electronics, RFVLSI Lab National Chiao -Tung University pCell to HFSS Macro Translator Tutorial
  • 2. Operating Java GUI for Translator • Download latest Jave runtime environment (JRE) • For debugging, open a Java console – Use the console in integrated design env. (e.g. Netbeans, Eclipse) – Use Windows “cmd” and type (PATH variable may need to be set before use) 4/18/2014 Cadence pCell to HFSS Macro Translation 2 X:> java –jar skill_to_hfss.jar
  • 3. Setting an Environment Variable • Right click on My Computer, click “properties” 4/18/2014 Cadence pCell to HFSS Macro Translation 3
  • 4. Console View • Use the information in it for debugging (e.g. when program crashes) 4/18/2014 Cadence pCell to HFSS Macro Translation 4
  • 5. Operate Modes • Translate *.vbs and load manually after some modifications • Fully automated HFSS 3D modeling from SKILL source only 4/18/2014 Cadence pCell to HFSS Macro Translation 5
  • 6. Translate *.vbs and Load Manually After Some Modifications • Get all the input files ready and hit “generate macro” to translate *.il file • Text edit the output vbs – Prepend custom variables – Prepend IMD/substrate variables (thickness, Z-position, permittivity, etc.) – Prepend metallization variables (thickness, Z-position, bulk conductivity, etc.) – Append Boolean operations (unite, subtract) – Append lumped port definitions • Setup an *.hfss project, containing frequency analysis, and parameterized boundary conditions 4/18/2014 Cadence pCell to HFSS Macro Translation 6
  • 7. Translate *.vbs and Load Manually After Some Modifications • Use regular expression processor in MATLAB to substitute parameters in vbs • Modeling phase: – Use vbs template from ANTLR to generate actual vbs’ for specific parameters – Use MATLAB HFSS API to load vbs’ • Simulating phase: – Equally (or Weighted) distribute HFSS projects (*.hfss) into different folders, depending on how many computers you have – Call HFSS command to start remote simulations in parallel 4/18/2014 Cadence pCell to HFSS Macro Translation 7 hfss.exe -ng -Batchsolve -Remote -machinelist list="em0.rfvlsi.ee.nctu.edu.tw" <design_name> <filename>
  • 8. Translate *.vbs and Load Manually After Some Modifications 4/18/2014 Cadence pCell to HFSS Macro Translation 8 ProjectVariables Metallization Parameters Dielectric Parameters Boolean Operations “AutoIdentifyPorts” Operations GUI Translator (ANTLR) SKILL Source Code Vbs raw macro for HFSS Parameterized vbs template for HFSS vbs macro for HFSS vbs macro for HFSS vbs macro for HFSS vbs macro for HFSS vbs macro for HFSS vbs macro for HFSS vbs macro for HFSS vbs macro for HFSSText Substitution HFSS API call HFSS Setup Project Frequency Sweep Analysis Setup Parameterized Boundary Condition
  • 9. Detailed *.vbs Modifications Procedure • A typical *.vbs script needs to have the following operations sequentially – Header and Project Initialization – Custom variables – Metal/IMD definitions – Vias/box creation functions – SKILL translated functions – Top-level function call – Boolean operations – Lumped port auto-identification 4/18/2014 Cadence pCell to HFSS Macro Translation 9
  • 10. Step 1: Header and Project Initialization 4/18/2014 Cadence pCell to HFSS Macro Translation 10 Dim oAnsoftApp Dim oDesktop Dim oProject Dim oDesign Dim oEditor Dim oModule Set oAnsoftApp = CreateObject("AnsoftHfss.HfssScriptInterface") Set oDesktop = oAnsoftApp.GetAppDesktop() oDesktop.RestoreWindow oDesktop.OpenProject "F:DropboxANTLRHFSS_APIexamplesT65_SYM_CT_ANTLRnominal.hfss" Set oProject = oDesktop.GetActiveProject oProject.SaveAs "G:HFSS_SIMULATIONST65_SYM_CTHFSS_FILENAME.hfss", true Set oDesign = oProject.SetActiveDesign("BEOL_6X1Z1U") Set oEditor = oDesign.SetActiveEditor("3D Modeler") Set oProject = oDesktop.GetActiveProject
  • 11. Step 2: Custom Variables 4/18/2014 Cadence pCell to HFSS Macro Translation 11 oProject.ChangeProperty Array("NAME:AllTabs", Array("NAME:ProjectVariableTab", Array("NAME:PropServers", _ "ProjectVariables"), Array("NAME:ChangedProps", Array("NAME:$M9_W", "Value:=", "W_VALum")))) ‘ capitalized letters are for text substitution in MATLAB oProject.ChangeProperty Array("NAME:AllTabs", Array("NAME:ProjectVariableTab", Array("NAME:PropServers", _ "ProjectVariables"), Array("NAME:ChangedProps", Array("NAME:$M9_S", "Value:=", "S_VALum")))) ‘ capitalized letters are for text substitution in MATLAB oProject.ChangeProperty Array("NAME:AllTabs", Array("NAME:ProjectVariableTab", Array("NAME:PropServers", _ "ProjectVariables"), Array("NAME:ChangedProps", Array("NAME:$OD", "Value:=", "OD_VALum")))) ‘ capitalized letters are for text substitution in MATLAB
  • 12. Step 3: Metal/IMD Definitions 4/18/2014 Cadence pCell to HFSS Macro Translation 12 Set oEditor = oDesign.SetActiveEditor("3D Modeler") Function MetalHeight(iLayer) Select Case iLayer Case -2 'PO MetalHeight=-2.0 Case -1 'OD MetalHeight=-1.0 ‘ use hard-wired definitions Case 0 'M1 MetalHeight="$M1_Z“ ‘ use variable definitions Case 1 'M2 MetalHeight="$M2_Z“ ‘ use variable definitions … Case 8 'M9 MetalHeight="$M9_Z“ ‘ use variable definitions Case Else 'AP MetalHeight="$M10_Z“ ‘ use variable definitions End Select End Function
  • 13. Step 4: SKILL translated functions • Substitute sqrt() into Sqr() • Substitute evenp() into a Mod 2 <> 0 • Substitute oddp() into a Mod 2 = 0 • Minor modifications may be needed when scripting error pops up in HFSS, find your own solutions and take notes 4/18/2014 Cadence pCell to HFSS Macro Translation 13
  • 14. Step 5: Boolean Operations 4/18/2014 Cadence pCell to HFSS Macro Translation 14 A = oEditor.GetMatchedObjectName("Metal9*") ‘ unite all Metal9* oEditor.Unite Array("NAME:Selections", "Selections:=", Join(A,",")), Array("NAME:UniteParameters", "KeepOriginals:=", _ false) A = oEditor.GetMatchedObjectName("Metal8*") ‘ unite all Metal8* oEditor.Unite Array("NAME:Selections", "Selections:=", Join(A,",")), Array("NAME:UniteParameters", "KeepOriginals:=", _ false) A = oEditor.GetMatchedObjectName("Via8*") ‘ unite all Via8* oEditor.Unite Array("NAME:Selections", "Selections:=", Join(A,",")), Array("NAME:UniteParameters", "KeepOriginals:=", _ false)
  • 15. Step 6: Boolean Operations 4/18/2014 Cadence pCell to HFSS Macro Translation 15 A = oEditor.GetMatchedObjectName("Metal9*") oEditor.Subtract Array("NAME:Selections", "Blank Parts:=", "IMD_9aEQ", "Tool Parts:=", Join(A,",")), Array("NAME:SubtractParameters", "KeepOriginals:=", true) ‘subtract IMD_9aEQ from Metal 9 oEditor.Subtract Array("NAME:Selections", "Blank Parts:=", "IMD_9bEQ", "Tool Parts:=", Join(A,",")), Array("NAME:SubtractParameters", "KeepOriginals:=", true) ‘subtract IMD_9bEQ from Metal 9 oEditor.Subtract Array("NAME:Selections", "Blank Parts:=", "IMD_9cEQ", "Tool Parts:=", Join(A,",")), Array("NAME:SubtractParameters", "KeepOriginals:=", true) ‘subtract IMD_9cEQ from Metal 9
  • 16. Step 7: Lumped Port Auto-identification 4/18/2014 Cadence pCell to HFSS Macro Translation 16 Set oModule = oDesign.GetModule("BoundarySetup") oModule.AutoIdentifyPorts Array("NAME:Faces", 26981, 26993, 27005), false, Array("NAME:ReferenceConductors", "M1"), "1", true ‘Indentify conductors on face 26981, 26993 and 27005. Reference conductor (GND) set to metal 1. Get the numbers from your “HFSS nominal setup project.” Open a face property window from ”Modeler” tab. oProject.Save ‘save project to HDD