| | 31 | La bibliothèque de cellules utilisée dans ce TP est la bibliothèque SxLib, développée par le laboratoire LIP6, |
| | 32 | pour la chaîne de cCAO ''ALLIANCE''. La particularité de cette bibliothèque est d'être "portable" : le dessin des |
| | 33 | masques de fabrication (vue ''physique'') utilise une technique de dessin ''symbolique'', qui permet d'utiliser |
| | 34 | cette bibliothèque de cellules pour n'importe quel procédé de fabrication CMOS possédant au moins trois niveaux |
| | 35 | de métallisation. |
| | 36 | |
| | 37 | Evidemment les caractéristiques physiques (surface occupée, temps de propagation) dépendent du procédé de |
| | 38 | fabrication. Les cellules que vous utiliserez dans ce TP ont été caractérisées pour un procédé de fabrication |
| | 39 | CMOS 0.35micron. |
| | 40 | |
| | 41 | La liste des cellules disponibles dans la bibliothèque SxLib peut être obtenue en consultant la page man : |
| | 42 | {{{ |
| | 43 | >man sxlib |
| | 44 | }}} |
| | 45 | |
| | 46 | Comme vous |
| | 48 | |
| | 49 | == B1) schéma du bloc adder == |
| | 50 | |
| | 51 | Un additionneur 4 bits peut être réalisé en interconnectant 4 additionneurs 1 bit suivant le schéma ci-dessous. |
| | 52 | |
| | 53 | Un additionneur 1 bit (encore appelé ''Full Adder'') possède 3 entrées a,b,c, et deux sorties s et r. |
| | 54 | La table de vérité est définie par le tableau ci-dessous. Le bit de "somme" s vaut 1 lorsque le nombre de bits d'entrée égal à 1 est impair. Le bit de "report" est égal à 1 lorsqu'au moins deux bits d'entrée valent 1. |
| | 55 | |
| | 56 | || a || b || c || r || s || |
| | 57 | || 0 || 0 || 0 || 0 || 0 || |
| | 58 | || 0 || 0 || 1 || 0 || 1 || |
| | 59 | || 0 || 1 || 0 || 0 || 1 || |
| | 60 | || 0 || 1 || 1 || 1 || 0 || |
| | 61 | || 1 || 0 || 0 || 0 || 1 || |
| | 62 | || 1 || 0 || 1 || 1 || 0 || |
| | 63 | || 1 || 1 || 0 || 1 || 0 || |
| | 64 | || 1 || 1 || 1 || 1 || 1 || |
| | 65 | |
| | 66 | Ceci donne les expressions suivantes : |
| | 67 | * s <= a XOR b XOR c |
| | 68 | * r <= (a AND b) OR (a AND c) OR (b AND c) |
| | 69 | |
| | 70 | Il existe plusieurs schémas possibles pour réaliser un Full Adder. |
| | 71 | Nous vous proposons d'utiliser le schéma ci-dessous, qui utilise les deux cellules na2_x1 et nxr2_x1. |
| | 72 | |
| | 73 | |
| | 74 | Il faut donc écrire explicitement, en langage VHDL structurel, les deux fichiers adder.vst, et half_adder.vst, |
| | 75 | correspondant aux deux schémas ci-dessus. |
| | 76 | |
| | 77 | == B2) schéma en portes S |
| | 78 | |
| | 79 | |
| | 80 | |
| | 81 | |
| | 82 | |