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

Περιγραφή

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 2022_2023

Για την πρόσβαση στην συγκεκριμένη εφαρμογή, είναι απαραίτητη η πρόσβαση στην υπολογιστική συστοιχία του ΑΠΘ

Γραφικό Περιβάλλον

Για να χρησιμοποιήσουμε το γραφικό περιβάλλον του Virtuoso, θα χρειαστεί επισκεφτούμε με έναν browser την σελίδα: hpc.auth.gr και να ξεκινήσουμε ένα Desktop session ακολουθώντας τις οδηγίες.

Aπό το μενού (Applications -> Electronics) επιλέγουμε την εφαρμογή που θέλουμε, για παράδειγμα: Virtuoso 6.1.8 (2022).

Εναλλακτικά, στο menu της σελίδας hpc.auth.gr μπορούμε να επιλέξουμε Interactive Apps -> Virtuoso ώστε να εμφανιστεί η φόρμα εκκίνησης του εργαλείου Virtuoso:

Virtuoso Form

Μπορούμε να επιλέξουμε την έκδοση του λογισμικού, την τεχνολογία θα χρησιμοποιήσουμε και την εκτιμώμενη διάρκεια της εργασίας σε ώρες. Τέλος, για να ξεκινήσουμε το Virtuoso στην υπολογιστική συστοιχία επιλέγουμε Launch.

Cadence Tools

Για να χρησιμοποιήσουμε τα εργαλεία του Cadence μπορούμε να ανοίξουμε το terminal στο Desktop session που έχουμε ξεκινήσει και να τρέξουμε την αντίστοιχη εντολή για το εργαλείο που θέλουμε:

# source /mnt/apps/prebuilt/EDA/cadence-2022-23.bash
# #RUN GENUS
# genus
# #RUN INNOVUS
# innovus
# #RUN TEMPUS
# tempus

Παράδειγμα batch εργασίας

Αφού συνδεθούμε στο login node μεταφέρουμε στο $ΗΟΜΕ μας τον φάκελο schematic του project για το οποίο θέλουμε να τρέξουμε ένα simulation. Μπορούμε να χρησιμοποιήσουμε το παράδειγμα schematic που δίνεται εδώ και αφού το τοποθετήσουμε στο $ΗΟΜΕ να κάνουμε extract τα περιεχόμενα ως εξής:

# tar xvzf schematic-xfab.tar.gz
# cd schematic

Μέσα στο φάκελο schematic θα πρέπει να τοποθετηθεί το script υποβολής της εργασίας.

Το script που θα χρησιμοποιήσουμε για την εκτέλεση μίας προσομοίωσης, έστω Cadence-6.1.8-case.sh), θα έχει την ακόλουθη μορφή:

SLURM submission script
#!/bin/bash
#SBATCH -p batch 
#SBATCH -J Cadence-6.1.8-case
#SBATCH -n 4
#SBATCH -t 30:00

#Adopt Cadence environment
source /mnt/apps/prebuilt/eda/cadence-2022-23.bash

#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-6.1.8-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

TSMC technology

Για να χρησιμοποιήσουμε την τεχνολογία TSMC, θα χρειαστεί την πρώτη φορά να πραγματοποιήσουμε το αρχικό setup. Για τον σκόπo αυτό, ανοίγουμε το terminal και τρέχουμε τις παρακάτω εντολές:

# mkdir -p ~/prj/virtuoso-6.1.8
# cp /mnt/apps/prebuilt/eda/designkits/TSMC_65nm/N65RF/cds.lib ~/prj/virtuoso-6.1.8

Στην συνέχεια μπορούμε να ξεκινήσουμε το Virtuoso από την συντόμευση Virtuoso 6.1.8 (2022).

Επιπλέον, για την αυτόματη ενεργοποίηση των βιβλιοθηκών κατά την χρήση των εργαλείων Virtuoso, PVS και ASSURA, καθώς και για να μπορείτε να τροποποιήσετε τοπικά τα δικά σας αρχεία, προτείνεται να χρησιμοποιήσετε τις παρακάτω εντολές:

# cp /mnt/apps/prebuilt/eda/designkits/TSMC_65nm/N65RF/display.drf ~/prj/virtuoso-6.1.8
# cp /mnt/apps/prebuilt/eda/designkits/TSMC_65nm/N65RF/assura_tech.lib ~/prj/virtuoso-6.1.8
# cp /mnt/apps/prebuilt/eda/designkits/TSMC_65nm/N65RF/pvtech.lib ~/prj/virtuoso-6.1.8
# ln -s /mnt/apps/prebuilt/eda/designkits/TSMC_65nm/N65RF/models ~/prj/virtuoso-6.1.8/models
# ln -s /mnt/apps/prebuilt/eda/designkits/TSMC_65nm/N65RF/Assura ~/prj/virtuoso-6.1.8/Assura
# ln -s /mnt/apps/prebuilt/eda/designkits/TSMC_65nm/N65RF/PVS ~/prj/virtuoso-6.1.8/PVS

Global Foundries

Για να χρησιμοποιήσουμε τις βιβλιοθήκες της Global Foundries ακολουθούμε τα παρακάτω βήματα.

  1. Στο αρχείο ~/.bashrc, που βρίσκεται στο home directory μας, προσθέτουμε τις ακόλουθες μεταβλητές περιβάλλοντος, και ξανακάνουμε login.
    export GF_PDK_HOME="/mnt/apps/prebuilt/eda/designkits/GlobalFoundries/GF_22nm/readonly/22FDX-EXT/V1.0_2.0a"
    export CDS_SEARCHDIR="${GF_PDK_HOME}/DesignEnv/VirtuosoOA/setup"
    export CDS_PROJECT="${GF_PDK_HOME}/DesignEnv/VirtuosoOA/setup"
    
  2. Στο αρχείο cds.lib (από το οποίο το Virtuoso βρίσκει τις βιβλιοθήκες) προσθέτουμε το περιεχόμενο του αρχείου ${GF_PDK_HOME}/DesignEnv/VirtuosoOA/setup/sample.cds.lib.

    cd path/to/cds/prj  # e.g. ~/prj/virtuoso-6.1.8-2022-23
    export GF_PDK_HOME="/mnt/apps/prebuilt/eda/designkits/GlobalFoundries/GF_22nm/readonly/22FDX-EXT/V1.0_2.0a"
    cat "${GF_PDK_HOME}/DesignEnv/VirtuosoOA/setup/sample.cds.lib" >> cds.lib
    

  3. Σε έναν editor ανοίγουμε το αρχείο:

    gedit cds.lib
    
    Ανάλογα με το BEOL stack που θέλουμε να χρησιμοποιήσουμε, αφαιρούμε το # από την αντίστοιχη γραμμή στο cds.lib ώστε να διαβάζεται από το Virtuoso ως εντολή και όχι ως σχόλιο.

  4. Ανοίγουμε το Virtuoso σε καινούργιο session.

Η βιβλιοθήκη της Global Foundries θα πρέπει να φαίνεται στο Library Manager του Virtuoso.

GPDK

Για να χρησιμοποιήσουμε το GPDK ακολουθούμε τα παρακάτω βήματα:

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

Προσθήκη βιβλιοθηκών

Για να προσθέσουμε επιπλέον βιβλιοθήκες σε ένα 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 ως εξής:

# source /mnt/apps/prebuilt/eda/cadence-2022-23.bash
# cd ~/prj/virtuoso-6.1.8_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