comment concevoir un asic en 20h - cnfm.fr · codage vhdl et simulation 4h tp codage d'un bloc...

6
Journées pédagogiques 2008 Comment concevoir un ASIC en 20h ? Auteurs : A. Exertier ([email protected] ), Y. Blanchard ([email protected] ), A. d’Hermies ([email protected] ), ESIEE engineering, CEMIP. Problématique Un enseignement de conception de circuits intégrés (ASIC) numériques ne peut se limiter à un apport théorique (testabilité, synthèse, placement-routage). Une mise en pratique est indispensable pour mieux cerner les principes mais aussi pour appréhender les réalités et limites des technologies et des logiciels. Cette pratique passe par l’utilisation d’outils EDA 1 (Mentor, Cadence, Synopsys) puissants avec de multiples options et d’un abord complexe pour des débutants. Pour l’enseignant, l’élaboration de sujets de TP pédagogiques est difficile. Tout d’abord, les séances ne doivent pas se limiter à l’apprentissage de logiciels ni a contrario être des TP « presse-bouton ». Les deux extrêmes ont un intérêt pédagogique limité ainsi qu’un effet néfaste sur la motivation des étudiants. L’enseignement peut être réalisé par une succession de TP indépendants avec des circuits adaptés à chaque étape du flot : un premier circuit pour la synthèse et un autre pour le placement-routage, par exemple. Cependant, nous préférons que les étudiants déroulent complètement le flot de conception sur un même circuit (du cahier des charges jusqu’au GDSII), tout cela dans un nombre limité d’heures (2h TD suivies de 18h TP). De plus, la durée d’exécution logicielle (temps machine) ne doit pas excéder 15 minutes, car trop de temps d’attente casse le rythme d’une séance et démobilise les étudiants. Enfin, le circuit choisi doit être représentatif de « problèmes » industriels typiques et ce pour chaque étape du flot. Si le circuit est trop « simple » (trop scolaire), les étudiants ne seront pas confrontés aux problèmes de timing (pendant la synthèse), de congestion (durant le placement-routage), … et donc ne pourront les résoudre. Le challenge pour l’enseignant est de trouver un circuit « intéressant » (et donc suffisamment « gros ») dont chaque étape logicielle du flot dure un temps « raisonnable » (donc pas trop gros). Contexte et présentation de l'ASIC Nous présentons dans cet article une expérience pédagogique qui a lieu (et évolue) depuis 6 ans à ESIEE engineering. La conception d'un ASIC numérique en 20h s'inscrit dans une unité de 45 heures comprenant : Conception pour le test (Design For Test, DFT) : 6h de cours, 2h TD et 4h TP Test périphérique( JTAG) : 3h de cours et 4h TP Synthèse logique (techniques d'optimisation et stratégies de synthèse) : 2h de cours Placement et routage (arbres d'horloge, intégrité de signal) : 4h de cours Conception d'un ASIC : 2h TD, 18h TP 1 Electronic Design Automation CEMIP P8

Upload: lydien

Post on 15-Sep-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Comment concevoir un ASIC en 20h - cnfm.fr · Codage VHDL et simulation 4h TP Codage d'un bloc (filtre) Simulation fonctionnelle globale 2h TP Codage, simulation et documentation

Journées pédagogiques 2008

Comment concevoir un ASIC en 20h ?

Auteurs : A. Exertier ([email protected]), Y. Blanchard ([email protected]), A. d’Hermies ([email protected]), ESIEE engineering, CEMIP.

Problématique

Un enseignement de conception de circuits intégrés (ASIC) numériques ne peut se limiter à un apport théorique (testabilité, synthèse, placement-routage). Une mise en pratique est indispensable pour mieux cerner les principes mais aussi pour appréhender les réalités et limites des technologies et des logiciels. Cette pratique passe par l’utilisation d’outils EDA1 (Mentor, Cadence, Synopsys) puissants avec de multiples options et d’un abord complexe pour des débutants.

Pour l’enseignant, l’élaboration de sujets de TP pédagogiques est difficile. Tout d’abord, les séances ne doivent pas se limiter à l’apprentissage de logiciels ni a contrario être des TP « presse-bouton ». Les deux extrêmes ont un intérêt pédagogique limité ainsi qu’un effet néfaste sur la motivation des étudiants.

L’enseignement peut être réalisé par une succession de TP indépendants avec des circuits adaptés à chaque étape du flot : un premier circuit pour la synthèse et un autre pour le placement-routage, par exemple. Cependant, nous préférons que les étudiants déroulent complètement le flot de conception sur un même circuit (du cahier des charges jusqu’au GDSII), tout cela dans un nombre limité d’heures (2h TD suivies de 18h TP). De plus, la durée d’exécution logicielle (temps machine) ne doit pas excéder 15 minutes, car trop de temps d’attente casse le rythme d’une séance et démobilise les étudiants.

Enfin, le circuit choisi doit être représentatif de « problèmes » industriels typiques et ce pour chaque étape du flot. Si le circuit est trop « simple » (trop scolaire), les étudiants ne seront pas confrontés aux problèmes de timing (pendant la synthèse), de congestion (durant le placement-routage), … et donc ne pourront les résoudre.

Le challenge pour l’enseignant est de trouver un circuit « intéressant » (et donc suffisamment « gros ») dont chaque étape logicielle du flot dure un temps « raisonnable » (donc pas trop gros).

Contexte et présentation de l'ASIC

Nous présentons dans cet article une expérience pédagogique qui a lieu (et évolue) depuis 6 ans à ESIEE engineering. La conception d'un ASIC numérique en 20h s'inscrit dans une unité de 45 heures comprenant :

Conception pour le test (Design For Test, DFT) : 6h de cours, 2h TD et 4h TP Test périphérique( JTAG) : 3h de cours et 4h TP Synthèse logique (techniques d'optimisation et stratégies de synthèse) : 2h de cours Placement et routage (arbres d'horloge, intégrité de signal) : 4h de cours Conception d'un ASIC : 2h TD, 18h TP

1 Electronic Design Automation

CEMIP

P8

Page 2: Comment concevoir un ASIC en 20h - cnfm.fr · Codage VHDL et simulation 4h TP Codage d'un bloc (filtre) Simulation fonctionnelle globale 2h TP Codage, simulation et documentation

Journées pédagogiques 2008

Cette unité s'adresse à des étudiants ingénieurs de niveau Master 1 (Bac +4). Ces étudiants ont déjà suivi une unité de VHDL (30h) et une autre sur la conception sur circuits configurables FPGA (45h). Ils ont donc une expérience non négligeable en architectures numériques et en VHDL. Lors de la séance de TD, les étudiants reçoivent et analysent le cahier des charges de l'ASIC ci-après.

Le circuit intégré doit filtrer des données fournies par un premier système, les sauvegarder avant de les transmettre à un deuxième système (un PC) via une liaison.

Le système 1 envoie à l’ASIC des données en parallèle (32 bits) par paquet de 512 données successives, les données sont transmises de manière synchrone à une fréquence de 100 MHz. Le système 1 ne pourra lui envoyer un autre paquet de 512 valeurs que lorsque l’ASIC aura reçu et envoyé vers le système 2 les 512 précédentes filtrées. L’ASIC envoie les données au système 2 uniquement quand ce dernier est prêt à les recevoir (signaux de contrôle à spécifier).

Le filtre est un filtre IIR normalisé :

!

1+ a1" z

#1+ a

2" z

#2

1+ b1" z

#1+ b

2" z

#2, les données sont codées en code

complément à 2 et en virgule fixe. Les valeurs des coefficients sont spécifiées par le système 2, via une liaison RS232 en utilisant un protocole défini et implémenté par le client. L’ASIC doit être compatible avec la norme IEEE 1149 (JTAG) et doit être testable (scan design).

Architecture et organisation du travail

En séance de TD, les étudiants sont amenés à définir les signaux de contrôle avec les deux systèmes extérieurs puis à établir l'architecture du circuit.

L'équipe enseignante a conçu (niveau VHDL RTL) le bloc de mise à jour des coefficients et les blocs de propriété intellectuelle (IP) du JTAG et RS232. Il reste 3 blocs à concevoir, les étudiants se répartissent par équipes de 4 (2 binômes par équipe). Chaque binôme doit réaliser le filtre et un autre bloc :

Soit l'interface1 (dont le rôle est de découper les données de 32 bits en 4 paquets de 8 bits) associée à la gestion de l'IP soft RS232

Soit la partie contrôle qui pilote la mémoire SRAM (bloc en dur)

Les étudiants travaillent en groupe afin de se mettre d'accord sur les interfaces des différents blocs puis chaque binôme déterminer l'architecture de son bloc spécifique. A la deuxième séance de TP, le

CEMIP

P8

Page 3: Comment concevoir un ASIC en 20h - cnfm.fr · Codage VHDL et simulation 4h TP Codage d'un bloc (filtre) Simulation fonctionnelle globale 2h TP Codage, simulation et documentation

Journées pédagogiques 2008

binôme doit échanger avec l'autre binôme de son équipe les codes de ce bloc spécifique ainsi qu'une documentation sur l'IP.

Lors du TD, le déroulement de la "conception d'un ASIC" et les échéances sont présentés aux étudiants : Thème Séance Travail à effectuer pour le début de la séance

Cahier des charges 2h TD

Codage VHDL et simulation 4h TP Codage d'un bloc (filtre)

Simulation fonctionnelle globale 2h TP Codage, simulation et documentation du bloc spécifique

Synthèse 4h TP Rapport sur l'architecture et la simulation

Placement-routage 8h TP Synthèse de l'ASIC et rapport sur la synthèse.

S'ils ne respectent pas les échéances, ils handicapent un autre binôme (cas du 2ème TP) ou ne pourront pas poursuivre les TP.

Le TD est également l’occasion de sensibiliser les étudiants aux coûts de fabrication. Ils analysent les documentations des technologies CMOS d’austriamicrosystems (AMS) et de ST Microelectronics (STM) disponibles via le CMP (cmp.imag.fr). Pour un nombre de portes et d’entrées/sorties fixé, ils déterminent les coûts de fabrication pour chaque technologie, cela permet également de refaire le point sur les circuits "core-limited" ou "pad-limited" et de prendre conscience que la taille des plots ne diminue pas de manière proportionnelle à celle du transistor.

Nous avons choisi d'implémenter l'ASIC vers une technologie 0,35µm car il est simple d'obtenir une mémoire.

Codage, simulation et confrontation … des résultats

Les premiers TP sont consacrés au codage VHDL et à la simulation. Les étudiants complètent leurs compétences dans ce domaine en créant des simulations "automatisées" : script TCL, utilisation des assert (en VHDL), et vérification de l'efficacité du testbench grâce au code coverage.

Lors du second TP, chaque binôme doit livrer à l'autre binôme de son équipe le(s) code(s) VHDL de son bloc spécifique, un testbench, un script TCL pour la simulation et une documentation technique (1 page). Le binôme doit émettre des commentaires sur la ré-utilisabilité des codes reçus (et pas toujours très clairs). L'objectif pédagogique de cette mise en situation est la prise de conscience de l'importance de la documentation et des commentaires dans les codes. Lors de l'échange des codes, il arrive d'ailleurs que des frictions apparaissent entre les binômes …

Synthèse logique et synthèse des connaissances

Lors du TP sur la synthèse logique, les étudiants se familiarisent avec l'outil RTL Compiler (Cadence) en utilisant un script TCL et un fichier de contraintes fournis. Dans un premier temps, ils font la synthèse du filtre uniquement (la durée logicielle de l'étape est inférieure à 5 minutes). En faisant varier la fréquence, ils étudient l'impact de cette contrainte sur la surface, la consommation. En particulier, ils observent les changements d'architecture des opérateurs arithmétiques (multiplieurs et additionneurs du filtre) comme cela a été abordé en cours.

