Synthèse VHDL [T8ES332M]

Synthèse VHDL [T8ES332M]

En pratique

Nature
Elément constitutif
Volume horaire de TP
40
Volume horaire de TD
10
Volume horaire de CM
8
Volume horaire de travail personnel
39
Langue d'enseignement
Français

Description du contenu de l'enseignement

Les objectifs de ce cours sont de donner les bases nécessaires sur le langage VHDL afin de pouvoir simuler et synthétiser à partir du niveau de transfert de registre (RTL) un circuit intégré ou un FPGA spécifique à une application.
Après une introduction générale sur les langages de description du matériel, le flot de conception et les modèles d'exécution utilisant les HDL sont présentés. Le reste du cours se concentre sur l'apprentissage du langage VHDL, avec d'abord quelques notions générales sur les abstractions, la simulation, la synthèse matérielle avant de présenter la syntaxe et la sémantique VHDL suivant les concepts la simulation de systèmes numériques pilotée par les événements. Le cours se termine par la présentation de la sémantique suivant le niveau RTL pour assurer la justesse par la conception de circuits synthétisés à partir de spécifications VHDL.
La partie en classe de ce cours est réalisée à l'aide de plusieurs exemples qui seront simulés et synthétisés pour illustrer les concepts théoriques. Nous utilisons Mentor Graphics ModelSim pour la simulation et Synopsys Design Compiler pour la synthèse. Au-delà de la partie en classe, ce cours comprend un laboratoire (6h) dédié à la synthèse logique de RTL, et un grand projet (32h) pour concevoir le code VHDL d'un système complet et le faire fonctionner sur une carte FPGA. Ce projet est mené en équipes de 4 à 5 étudiants pour imiter les équipes de conception réelles et pour apprendre à travailler dans un contexte de développement colla. Les exemples de systèmes utilisés dans les projets sont un oscilloscope numérique comprenant un accélérateur FFT, un émetteur/récepteur CDMA sans fil, un système de traitement audio en temps réel, un système de traitement d'images en temps réel, etc.

 

VHDL: a Hardware Description Language for Simulation and Logic Synthesis.
The objectives of this course are to give the necessary basics about the VHDL language to be able to simulate and synthesize from the Register-Transfer Level (RTL) an application-specific integrated circuit or an FPGA. After a general introduction on hardware description languages, the design flow and execution models using HDLs are presented. The rest of the course focuses on learning the VHDL language, with first some general notions on abstractions, simulation, hardware synthesis before to present VHDL syntax and semantics following event-driven simulation of digital systems. The course ends with the presentation of the semantics following the RT level to ensure correctness by design of circuits synthesized form VHDL.
The in-class part of this course is realized using several examples that will be simulated and synthesized to illustrate the theoretical concepts. We use Mentor Graphics ModelSim for simulation and Synopsys Design Compiler for synthesis. Beyond the in-class part, this course includes a lab dedicated to logic synthesis from RTL, and a large project to design the VHDL code for a full system and to run it on an FPGA board. This project is conducted in teams of 4 to 5 students to mimic real-life design teams and to learn how to work in a team context. Examples of systems that are used in the projects are a digital oscilloscope including an FFT accelerator, a wireless CDMA emitter/receiver, a real-time audio processing system, a real-time image processing system, etc.

Organisation

Modalités d'organisation et de suivi

  1. Introduction: Why HDLs?
  2. Design Flow and Tools
  3. Basic Language Concepts
  4. Signal and Delay Models
  5. Modeling Digital Systems
  6. Concurrent and Sequential Processes
    1. Process statement,
    2. process event behavior,
    3. signals vs. variables,
    4. timing behavior of processes
  7. Modeling Structures
    1. Structural models,
    2. generics,
    3. the Generate statement
  8. Simulation and Validation
    1. Concepts,
    2. writing testbenches,
    3. configurations
  9. RTL and Logic Synthesis
    1. Writing style for logic synthesis,
    2. combinational logic,
    3. sequential logic,
    4. RTL and
    5. logic synthesis CAD algorithms
  10. Fil Rouge Example: FIR filter

Informations pédagogiques

Compétences à acquérir

Ce cours donne les bases nécessaires en conception de circuits intégrés et l'utilisation de VHDL comme langage en vue de la simulation et de la synthèse dans le flot de conception numérique des ASIC ou des FPGA.
A la fin de ce module, l'étudiant doit être capable de

  • comprendre les principes de la simulation des systèmes numériques,
  • connaitre le langage VHDL et
  • connaitre les règles d'écritures de code VHDL en vue de la synthèse et savoir spécifier des blocs complexes.

Pré-requis recommandés

  • Logique Programmable (SNUM1)
  • Bases des Systèmes Numériques (SNUM1)
  • Architecture des machines (SNUM2)

 

Bibliographie, lectures recommandées

  • [Airiau90] VHDL : du langage à la modélisation R. Airiau, J.M. Berge, V. Olive et J. Rouillard, Presses polyt. et Univ. Romandes, 1990
  • [Airiau93] Circuit Synthesis with VHDL R. Airiau, J.M. Berge et V. Olive, Kluwer, 1993
  • [Kurup97] Logic Synthesis using Synopsys P. Kurup, T. Abbasi, Kluwer, 1997
  • [Rabaey96] Digital Integrated Circuits: a Design Perspective J. Rabaey, Prentice Hall, 1996
  • [Ott94] A Designer's guide to VHDL Synthesis D. Ott and T. Wilderotter, Kluwer, 1994
Dernière modification : mer, 06/01/2021 - 09:23