11 | | Le circuit addaccu a deux niveaux de hiérarchie : dans '''addaccu''' sont instanciés trois blocs '''mux''', '''reg''' et '''add'''. |
12 | | Ces trois blocs sont des générateurs paramétrable de cellules '''sxlib''', décrits dans le langage '''Stratus'''. |
| 11 | Le circuit addaccu a trois niveaux de hiérarchie : dans '''addaccu''' sont instanciés trois blocs '''mux''', '''reg''' et '''add'''. |
| 12 | Les deux blocs '''mux''' et '''reg''' sont des générateurs paramétrable de cellules '''sxlib''', décrits dans le langage '''Stratus'''. |
| 13 | Le bloc '''add''', également décrit dans le langage '''Stratus''', instancie un bloc '''full_adder'''. |
| 14 | Le bloc '''full_adder''' est une netlist de cellules '''sxlib''' décrite en '''Stratus'''. |
| 46 | == 1.2 Bloc registre == |
| 47 | |
| 48 | * En s'inspirant du multiplexeur, écrire le bloc '''reg''' avec '''Stratus''' en utilisant exclusivement les cellules de la bibliothèque '''sxlib''' |
| 49 | Ce bloc prend lui aussi comme paramètre le nombre de bits. |
| 50 | En outre, ils vérifient que leur paramètre est compris entre 2 et 64 (ce n’est pas fait dans mux). |
| 51 | * Ecrire le script python permettant de créer l'instance du registre. |
| 52 | |
| 53 | == 1.3 Bloc additionneur == |
| 54 | |
| 55 | * Ecrire le bloc '''full_adder''' en utilisant exclusivement les cellules de la bibliothèque '''sxlib'''. |
| 56 | * Ecrire le script python permettant de créer l'instance du full_adder. |
| 57 | * Ecrire le bloc '''adder''' instanciant le full_adder créé. |
| 58 | Ce bloc prend comme paramètre le nombre de bits. |
| 59 | * Ecrire le script python permettant de créer l'instance de l'additionneur. |
| 60 | |