CEMIP

P8

Page 4: Comment concevoir un ASIC en 20h - cnfm.fr · Codage VHDL et simulation 4h TP Codage d'un bloc (filtre) Simulation fonctionnelle globale 2h TP Codage, simulation et documentation

Journées pédagogiques 2008

Surface et opérateurs arithmétiques en fonction de la contrainte pour une technologie de 0,35µm

Les étudiants font la synthèse du filtre pour différentes technologies : AMS 0,35 µm, STM 0,18µm, STM 0,13µm, et STM 90 nm (et cette dernière pour 3 variantes valeurs de tension de seuil : low, Vt, standard Vt et high Vt). Cela leur permet d'avoir des repères sur les fréquences maximales de fonctionnement du filtre et sur les ratios entre consommations statique et dynamique.

Fréquence de fonctionnement maximale en fonction de la technologie

Lors d'enseignement théorique, ils apprennent que la consommation statique augmente de manière importante plus la technologie est petite. Là ils se rendent compte de cet accroissement significatif. Alors qu'en technologie 0,35µm, la consommation statique est un million de fois plus faible que la dynamique, elle est du même ordre de grandeur voire supérieure en 90 nm.

CEMIP

P8

Page 5: Comment concevoir un ASIC en 20h - cnfm.fr · Codage VHDL et simulation 4h TP Codage d'un bloc (filtre) Simulation fonctionnelle globale 2h TP Codage, simulation et documentation

