Μετάβαση στο περιεχόμενο

Περιγραφή

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 Form

Μπορούμε να επιλέξουμε την έκδοση του λογισμικού, την τεχνολογία θα χρησιμοποιήσουμε και την εκτιμώμενη διάρκεια της εργασίας σε ώρες. Τέλος, για να ξεκινήσουμε το 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 ακολουθούμε τα παρακάτω βήματα:

  1. Στο cds.lib (από το οποίο το Virtuoso βρίσκει τις βιβλιοθήκες) προσθέτουμε τη γραμμή
INCLUDE /mnt/apps/prebuilt/eda/designkits/GPDK/gpdk045_v_6_0/cds.lib
  1. Προαιρετικά, μπορούμε να προθέσουμε στο 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