Synthèse ASIC
(page d'accueil)
[ Exercice 1
Incrémenteur
]
[ Exercice 2
Style
]
[ Exercice 3
Synthétisabilité
]
[ Exercice 4
Echangeur
]
[ Exercice 5
Maximum
]
[ Exercice 6
AES
]

Recherche de maximum

1. Spécification du module de recherche de maximum

Etant donnés 2n nombres, le problème est de trouver leur maximum. Les contraintes sont habituelles : à la fois le temps de calcul et la surface d'implémentation doivent être minimisées.

2. Architecture "à gros grain"

Dans cette architecture, l'arbre est généré à partir des capacités de datapath du synthétiseur logique pks_shell. Les sources sont disponibles dans le répertoire src suivant.

3. Architecture "à petit grain"

Cette architecture est optimisée par bit-slice "manuellement". On définit l'algorithme de comparaison "MSB en tête" suivant : Une implantation possible de cet algorithme consiste à adjoindre deux signaux, DetA et DetB à a et b. Ces signaux portent la signification suivante : La table de vérité du résultat si et des propagateurs de supériorité Det{A,B}i est donnée dans la figure suivante.
DetAi DetBi ai bi DetAi-1 DetBi-1 si
0 0 0 0 0 0 0
0 0 0 1 1 0 1
0 0 1 0 0 1 1
0 0 1 1 0 0 1
1 0 X X 1 0 A
0 1 X X 0 1 B
En déduire l'écriture en VHDL du module de comparaison MSB en tête. Quelle architecture est-t-elle la meilleure ? La présentation des résultats est disponible dans : max.ppt ou max.pdf.