Περιγραφή¶
Cadence is a leading EDA and System Design Enablement provider delivering tools, software, and IP to help you build great products that connect the world.
ΠΡΟΣΟΧΗ
Το Cadence είναι προσβάσιμο μόνο από χρήστες που ανήκουν στο group eda
.
Cadence 2023_2024¶
Για την πρόσβαση στην συγκεκριμένη εφαρμογή, είναι απαραίτητη η πρόσβαση στην υπολογιστική συστοιχία του ΑΠΘ
Γραφικό Περιβάλλον¶
Για να χρησιμοποιήσουμε το γραφικό περιβάλλον του Virtuoso
, θα χρειαστεί επισκεφτούμε με έναν browser την σελίδα: hpc.auth.gr και να ξεκινήσουμε ένα Desktop session ακολουθώντας τις οδηγίες.
Aπό το μενού (Applications
-> Electronics
) επιλέγουμε την εφαρμογή που θέλουμε, για παράδειγμα: Virtuoso 23.1 (2024)
.
Εναλλακτικά, στο menu της σελίδας hpc.auth.gr μπορούμε να επιλέξουμε Interactive Apps
-> Virtuoso
ώστε να εμφανιστεί η φόρμα εκκίνησης του εργαλείου Virtuoso
:
Μπορούμε να επιλέξουμε την έκδοση του λογισμικού, την τεχνολογία θα χρησιμοποιήσουμε και την εκτιμώμενη διάρκεια της εργασίας σε ώρες. Τέλος, για να ξεκινήσουμε το Virtuoso
στην υπολογιστική συστοιχία επιλέγουμε Launch
.
Cadence Tools¶
Για να χρησιμοποιήσουμε τα εργαλεία του Cadence
μπορούμε να ανοίξουμε το terminal
στο Desktop session
που έχουμε ξεκινήσει και να τρέξουμε την αντίστοιχη εντολή για το εργαλείο που θέλουμε:
# module load cadence
# #RUN GENUS
# genus
# #RUN INNOVUS
# innovus
# #RUN TEMPUS
# tempus
# #RUN Verisium Debug
# verisium
# #RUN XCELIUM
# xrun
# #RUN CONFORMAL
# #Logic Equivalence Checking
# lec
# #Constraint Designer
# ccd
Παράδειγμα batch εργασίας¶
Αφού συνδεθούμε στο login node μεταφέρουμε στο $ΗΟΜΕ
μας τον φάκελο schematic
του project για το οποίο θέλουμε να τρέξουμε ένα simulation.
Μπορούμε να χρησιμοποιήσουμε το παράδειγμα schematic που δίνεται εδώ και αφού το τοποθετήσουμε στο $ΗΟΜΕ
να κάνουμε extract τα περιεχόμενα ως εξής:
# tar xvzf schematic-xfab.tar.gz
# cd schematic
Μέσα στο φάκελο schematic
θα πρέπει να τοποθετηθεί το script υποβολής της εργασίας.
Το script που θα χρησιμοποιήσουμε για την εκτέλεση μίας προσομοίωσης, έστω Cadence-v2024-case.sh
), θα έχει την ακόλουθη μορφή:
SLURM submission script
#!/bin/bash
#SBATCH -p batch
#SBATCH -J Cadence-v2024-case
#SBATCH -n 4
#SBATCH -t 30:00
#Adopt Cadence environment
module load cadence
#Change to netlist directory
cd netlist
#Run spectre
spectre input.scs +escchars +log spectre.out -format psfxl -raw ../psf +lqtimeout 900 -maxw 5 -maxn 5 +mt=$SLURM_NTASKS
Η υποβολή της εργασίας γίνεται με την εντολή sbatch <filename.sh>
ως εξής:
# sbatch Cadence-v2024-case.sh
Παρακολουθούμε με squeue
την εξέλιξη της εργασίας και εφόσον έχει εκκινήσει μπορούμε να παρακολουθούμε την πρόοδο μέσω των αρχείων εξόδου.
# tail -f netlist/spectre.out
X-FAB technology¶
Για να χρησιμοποιήσουμε την τεχνολογία X-FAB
, θα χρειαστεί την πρώτη φορά να πραγματοποιήσουμε το αρχικό setup.
Για τον σκόπo αυτό, ανοίγουμε το terminal και τρέχουμε τις παρακάτω εντολές:
# source /mnt/apps/prebuilt/EDA/cadence-2022-23.bash
# mkdir -p prj/virtuoso-6.1.8-2022-23_xfab
# cd ~/prj/virtuoso-6.1.8-2022-23_xfab
# xkit -t xh018 --useversion 4.0
Η τελευταία εντολή απαιτεί την εισαγωγή ορισμένων επιλογών. Αφού εισάγουμε τις επιλογές που ζητούνται, θα ξεκινήσει το Virtuoso
.
Τέλος, για την επιτυχή ολοκλήρωση του setup, θα χρειαστεί να κλείσουμε το γραφικό περιβάλλον και στο ίδιο terminal να τρέξουμε την εντολή:
# xkit -u
GPDK¶
Για να χρησιμοποιήσουμε το GPDK ακολουθούμε τα παρακάτω βήματα:
- Στο
cds.lib
(από το οποίο το Virtuoso βρίσκει τις βιβλιοθήκες) προσθέτουμε τη γραμμή
INCLUDE /mnt/apps/prebuilt/eda/designkits/GPDK/gpdk045_v_6_0/cds.lib
- Προαιρετικά, μπορούμε να προθέσουμε στο Virtuoso project path μας τα GPDK models. Για να βρούμε το project path, ανοίγουμε το Virtuoso και εκτελούμε στο Log Console την εντολή
pwd
. Στη συνέχεια σε ένα terminal, μεταβαίνουμε στο παραπάνω project path (μεcd
), και εκτελούμε την εντολή
ln -s /mnt/apps/prebuilt/eda/designkits/GPDK/gpdk045_v_6_0/models
Λοιπά PDK¶
Οδηγίες χρήσης θα βρείτε στο αρχείο /mnt/apps/prebuilt/eda/designkits/<my-pdk>/readme.md
, όπου θα αντικαταστήσετε το <my-pdk>
με το όνομα του PDK που χρησιμοποιείτε.
Προσθήκη βιβλιοθηκών¶
Για να προσθέσουμε επιπλέον βιβλιοθήκες σε ένα project μπορούμε:
-
Να δημιουργήσουμε μία νέα βιβλιοθήκη επιλέγοντας από το μενού του
Virtuoso
:File
->New
->Library...
-
Να προσθέσουμε μία υπάρχουσα βιβλιοθήκη από το εργαλείο
Library Path Editor
, το οποίο μπορούμε να ανοίξουμε από το περιβάλλον τουVirtuoso
από το μενού:Tools
->Library Path Editor
-
Η προσθήκη βιβλιοθήκης μπορεί εναλλακτικά να πραγματοποιηθεί από τον
Library Manager
επιλέγοντας:Edit
->Library Path...
Εκκίνηση του Virtuoso από το terminal¶
Εάν μας διευκολύνει να εφαρμόζουμε το setup για κάθε project σε διαφορετικό directory (για παράδειγμα ~/prj/virtuoso-6.1.8_techA
), θα μπορούσαμε να συνδεθούμε σε ένα Desktop Session και να ξεκινήσουμε το Virtuoso
από το terminal
στο directory όπου έχει γίνει το setup ως εξής:
# module load cadence
# cd ~/prj/virtuoso_techA
# vglrun +sync virtuoso
Επαναφορά αρχικής ρύθμισης βιβλιοθηκών¶
Για να επαναφέρουμε τις αρχικές ρυθμίσεις για τις βιβλιοθήκες μπορούμε να διαγράψουμε το αρχείο cds.lib
στο project όπου δουλεύουμε (αφού προηγουμένως έχουμε κρατήσει ένα αντίγραφό του). Το directory του project βρίσκεται στο path ~/prj
και το όνομά του αντιστοιχεί στην έκδοση του Cadence
και την τεχνολογία που χρησιμοποιούμε (πχ: virtuoso-6.1.8_xfab
). Στην επόμενη εκκίνηση του Virtuoso
, το αρχείο cds.lib
θα δημιουργηθεί εκ νέου με τις αρχικές ρυθμίσεις.
ΠΡΟΣΟΧΗ
Εάν το αρχείο cds.lib
που διαγράφουμε περιέχει πληροφορίες που θα θέλαμε να διατηρήσουμε, είναι σημαντικό να κρατήσουμε ένα αντίγραφο ασφαλείας, καθώς στην συνέχεια δεν θα είναι δυνατή η ανάκτησή του.
Ερευνητική άδεια¶
ΠΡΟΣΟΧΗ
Η εγκατάσταση του Cadence χρησιμοποιεί από προεπιλογή την εκπαιδευτική άδεια του λογισμικού.
Για να χρησιμοποιήσετε την ερευνητική άδεια - εφόσον έχετε αιτηθεί πρόσβαση για τον συγκεκριμένο τύπο άδειας - μετά την σύνδεσή σας στο login node της υπολογιστικής συστοιχίας, θα χρειαστεί να τρέξετε - μόνο την πρώτη φορά - τις παρακάτω εντολές:
# echo "export CDS_LIC_FILE=5280@cadence-r.it.auth.gr" >> $ΗΟΜΕ/.bash_profile
# echo "export CDS_LIC_FILE=5280@cadence-r.it.auth.gr" >> $ΗΟΜΕ/.login