INF3500 – Hiver 2017 Exercices #1 – Introduction 0101 Vue d’ensemble 1. Nommez les quatre niveaux d’abstraction des systèmes numériques. Identifiez, dans votre programme d’études de baccalauréat, les cours qui se rapportent à chacun des quatre niveaux. 2. Énumérer et décrire les quatre considérations principales pour l’implémentation d’un système numérique. Expliquez l’effet de doubler la précision des calculs, par exemple en les faisant passer de 16 à 32 bits, sur les trois autres considérations d’implémentation d’un système numérique. 3. Considérez le problème de la conception du système numérique contrôlant un téléviseur à haute définition. Énumérez les entrées et les sorties. Proposez une décomposition de ce système en modules et faites un partitionnement initial logiciel-matériel. Pour chaque module, justifiez brièvement votre choix entre une implémentation en logiciel (L) et une implémentation en matériel (M). 0102 Options d’implémentation 4. Vous travaillez pour la compagnie Chips’r’Us sur un système embarqué d’analyse automatisée d’images provenant d’une caméra montée dans un cockpit d’un A-320. Votre patron vous demande de l’aider à déterminer s’il faut viser une implémentation en logique fixe ou sur FPGA. Vous estimez le temps de conception à 6 mois pour 3 ingénieurs, à $100K/an. Les licences d’outils coûtent $5K/an/poste. Les frais de la fonderie s’élèvent à $275K pour les 50 premières puces, puis $100/puce pour les 250 suivantes, puis $10/puce pour les 500 suivantes, puis $1/puce ensuite. La fonderie demande un délai de 10 semaines avant la livraison. Le FPGA le moins cher qui accommoderait le design coûte $750 et peut être livré dans 4 semaines. Les frais de production dans les deux cas sont de $20/puce, et les frais de distribution sont estimés à $25/puce. Que dites-vous à votre patron? 5. On est en juillet 2017. Vous travaillez chez FPGA Solutions Consultants Inc. Tous les employés, sauf vous et la présidente, sont partis en vacances. La présidente vient de recevoir un appel d’un client qui veut implémenter un nouveau produit : un système de vision artificielle pour une voiture autonome. Un prototype est fonctionnel, et le client veut maintenant procéder à un premier déploiement dans 500 voitures en pré-production. Le système doit traiter des données provenant de plusieurs caméras, pour un débit total de 750 × 106 résultats par seconde. On peut l’implémenter avec un processeur unique qui produit un résultat par cycle d’horloge. Ce processeur occupe l’équivalent de 3500 blocs logiques, et sa fréquence maximale dépend de la technologie utilisée. Il est possible d’instancier plusieurs processeurs en parallèle pour multiplier le débit. Cependant, il est essentiel que tout le système puisse être implémenté sur une seule puce. La présidente vous demande de l’aider à choisir parmi trois technologies dont les données de comparaison sont présentées au tableau suivant. Laquelle des trois technologies privilégiez-vous? Énoncez clairement toutes les suppositions raisonnables que vous faites et montrez tous vos calculs. Technologie A. Logique fixe B. FPGA moyenne gamme C. FPGA bas de gamme Polytechnique Montréal $875 000 $24 Fréquence d’horloge maximale 2.00 GHz $12 000 $1 350 0.50 GHz 7 500 $12 000 $49 0.25 GHz 1 750 Frais fixes de développement Coût par puce page 1/7 Ressources de calcul (blocs logiques) Max. 25 000 Département de génie informatique et génie logiciel INF 3500 : Conception et réalisation de systèmes numériques 0103 Flot de conception 6. Réponses brèves : a. Quelles contraintes peuvent guider l’outil de synthèse dans son travail? b. Quelles métriques peuvent être obtenues concernant un design après l’étape d’implémentation? c. Quelle est la différence entre la simulation d’un module avant la synthèse, après la synthèse et après l’implémentation? 0104 Introduction à VHDL 7. Donnez les neuf valeurs du type std_logic de VHDL ainsi qu’un schéma d’un circuit électrique montrant leur signification physique. 8. Donnez le code VHDL synthétisable pour un circuit numérique qui calcule le carré d’un nombre entier positif A exprimé sur 4 bits. La sortie S = A2 doit être un nombre entier positif exprimé sur 8 bits. Polytechnique Montréal page 2/7 Département de génie informatique et génie logiciel