Journées pédagogiques 2008

Consommation en fonction du Vt pour une technologie 90 nm

Enfin ils adaptent le script TCL pour faire la synthèse du circuit complet (durée logicielle : 15 minutes) en n'oubliant pas l'insertion de scan.

Placement-routage

Les deux dernières séances sont consacrées au placement-routage. L'ASIC permet de placer les cellules JTAG en périphérie, de placer un "hard block" (la mémoire) avec ses rails d'alimentation, de réordonner la (les) chaîne(s) de scan, de générer 2 arbres d'horloge (horloges système et JTAG). La fréquence de fonctionnement a été choisie de telle manière que les étudiants puissent observer et corriger des violations de set-up et de hold. Le circuit est à la limite entre core-limited et pad-limited, le filtre permet d'avoir un bloc logique conséquent.

Circuit placé-routé

CEMIP

P8

Page 6: Comment concevoir un ASIC en 20h - cnfm.fr · Codage VHDL et simulation 4h TP Codage d'un bloc (filtre) Simulation fonctionnelle globale 2h TP Codage, simulation et documentation

Journées pédagogiques 2008

En fonction de la densité du coeur (spécifiée par les étudiants) et le placement des stripes, certains étudiants voient apparaître (et gérent) des problèmes de congestion. En analysant la chute de tension dans les rails d'alimentation (IR drop) pour 2 placements différents de plots, les étudiants constatent l'importance du positionnement des rails d'alimentation.

