Download vhdl cours PDF

Titlevhdl cours
TagsTechnology Computer Programming Computer Engineering Software Engineering Vhdl
File Size1.6 MB
Total Pages111
Table of Contents
                            Champs d’application du langage VHDL
	Introduction
	Flot de conception – Importance du VHDL
	Qu’est ce que le VHDL?
	Historique
VHDL : Un langage à instructions concurrentes
	Unités de conception
		Définition
		Exemple simple
	Instructions concurrentes
	Les signaux
		Signal avec un seul pilote
		Evènements
	Les processus
	Simulation événementielle
		Premier exemple: Génération d´horloge
		Deuxième exemple: Mémoire Set-Reset
	Affectation séquentielle des signaux
		Contexte
		Signal et Variable
		Illustration 1: différence dans les affectations
	Processus équivalents aux instructions concurren
		Affectation simple
		Affectation conditionnelle
		Affectation avec sélection
	Le délai Delta
	Description Structurelle
		Exemple d’école
			Première description de type structurelle
			Deuxième description de type structurelle
			Troisième description de type comportementale
		Configuration
			Objet
			Application
		Compilation
		Simplifications éventuelles
			Omission de la configuration
			Omission de la déclaration de COMPONENT
		Description du test
			Illustration
Les spécificités du langage
	Eléments lexicaux
		Identificateurs et Mots réservés
		Littéraux
		Agrégats
		Opérateurs prédéfinis
			Logiques
			Relationnels
			Arithmétiques
			Concaténation d´éléments de tableaux: &
	Types, Sous-types
		Scalaires
			Enumérés
			Entiers
			Flottants
			Physique
		Composites (Tableaux et enregistrement)
			Tableaux
			Enregistrements
		fichier
		Sous-Types
		Conversion de type
	Structures de contrôle
		IF...THEN...ELSIF...ELSE...END IF
		CASE ... IS...WHEN...
		LOOP...
		ASSERT
	Sous-programmes
		Procédures et fonctions
		Surcharge
	Blocs
		Blocs avec Ports
		Bloc avec condition de garde
			Exemple1: latch implicite
			Exemple2 : registre avec raz
	Généricité
		Exemple:Compteur générique
	Attributs
		Définition d´attributs
			Déclaration
			Spécification
		Attributs prédéfinis
			Attributs de type et de sous-types
				Type de base
				Bornes des types scalaires
				Conversion Valeur-Position
				Déplacement de position
			Attributs de tableau
				Bornes d’index de tableau
				Intervalle de variation d’index de tableau
			Attributs de signal
				Attribut signal
				Attribut fonction
		Attributs de bloc
	Fonctions de résolution
		Exemple1: NOR cablé
		Signal gardé
		Exemple2: Bus trois-états
	Les Bibliothèques
		Paquetages
			Exemple
		LIBRARY WORK
		LIBRARY STD
			Package standard
			Package textio
		LIBRARY IEEE
			Package std_logic_1164
			Package numeric_std
	Conclusions
		Conseils de méthode
		Instructions séquentielles
		Instructions concurrentes
Synthèse des circuits
	Le synthétiseur
	La cible technologique
		Asic et PLD
		Architectures
		Technologies
		Fabricants
	Saisie du code RTL
		Texte et graphique
		Style
		Principes
		Limitation du langage
	Circuits combinatoires
		Multiplexeurs, démultiplexeurs, décodeurs
			Multiplexeur 4 bits
			Décodeur binaire
		Circuits arithmétiques
			Représentations des nombres en virgule fixe
				Nombres non signés
				Nombres signés : complément à 2
			Additionneurs , soustracteurs,  décalages, compa
			Multiplication ou division par une puissance de 2
			Multiplication par une constante
			Multiplication d’entiers
			Division d’entiers non signés
	Conception synchrone
		Maîtriser les retards
		Définition du synchronisme
		Bascule (ou registre) D
		Bascule (ou registre) E
		Registre à décalages
		Les compteurs
			Compteur générique synchrone
			Compteur générique asynchrone
			Test du compteur générique
	Structuration d’un circuit synchrone
		Principe de la structuration par flot de données
		Séquencement
		Machines d’états finis
			Moore ou Mealy ?
			Implantation VHDL
				Description abstraite
				Description en un seul process :
		Multiplieur par additions et décalages
			Opérateurs :
			Séquenceur
			Sorties du séquenceur
	Evaluation des performances temporelles d’un syst
	Procédés de communication asynchrone
		Description VHDL
	Les Bus
		Bus unidirectionnel \(buffer trois-états\)
		BUS bidirectionnel ;
La modélisation
	Introduction
	Modélisation des retards
		Les moyens de pris en compte
		Transport ou inertiel ?
	Modèle de RAM
	Lecture de Fichier
	Les bibliothèques VITAL
		Niveaux de modélisation et conformité
		Les packages standards
			VITAL_Timing
			Vital_Primitives
			Vital_Memory
Bibliographie
                        
Document Text Contents
Page 56

Langage VHDL et conception de circuits P.N ENSEIRB

-- Result: Divides an UNSIGNED vector, L, by a non-negative INTEGER, R.
-- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH.

-- Id: A.24
function "/" (L: NATURAL; R: UNSIGNED) return UNSIGNED;
attribute builtin_subprogram of
"/"[NATURAL, UNSIGNED return UNSIGNED]: function is "numstd_div_nuu";
-- Result subtype: UNSIGNED(R'LENGTH-1 downto 0)
-- Result: Divides a non-negative INTEGER, L, by an UNSIGNED vector, R.
-- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH.

-- Id: A.25
function "/" (L: SIGNED; R: INTEGER) return SIGNED;
attribute builtin_subprogram of
"/"[SIGNED, INTEGER return SIGNED]: function is "numstd_div_sis";
-- Result subtype: SIGNED(L'LENGTH-1 downto 0)
-- Result: Divides a SIGNED vector, L, by an INTEGER, R.
-- If NO_OF_BITS(R) > L'LENGTH, result is truncated to L'LENGTH.

-- Id: A.26
function "/" (L: INTEGER; R: SIGNED) return SIGNED;
attribute builtin_subprogram of
"/"[INTEGER, SIGNED return SIGNED]: function is "numstd_div_iss";
-- Result subtype: SIGNED(R'LENGTH-1 downto 0)
-- Result: Divides an INTEGER, L, by a SIGNED vector, R.
-- If NO_OF_BITS(L) > R'LENGTH, result is truncated to R'LENGTH.

--
===========================================================================
=
--
-- NOTE: If second argument is zero for "rem" operator, a severity level
-- of ERROR is issued.

-- Id: A.27
function "rem" (L, R: UNSIGNED) return UNSIGNED;
attribute builtin_subprogram of
"REM"[UNSIGNED, UNSIGNED return UNSIGNED]: function is "numstd_rem_uuu";
-- Result subtype: UNSIGNED(R'LENGTH-1 downto 0)
-- Result: Computes "L rem R" where L and R are UNSIGNED vectors.

-- Id: A.28
function "rem" (L, R: SIGNED) return SIGNED;
attribute builtin_subprogram of
"REM"[SIGNED, SIGNED return SIGNED]: function is "numstd_rem_sss";
-- Result subtype: SIGNED(R'LENGTH-1 downto 0)
-- Result: Computes "L rem R" where L and R are SIGNED vectors.

-- Id: A.29
function "rem" (L: UNSIGNED; R: NATURAL) return UNSIGNED;

Page 52

Similer Documents