MODULE TER
|
Sommaire
|
SPECIFICATIONS |
PLAN QUALITE |
-I- PrésentationLe thème du projet est de concevoir un PIA sous CADENCE/VALID .
Un PIA (Parallel Interface Adapter / Adaptateur pour interface parallèle)
est un périphérique (hardware) construit pour une architecture classique
(1 Microprocesseur, 1 bus de données, adresse, et contrôle).
CADENCE/VALID est un logiciel sous UNIX (AIX) permettant de concevoir et de simuler des circuits numériques & Analogiques Nous n'utiliserons que la partie Numérique.
Conception
A partir d'un schéma logique, nous devons le transposer en schéma électrique en recherchant les différents circuits intégrés élémentaires associés (Portes logiques, bascules).
ValidationUne fois le circuit implémenté dans le logiciel nous devons le compiler et lui faire subir plusieurs jeux de test pour vérifier si le résultat est bien celui prévu. |
-II- DécompositionDans un premier temps on "éclate" le projet en modules, plus ou moins indépendants.Cette opération est nécessaire, pour la répartition des tâches
|
-III- OrganisationSelon les compétences et disponibilité des différents intervenants,Nous avons mis en place l'équipe suivante :
Enseignant encadrant : Mr Mzoughi
Les différents membres sont informés régulièrement du travail en cours
à l'aide de réunions ou d'E-mails. Planning :semaine 1 = 27 Avril - 10 Mai Semaine 2 = 11 - 17 Mai Semaine 3 = 18 - 24 Mai Semaine 4 = 25 - 31 Mai semaine 5 = 1 - 7 Juin Semaine 6 = 8 - 14 Juin Semaine 7 = 15 - 17 Juin |
-IV- PlanificationPour chaque organe du PIA on appliquera le cycle de vie suivant
L'ordre de réalisation est le suivant
Le projet se divise en étapes
|
-V- MéthodologieCycle de vieNotre méthode de travail s'apparente au cycle de vie en V :
Adapté à notre projet où la concepption remplace le codage , cela devient :
Fiche d'anomalieA chaque module on lui associe une fiche, qui suivra le module durant le projet. On y notera :
Validation du projetLa validation du projet, se fera avec l'enseignant encadrant (Mr Mzoughi), nous lui présenterons sur une machine unix les simulations effectuée en temp réel.Une autre serie arbitraire de test pourra etre soumise au simulateur. Un rapport du travail et du fonctionement sera présenté ce jour là. http://bibinsa5.insa-tlse.fr/~rzr/articles/pia.htm |
ENVIRONNEMENT
|
Présentation du logiciel CADENCE / VALID
Le logiciel est composé de plusieurs modules , conception, simulation , routage ... On travaillera en mode numérique et on n'utilisera que :
EditeurIl possêde une Interface de type wysiwyg.A l'aide de cet éditeur on positionne des circuits integrés (préalablement conçus ou extraits d'une librarie ) et on câble les fils ou bus en dessinant à la souris. Editer un schéma éléctrique se fait en 2 parties :
|
Compilateur |
SimulateurPar exemple un démultiplexeur 1 vers 2 :
On peut effectuer la manipulation en mode ligne de commandes ou en scripts (fichier). |
Exemple de script de simulation d'un demultiplexeur 1 vers 2 :
logic_init 0 open 'entreé open 'select' open 's' open '*s' s 200 deposit 'entreé,1 s 200 deposit 'select',1 logic_init: Command not found. s 200 deposit 'entreé,0 s 200 |
REALISATION
|
REVUES
|
PORT d'ENTREES/SORTIESUtilité :Ce port d'E/S est l'organe par lequel circulent les données.exemple d'une imprimante : les caractère à imprimer. Il est bidirectionnel, c'est a dire que suivant le périphérique branché sur le port on peut programmer indépendamment chacune des 8 lignes soit en
Schéma logiqueChronogrammes |
Script de simulation/*initialisation*/ logic_init 0 open 'write_data' open 'read_data' open '*reset' open 'write_crx' open 'write_crx' open 'port' open 'd' s 200 deposit '*reset',1 /*on enleve le reset*/ s 200 /*test du port en entree port <=01010101*/ deposit 'port',$x55 s 200 deposit 'read_data',1 s 200 deposit 'read_data',0 s 200 /*test du port en sortie : d <= 01010101*/ deposit 'd',$x55 s 200 deposit 'write_data',1 /* DDRA <= FF : tout en sortie!*/ s 200 deposit 'write_data',0 s 200 /* CRA2 <= 1 : ORA selectionne */ deposit 'write_crx',1 s 200 deposit 'write_crx',0 s 200 deposit 'write_data',1 /* ORA <= 1*/ s 200 deposit 'write_data',0 s 200 Chronogrammes |
LIGNE DE CONTROLE CX1 : Schéma LogiqueUtilité :Les deux lignes de contrôle qui composent l'autre partie de ce PIA ont pour but de contrôle le périphérique (dialogue)exemple de l'imprimante :
Fonctionement / composition
|
LIGNE DE CONTROLE CX1 : Chronogrammes |
LIGNE DE CONTROLE CX1 : Script de simulation/*initialisation*/ logic_init 0 /* entrees */ open 'Cx1' open 'd<0>' open 'd<1>' open 'd<7>' open 'read_data' open 'write_crx' open 'read_crx' open '*reset' /* sorties */ open '*IRQx' open 'o_crx7' s 200 deposit '*reset',1 /*on enleve le reset*/ s 200 /* premier test : crx1 = 0, crx0 = 0 */ deposit 'd',0 s 200 deposit 'write_crx',1 s 200 deposit 'write_crx',0 s 200 deposit 'CX1',1 s 200 /* CX1 :front descendant ,pas d'IT*/ deposit 'CX1',0 s 200 deposit 'read_crx',1 /* petit test de lecture */ s 200 deposit 'read_crx',0 s 200 /* en principe, remontee de o_crx7 */ deposit 'read_data',1 s 200 deposit 'read_data',0 s 200 /* deuxieme test : crx1 = 0, crx0 = 1 */ deposit 'd',1 s 200 deposit 'write_crx',1 s 200 deposit 'write_crx',0 s 200 deposit 'CX1',1 s 200 deposit 'CX1',0 /* CX1 :front descendant */ s 200 deposit 'read_crx',1 /* petit test de lecture */ s 200 deposit 'read_crx',0 s 200 /* en principe, remontee de o_crx7 */ deposit 'read_data',1 s 200 deposit 'read_data',0 s 200 deposit 'read_crx',1 /* petit test de lecture */ s 500 deposit 'read_crx',0 s 200 /* troisieme test : crx1 = 1, crx0 = 0 */ deposit 'd',2 s 200 deposit 'write_crx',1 s 200 deposit 'write_crx',0 s 200 /* CX1 :front montant ,pas d'IT*/ deposit 'CX1',1 s 200 deposit 'CX1',0 s 200 deposit 'read_crx',1 /* petit test de lecture */ s 200 deposit 'read_crx',0 s 200 /* en principe, remontee de o_crx7 */ deposit 'read_data',1 s 200 deposit 'read_data',0 s 200 /* quatrieme test : crx1 = 1, crx0 = 1 */ deposit 'd',3 s 200 deposit 'write_crx',1 s 200 deposit 'write_crx',0 s 200 deposit 'CX1',1 /* CX1 :front montant */ s 200 deposit 'CX1',0 s 200 deposit 'read_crx',1 /* petit test de lecture */ s 200 deposit 'read_crx',0 s 200 /* en principe, remontee de o_crx7 */ deposit 'read_data',1 s 200 deposit 'read_data',0 s 200 |
MULTIPLEXEUR 1x2DEMULTIPLEXEUR 2x1 |
DECODEUR D'ADRESSELe décodeur d'adresse permet d'adresser les registres internes du PIA comme des zones mémoires. On a donc dans le partitionnage de la mémoire une plage réservée aux périphériques (dont le PIA). Pour selectionner le bon boitier (Mémoire ou périphérique) on calcule à partir de la table de partition l'expression du chip select en font des bits du bus d'adresse (ie: CSpia= /a21 . a20 . /a19 . /a18 ) |
P.I.A.7
Si le signal CS=1 : une seule ligne est à 1 |