IR drop: chute de tension dans les rails d'alimentation

Evaluation des apprentissages et bilan de l'expérience

L'évaluation des apprentissages se fait par la rédaction de trois rapports. Pour chaque rapport, les exigences sont clairement spécifiées et correspondent à une note de 14/20. Pour dépasser cette note, les étudiants doivent explorer certains points techniques, des suggestions leur sont proposées (comme l'étude de l'impact de la quantification sur le filtre). La majorité des étudiants choisissent d'approfondir un ou plusieurs points, ils s'approprient le TP et leur implication est accrue. Ils respectent les échéances et travaillent de manière significative en dehors des séances.

Le retour des étudiants sur cette expérience est positif. Ils apprécient particulièrement le fait de dérouler complètement le flot de conception. Certains regrettent le principe d'échanger les codes VHDL (cas d'étudiants qui ont reçu des codes "défectueux" et/ou mal documentés) cependant ils reconnaissent que cela leur a fait vraiment prendre conscience de l'importance du design re-use. Malgré le fait que des scripts et des manuels d'utilisation simplifiés sont fournis, quelques étudiants restent déroutés par l'utilisation de logiciels.

Pour les enseignants, cette conception d'ASIC demande un nombre d'heures important consacré à la préparation. Il est indispensable d'évaluer les durées logicielles. Il faut également prévoir qu'un groupe ait des difficultés majeures et ne puisse pas respecter les échéances. Afin de ne pas les pénaliser davantage, il est prévu des points de re-synchronisation avec la possibilité de leur fournir des codes/scripts conçus par l'enseignant.

L'architecture de l'ASIC a évolué au cours des 6 années de cette expérience pédagogique. La version actuelle permet de traiter en un temps logiciel raisonnable de nombreux points techniques : chemins multi-cycles, faux-chemins, deux domaines d'horloge, blocs IP hard et soft, placement des cellules JTAG, ... Suivant le niveau des étudiants, il est possible de moduler aisément la difficulté des sujets. Il faut noter que cette architecture est intéressante pour une technologie 0,35µm, cependant si on souhaite changer de technologie, il faut l'adapter.

CEMIP

P8