Transcription of Introduction à la Synthèse logique V.H.D.L.
1 Introduction la Synth se e Julliot de la Morandi re GRANVILLE 2001 Philippe LECARDONNEL & Philippe LETENNEURSOMMAIREI) Introduction .. 2II) RELATION ENTRE UNE DESCRIPTION VHDL ET LES CIRCUITS LOGIQUESPROGRAMMABLES.. ) SCH MA FONCTIONNEL D IMPLANTATION DE DESCRIPTIONS VHDL DANS UN CIRCUIT LOGIQUEPROGRAMMABLE.. ) L AFFECTATION DES BROCHES D ENTR ES SORTIES.. ) ORGANISATION FONCTIONNELLE DE D VELOPPEMENT D UN PLD.. 4 III) STRUCTURE D UNE DESCRIPTION VHDL SIMPLE.. ) D CLARATION DES BIBLIOTH QUES.. ) D CLARATION DE L ENTIT ET DES ENTR ES / SORTIES (I/O).. ) Le NOM_DU_SIGNAL.. ) Le SENS du signal.. ) Le ) Affectation des num ros de broches en utilisant des attributs suppl mentaires: .. ) Exemples de description d entit s:.. ) D CLARATION DE L ARCHITECTURE CORRESPONDANTE L ENTIT :DESCRIPTION DU 10IV) LES INSTRUCTIONS DE BASE (MODE CONCURRENT ), ) LES OP RATEURS.
2 L affectation simple : <= .. ) Op rateur de concat nation : &.. ) Op rateurs ) Op rateurs arithm tiques.. ) Op rateurs ) LES INSTRUCTIONS DU MODE CONCURRENT .. ) Affectation conditionnelle : .. ) Affectation s lective : .. 18V) LES INSTRUCTIONS DU MODE S ) D FINITION D UN PROCESS.. ) LES DEUX PRINCIPALES STRUCTURES UTILIS ES DANS UN PROCESS.. ) EXEMPLES DE PROCESS :.. ) LES COMPTEURS : .. ) Compteur simple : .. ) Compteur mise un SET et mise z ro RESET :.. ) Compteur 3 bits avec remise z ro ) Compteur 3 bits avec remise z ro ) Compteur / D compteur entr e de pr chargement : .. ) Les erreurs classiques avec l utilisation de process : .. ) Compteur BCD deux digits : .. 34VI) SYNTAXE R SUM E DU LANGAGE VHDL.. 35 Introduction la Synth se logique - GRANVILLE 2I) avoir cr un langage de description de structures lectroniques ( Description language) VHDL ?
3 L abr viation VHDL signifie VHSIC Hardware Description Language (VHSIC : VeryHigh Speed Integrated Circuit). Ce langage a t crit dans les ann es 70 pour r aliser lasimulation de circuits lectroniques. On l a ensuite tendu en lui rajoutant des extensionspour permettre la conception (synth se) de circuits logiques programmables ( Pro-grammable Logic Device).Auparavant pour d crire le fonctionnement d un circuit lectronique programmableles techniciens et les ing nieurs utilisaient des langages de bas niveau (ABEL, PALASM,ORCAD/PLD,..) ou plus simplement un outil de saisie de sch la densit de fonctions logiques (portes et bascules) int gr e dans lesPLDs est telle (plusieurs milliers de portes voire millions de portes) qu il n est plus possibled utiliser les outils d hier pour d velopper les circuits d aujourd soci t s de d veloppement et les ing nieurs ont voulu s affranchir des contrain-tes technologiques des circuits.
4 Ils ont donc cr des langages dits de haut niveau savoirVHDL et VERILOG. Ces deux langages font abstraction des contraintes technologies descircuits permettent au code crit d tre portable, c est dire qu une description crite pourun circuit peut tre facilement utilis e pour un autre faut avoir l esprit que ces langages dits de haut niveau permettent de mat rialiserles structures lectroniques d un effet les instructions crites dans ces langages se traduisent par une configura-tion logique de portes et de bascules qui est int gr e l int rieur des circuits PLDs. C estpour cela que je pr f re parler de description VHDL ou VERILOG que de ce polycopi , je m int resserai seulement VHDL et aux fonctionnalit s debase de celui-ci lors des phases de conception ou synth se (c est dire la conception dePLDs).
5 Introduction la Synth se logique - GRANVILLE 3II) Relation entre une description VHDL et les circuits logiques crire le fonctionnement d un circuit logique programmable c est bien, mais com-ment faire le lien avec la structure de celui-ci ?L implantation d une ou de plusieurs descriptions VHDL dans un PLD va d pendrede l affectation que l on fera des broches d entr es / sorties et des structures de base ducircuit logique ) Sch ma fonctionnel d implantation de descriptions VHDL dans un circuit N 1 BLOCVHDL N 5 SynchroBLOCVHDL N 2 BLOCVHDL N 3 BLOCVHDL N 4E1E2E3E4 (CLK)S1S2S3S4Ci-dessus le sch ma repr sente un exemple d implantation de descriptions VHDL oude blocs fonctionnels implant s dans un PLD. Lors de la phase de synth se chaque blocsera mat rialis par des portes et/ou des bascules. La phase suivante sera d implanter lesportes et les bascules l int rieur du circuit t che sera r alis e par le logiciel placement/routage ( Fitter ), au cours delaquelle les entr es et sorties seront affect es des num ros de peut remarquer sur le sch ma la fonction particuli re du bloc VHDL N 5.
6 En effetdans la description fonctionnelle d un PLD on a souvent besoin d une fonction qui sert cadencer le fonctionnement de l ensemble, celle-ci est tr s souvent r alis e par une ma-chine d tats synchronis e par une ) L affectation des broches d entr es peut se faire de plusieurs mani res :1) L affectation laisse le synth tiseur et le Fitter du fabriquant ( Fondeur : Xilinx, Lattice, Al-t ra, ) du circuit implanter la structure correspondant la descriptionVHDL. Les num ros de broches seront choisis de fa on ) L affectation d finit les num ros de broches dans la description VHDL ou sur un sch ma blocd finissant les liaisons entre les diff rents blocs VHDL ou dans un fichier texte pro-pre au fondeur. Les num ros de broches seront affect s suivant les consignes don-n es. (voir page N 8). Introduction la Synth se logique - GRANVILLE 4 Entr e sch matique Entr e syntaxique langages: - VHDL Diagrammes d tats V rification des erreurs de sch ma et de syntaxe S imulation comportementale VHDL VHDL VHDL STIMULI ou TESTBENCH SYNTHETISEUR Il convertit en fonction du ciruit cible (CPLD ou FPGA: suivant le mod le choisit) le projet en portes logiques et bascules de bases.
7 De plus on peut lui sp cifier des contraintes de technologies, par exemple la vitesse de fonctionnement S imulation apr s synth se STIMULI ou TESTBENCH Optimisation Placement / routage dans le circuit choisi S imulation temporelle STIMULI ou TESTBENCH SYNTHETISEURS CONNUS: - FPGA Expres (Synosys). - EXEMPLAR (Exemplar). - SYNPLICITY (Synplicity). Outils de placement et routage interne au circuit. Cet outil est propre chaque fabriquant VHDL EDIF, XNF JEDEC VITAL, VHDL, SDF VITAL, VHDL CIRCUIT FPGA CPLD La programmation du circuit peut se faire soit: - En utilisant un programmateur. - En t l chargement le code JEDEC directement sur l objet technique (JTAG ou ISP) ) Organisation fonctionnelle de d veloppement d un IEEE;use ; ;entity CNT_4B is port ( CLK: in STD_LOGIC; RESET: in STD_LOGIC; ENABLE: in STD_LOGIC; FULL: out STD_LOGIC; Q: out STD_LOGIC_VECTOR(3 downto 0)VE RT1U32 INV12Q3U38 AND412345U26 NAND212367Q0AU20 NAND3123476DU19 INV123U17OB111277U35OB1112U24OB1112U10IB 11125U29 INV12Q1 DORANGE2 COMPTEURCOMPTEURPCLKQ0Q1Q2Q3CU23OB1112C7 8U22 NAND2123126DU25 NAND2123 ORANGE1DU30OB1112 BABU18OB1112 CAU27 NAND212313U36OB1112U15OB1112BU28 INV12U16OB1112 ROUGE2 CBVE RT211D4 ROUGE1U31OB1112Q2U21 NAND2123BU37 AND412345 CLKCSTART='1'START='0'RESET='1'END_CYCLE OPEN_GATEIDLEGATE <= '0';END_RESET <= '0';GATE <= '0';END_RESET <= '0';GATE <= '1';END_RESET <= '0';GATE <= '1';END_RESET <= '0';GATE <= '0'.
8 END_RESET <= '1';GATE <= '0';END_RESET <= '1';START='0'START='1' Introduction la Synth se logique - GRANVILLE 5 III) Structure d une description VHDL description VHDL est compos e de 2 parties indissociables savoir :- L entit (ENTITY), elle d finit les entr es et L architecture (ARCHITECTURE), elle contient les instructions VHDL permettantde r aliser le fonctionnement : Un d codeur 1 parmi ieee;Use ;Use ;-- d codeur-- Un parmi quatreentity DECOD1_4 isport(IN0, IN1: in std_logic; D0, D1, D2, D3: out std_logic);end DECOD1_4;architecture DESCRIPTION of DECOD1_4 isbeginD0 <= (not(IN1) and not(IN0));D1 <= (not(IN1) and IN0);D2 <= (IN1 and not(IN0));D3 <= (IN1 and IN0);end DESCRIPTION;D claration des biblioth quesCommentaires, en VHDL ils commencent par - -D claration de l entit du d codeurCorrespondance sch matiqueD claration de l architecture du d codeurCorrespondance sch matiqueDECOD1_4 DECOD1_4IN0IN1D0D1D2D3D0D1U2 AND2123U6 AND2123IN1D2U5 AND2123U4 AND2123U3 INV12U1 INV12IN0D3 Introduction la Synth se logique - GRANVILLE ) D claration des biblioth description VHDL utilis e pour la synth se a besoin de biblioth ques.
9 L IEEE(Institut of Electrical and Electronics Engineers) les a normalis es et plus particuli rement labiblioth que IEEE1164. Elles contiennent les d finitions des types de signaux lectroni-ques, des fonctions et sous programmes permettant de r aliser des op rations arithm ti-ques et logiques ,..Library ieee;Use ;Use ;Use ;-- cette derni re biblioth que est souvent utilis e pour l criture de compteursLa directive Use permet de s lectionner les biblioth ques ) D claration de l entit et des entr es / sorties (I/O).Elle permet de d finir le NOM de la description VHDL ainsi que les entr es et sortiesutilis es, l instruction qui les d finit c est port :Syntaxe:entity NOM_DE_L_ENTITE isport ( Description des signaux d entr es /sorties ..);end NOM_DE_L_ENTITE;Exemple :entity SEQUENCEMENT isport (CLOCK: in std_logic;RESET: in std_logic;Q: out std_logic_vector(1 downto 0) );end SEQUENCEMENT;Remarque : Apr s la derni re d finition de signal de l instruction port il ne faut ja-mais mettre de point la Synth se logique - GRANVILLE 7L instruction port.
10 Syntaxe:NOM_DU_SIGNAL: sens type;Exemple:CLOCK: instd_logic;BUS: outstd_logic_vector (7 downto 0);On doit d finir pour chaque signal : le NOM_DU_SIGNAL, le sens et le ) Le est compos de caract res, le premier caract re doit tre une lettre, sa longueurest quelconque, mais elle ne doit pas d passer une ligne de code. VHDL n est passensible la casse , c est dire qu il ne fait pas la distinction entre les majusculeset les ) Le SENS du in: pour un signal en entr out: pour un signal en inout : pour un signal en entr e sortie- buffer: pour un signal en sortie mais utilis comme entr e dans la ) Le TYPE utilis pour les signaux d entr es / sorties est :- le std_logic pour un le std_logic_vector pour un bus compos de plusieurs exemple un bus bidirectionnel de 5 bits s crira :LATCH : inout std_logic_vector (4 downto 0).