IE5 FST 2020/2021
TP4 : Conception schématique de chemin de données et unité de contrôle sous
QUARTUS II
Objectif :
L’objectif de ce Lab est de proposer une implémentation schématique de quelques
éléments constituants une architecture RISC à 8 bits sous environnement Quartus.
Le schéma de son chemin de données est donné par la figure suivante
Les signaux de contrôle sont générés une unité de contrôle suivant le format d’instruction à
la sortie de la mémoire d’instruction. Sachant que encodage de chaque instruction sur un
mot de 16 bits et elle s’exécute sur un seul cycle horloge de Clk
Dr Dhafer MEZGHANI Page 1
IE5 FST 2020/2021
1. Conception de l’Unité Arithmétique et Logique sous Quartus
1.1. Conception d’une UAL élémentaire sous Quartus
L’UAL élémentaire proposée obéit à la table de fonctionnement suivante suivant ALU_op
Inv C0 S_Select fonction
x x 00 A and B
x x 01 A OR B
0 0 10 A plus B
1/ Rappeler la schématique de cette UAL
1 1 10 A moins B
x x 11 e3 élémentaire (Voir TP1)
2/Implémenter ce schéma déduit sous
environnement quartus sous le nom d’un projet « UAL_ele »
1.2. Conception d’une UAL à 8 bits sous Quartus
Une UAL à 8 bits est constitué de 8 UAL élémentaire en cascade suivant le schéma suivant
Dr Dhafer MEZGHANI Page 2
IE5 FST 2020/2021
Cette UAL à 8 bits dispose de trois drapeaux indiquant l’état de la retenue finale, le résultat
zéro et le débordement. Les signaux de contrôle ALU_ctr sont générés par l’unité de contrôle
1/Implémenter ce schéma sous environnement Quartus sous le nom d’un projet
« UAL_8bits » en faisant appel au symbole UAL_ele.
2. Conception de Banc de registres sous Quartus
Ce banc de registres contient:
– Des registres à chargement parallèle
– Un mécanisme pour les charger à partir d’un port d’entrée (Décodeur+And)
– Un mécanisme pour aiguiller leur valeur à des ports de sortie (Multiplixeurs)
Dr Dhafer MEZGHANI Page 3
IE5 FST 2020/2021
2.1. Conception schématique de registres à chargement parallèle
Les registres de notre processeur RISC est formé de 8 bascules D dont le chargement dépond
de la variable C au moment du front montant de l’horloge Clk. Le schéma bloc est donné
comme suit.
1/Implémenter ce schéma sous environnement Quartus sous le nom d’un projet
« Reg_para » en faisant appel aux symboles de la bascule D et multiplixeur prédéfinis dans
l’environnement.
2.2. Conception du Banc de registres à 8 bits
1/Implémenter le schéma de la figure …. Sous environnement Quartus sous le nom de projet
« Banc_reg_8bits » en utilisant le symbole « Reg_para ».
3. Conception de la mémoire de données
On veut concevoir la schématique suivante, sous environnement Quartus, d’une mémoire de
données à 8 bits d’adresse et un bus de données à 8 bits
1/Implémenter le schéma de la figure ci-dessus Sous environnement Quartus sous le nom de
projet « memoireRAM » de la mémoire de données.
4. Conception de l’unité de Contrôle
4.1. Encodage des instructions en mémoire
Pour l’encodage des instructions, nous supposons que :
– Encodage sur un seul mot de 16 bits: chaque instruction s’exécute en un seul
cycle.
Dr Dhafer MEZGHANI Page 4
IE5 FST 2020/2021
– Le mot d’instruction est divisé en 6 champs pour le type R et 4 champs pour le
type I
– Modes d’adressage limités conformément à la philosophie RISC.
Nous voulons implémenter le jeu d’instructions suivantes :
Add $2,$3,$4
Sub $3,$3,5F
Ori $1,$2,0F
Lw $2, 10($3)
Sw $1, 10($2)
1/déterminer le format d’instruction de chaque instruction Sachant que :
Pour les instructions de type R, code opératoire est 00, fonction 00 pour add, fonction 01
pour sub
Pour les instructions de type I, code opératoire de lw est 01 et code opératoire de sw est 10
et code opératoire 11 pour ori
2/Implémenter les formats en fichier Hexadécimal (Voir TP3) sous le nom tableau3.hex
3/Concevoir une mémoire d’instruction de type ROM en utilisant le symbole utilisé dans le
TP3 en faisant appel à ce fichier héxadécimal. Enregistrer le projet sous le nom
« memoireROM ». dont le bus d’adresse est générér d’un registre à 8 bits qui charge la
nouvelle valeur de PC=PC+1 ou PC=PC+1+imm8 suivant la valeur de NPC_sel
Dr Dhafer MEZGHANI Page 5
IE5 FST 2020/2021
4.2. Conception de l’Unité de Contrôle
1/ Proposer la logique câblée de cette unité de contrôle pour implémentation des
instructions citées précédemment
2/ Proposer une schématique de cette unité sous le nom « unite_controle »
Dr Dhafer MEZGHANI Page 6