SEm/laboratoires/09 pipeline

From FSI
(Difference between revisions)
Jump to: navigation, search
(Compteur rapide)
(Compteur rapide)
 
Line 60: Line 60:
 
Ecrire l'architecture VHDL du compteur <code>pipelineCounter</code> et vérifier son bon fonctionnement.
 
Ecrire l'architecture VHDL du compteur <code>pipelineCounter</code> et vérifier son bon fonctionnement.
 
}}
 
}}
 +
 +
== Comparaison ==
 +
 +
Le compteur avec pipeline devrait en principe pouvoir fonctionner à plus haute vitesse
 +
qu'un compteur avec un additionneur combinatoire, à propagation de report.
 +
 +
{{TaskBox|content=
 +
Effectuer la synthèse du compteur avec les deux variantes de l'additionneur et comparer les vitesses de fonctionnement.
 +
}}
 +
 +
Avec la sélection de l'additionneur combinatoire (architecture <code>noPipe</code>),
 +
le fonctionnement ne serait pas correct,
 +
mais le but ici est uniquement de comparer les vitesses de fonctionnement.
  
 
{{navNamed
 
{{navNamed

Latest revision as of 09:00, 2 May 2022

Contents

Additionneur rapide

Introduction

Dans ce laboratoire, nous allons reprendre un additionneur rapide utilisant la technique du "pipeline".

Additionneur combinatoire

L'additionneur rapide se basera sur la mise en série d'additionneurs plus petits.


View-pim-tasks.png

Ouvrir le banc de test de l'additionneur combinatoire parallelAdder_tb, écrire l'architecture VHDL de l'additionneur parallelAdder et vérifier le bon fonctionnement du tout.

Additionneur itératif

L'additionneur rapide utilisera un ensemble d'additionneurs combinatoires. Cet additionneur est réalisé dans un premier temps dans le but de comprendre la manière de décrire un circuit en VHDL en instanciant des composants à l'aide de boucles.

Additionneur itératif


View-pim-tasks.png

Dans la librairie pipelinedOperators, définir l'architecture noPipe comme architecture par défaut du bloc pipelineAdder.

L'architecture noPipe, mise à disposition, donne un exemple de description VHDL d'un système itératif par le placement de composants à l'aide d'une boucle for … generate.


View-pim-tasks.png

Ouvrir le banc de test de l'additionneur combinatoire pipelineAdder_tb et vérifier le bon fonctionnement de l'additionneur.

Additionneur rapide

L'additionneur rapide se fait en insérant des bascules entre les additionneurs combinatoires.

Additionneur pipeline


View-pim-tasks.png

Dans la librairie pipelinedOperators, définir l'architecture studentVersion comme architecture par défaut du bloc pipelineAdder.


View-pim-tasks.png

Ecrire l'architecture VHDL de l'additionneur pipelineAdder et vérifier le bon fonctionnement de l'additionneur.

Compteur rapide

L'additioneur rapide est capable de fournir une nouvelle somme à chaque période d'horloge. Il lui faut cependant un certain nombre de périodes d'horloge avant de fournir le résultat de la somme.


View-pim-tasks.png

Ecrire l'architecture VHDL du compteur pipelineCounter et vérifier son bon fonctionnement.

Comparaison

Le compteur avec pipeline devrait en principe pouvoir fonctionner à plus haute vitesse qu'un compteur avec un additionneur combinatoire, à propagation de report.


View-pim-tasks.png

Effectuer la synthèse du compteur avec les deux variantes de l'additionneur et comparer les vitesses de fonctionnement.

Avec la sélection de l'additionneur combinatoire (architecture noPipe), le fonctionnement ne serait pas correct, mais le but ici est uniquement de comparer les vitesses de fonctionnement.


Navigation
Arrow left.gif 08 Réalisation d'un SoC AMBA Arrow up.gif Travaux de laboratoire - Arrow right.gif

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox