You are on page 1of 31
’ Pay (ail MASTER EE/ST Travaux Dirigés /Pratiques- Description VHDL. Exercice:1 1) Donnez I’équation simplifiée de la sortie du circuit suivant en détaillant clairement la démarche suivie, 2) Proposer un code VHDL du circuit ci-dessus en utilisant une description Flot de donnés 3) Donner le code VHDL qui décrit le fonctionnement du circuit ci-dessus en utilisant Vinstruction d’assignation sélective <>. 4) Donner le code VHDL qui décrit le fonctionnement du circuit ci-dessus en utilisant une description Structurelle. Exercice :2 On souhaite réaliser un comparateur travaillant sur deux bits. II posséde deux entrées codées sur deux bits appelées A1A0 et B1B0 et 4 sorties : >» Eg=1Si A1A0=BI1B0. > Dif1 Si A1A0 + BIBO. > Inf=1 Si A1A0< B1B0. » Sup=1 Si A1A0> B1BO. 1- Donner la table de vérité du circuit. 2- Simplifier les équations logiques a I’aide des tableaux de Karnaugh. 3- Proposer un code VHDL décrivant ce comparateur. Exercice :3 On cherche & concevoir un décodeur pour piloter un afficheur 7 segments. La logique de décodage requiert 4 entrées BCD et 7 sorties, soit une pour chaque segment de Vafficheur, comme l'illustre la figure suivante : 1) Dresser la table e vérité du décodeur BCD/ 7 segments. Les sorties seront considérées indéterminées (x) pour les combinaisons d’entrée non valides. 2) A V'aide du tableau de Karnaugh déterminer les expressions simplifiées des sorties. 3) Proposer un code VHDL du circuit ci-dessus en utilisant une description Flot de donnés 4) Donner un Code VHDL décrivant le circuit ci-dessus en utilisant une description Comportementale. Pr A. MEZOUARI = FS KENITRA- Année Universitaire: 2022/2023 sae ‘ia Exercice 4 Fact des Selences Soit le circuit suivant : SEL w> 1. Donner une description VHDL (comportementale) du circuit ci-dessus 2. Donner une description VHDL (structurelle) du circuit ci-dessus en développant cing fichiers (.VHDL). Exercice 5 On souhaite écrire une description en VHDL décrivant le fonctionnement d'un comparateur non signé sur 4 bits entre deux nombre A et B comme le montre la figure suivante : Remarque : (Valeur 1 au travail, 0 au repos). A ‘suP compara INE it B 7 EGAL Donner la table de vérité du circuit ci-dessus. 2. Eerivez la description, en VHDL, correspondante en se basant sur les équations logiques 3. Ecrivez la description, en VHDL, correspondante en utilisant l'instruction conditionnelle «if ». Exerci ‘Donner une description structurelle du circuit ci-dessus : y Pr A. MEZOUARI = FS KENITRA- Année Universitaire: 2022/2023 Exercice 7 Cahier de charge 1: (Réalisation d’un demi-additionneur d’un bit) Il s‘agit de créer en VHDL une entité représentant un additionneur de deux données d'un bit pour satisfaire le tableau de vérité suivant : Entrées: ‘Sorties A noter : Il sagit d’un demi-additionneur, parce qu'il n’additionne pas la retenue du bit précédent. Question 1. Donner et Implémenter sur la carte FPGA le code VHDL correspond au demi- additionneur décrit ci-dessus. 2. En utilisant le résultat de la simulation (temporelle) complétez les chronogrammes de sorties s (Somme) et rs (retenue sortante) dans la Figure ci-dessous et confrontez-les, avec le tableau de vérité du demi-additionneur. So a en a a a Cahier de charge 2 : (Réalisation d’un additionneur complet fa (FA = Full Adder) sur un bit) Il s‘agit de créer en VHDL une entité représentant un additionneur complet sur un bit pour satisfaire le tableau de vérité suivant: A noter : Il s’agit d'un additionneur complet, parce qu’il additionne deux données d’entrée a et b (chacune d’une largeur d’un bit) plus la retenue du bit précédent (re). Il faut deux demi- additionneurs pour réaliser un additionneur complet. Pr A. MEZOUARI = FS KENITRA- Année Universitaire: 2022/2023 sok ii Question Feat des scenes 1, Créer en VHDL et implémenter sur la carte FPGA une entité correspond a un additionneur complet. 2. Simuler le projet pour les chronogrammes d’entrées présentés dans la Figure ci- dessous et complétez dans cette figure les signaux de sorties obtenus dans la simulation. 3. Proposez le schéma dun additionneur complet basé sur les demi-additionneurs. Ons 100ns —200ns_— 300s, 400s = 500s © 60D MS_—700ns «= 800s Cahier de charge 3 : (Realisation d’un additionneur complet sur 4 bits) Il s‘agit de créer en VHDL une entité représentant un additionneur complet sur 4 bits donné par le schéma de la Figure ci-dessous > bso: te 1. On'se basant sur la description structurelle, créer en VHDL et implémenter sur la carte FPGA une entité représentant I'additionneur décrit ci-dessus. Pr A. MEZOUARI = FS KENITRA- Année Universitaire: 2022/2023 v &P uN +| @ | pu 4 P Loy rere, sche 422 } Usk fe shy Aegic C4AA. Ul ' enkds Hex \s . tak (8,3,¢,D,6 2 ™ st Inoge 5 s: ot std_ lege) ; _ end Hur, arvnit hue Vol. ef Mu k siopawl ogy sy est) lege begin S, eh mer B 5 S$ ce Dd Ov nek (CY 5 z o S, amd ( sp wr E) 5 —_—_ — nt end VirdQ 5 library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity mux_block is Port (El : in STD_LOGIC; E2: in sTD LOGIC; E3 : in sTD LOGIC; E4: in stD_LoGIc; sel : in STD LOGIC VECTOR (1 downto 0); © + out sTD_Locic); end mux_block; architecture Behavioral of mux block is in process(E1, E2, E3, £4, sel) begin case sel is when ° when ° when ° when "11 ° when others => 0 <= '0'; end case; end process; ‘end Behavioral; library IEEE; use IEEE.STD_LOGIC - iRentity global is Port (A in in in in in out +I} amgaw Lend global; architecture Behavi |signal $1,52: std_l component mux_block A Port ( El : in E2: in £3: in E4: in sel : in © + out -end component; begin ircuitl: mux_block fc: circuit2: mux_block circuit3: mux_block ‘end Behavioral; 1164.ALL; STD_LOGIC STD_LOGIC STD_LOGIC STD_LOGIC STD_LOGIC; STD_LOGIC) + oral of global is ogics is STD_LOGIC; STD_LOGIC; STD_LOGIC; STD_LOGIC; STD_LOGIC_VECTOR (1 downto 0); stD_LOGIC); port map('1','0','0',"1', A&B, S1); port map('1','1','0',"1', C&D, 82); port map('0',E, '0',not E, $1&S2, 8); Lebranuy Aue § mye ge. std_ be VO enkity avo is Pore. aa Saane 3 Bam sk¥_Jehics com We_SeQe} » - a st) \a tye 5 gs: wr sti beyc)y nd BAS Arcli Cede VRDg a} dod Ss : 2S AA —— Eon one mor Vadlock Poat ( EA ew ghd_ oayr > e2 ° we sr Loe 3 EB im ot de lpoge j Et + om wLiege) dc ie #8. lage veh (4 dont); 0: we sto les) 3 and corm onen ty j 3% anol) SA, S23 std_ hance ) beam ec 4 : mika lock pot map (4 “0, 0 Ay ARB iS) 5 coca 2% muex_bfece york wap (14, ey, chy, Se)i wom 3 beck yak map (° 0! ie, oyna Sise, shi Qnd VHDL; u bens ‘he eit. se ene tL deg 64d, bl | enkty nex is tat (A,3,¢,D £ ? 2M std_ Joye 3 s: ot std_legc) ; S, € fp xmer B 3 Ss, & DM nok( ch: ag< § yy amd ( Ss, xn E) 5 Exercice:2 ( process (ft 18) On souhaite réaliser un comparateur travaillant sur deux bits. Il posséde deux entrées codées sur deux bits appelées A1A0 et B1B0 et 4 sorties): > Eg=1 Si A1A0=BI1BO. Arnckonodt mu coats. S BIB > Dif=1Si A1A0#B1B > Inf+1 Si A1A0 Sup=1SiA1A0>B1B0. (s: Arfe< @180 => P= °) 1- Donner la table de vérité du circuit. 2- Simplifier les équations logiques a l’aide des tableaux de Karnaugh 3- Proposer un code VHDL décrivant ce comparateur. (tmwmne C ) XS aclimmk: 3 we Exercice : 3 » Coo D a em! = e oe + | me é id \e — a F + 2 3 “pers ‘e \€ xl < . s '¢ PSs “T° [shea yl # PERERA eed 8 = [eellel|+]ef=/ ele [fo] -lefols &]=[-le[+[e[<[e[=]>[=[e[=[e]=[el- =[e[e[-{-fele[--felel|-lee El |e [els[=-[-=[<[e] lee eel 9 = ° /ALecun ke yap ay: eee ae ea OB, (Ae ie Fs e Ee : wp = A, @B, + o@ Bs rr Bie mehr heh | (22 fr . fy . Ba + ‘ +h B + AN A A © Bo Ao A\@B, +t Jox( = ~ WwW Be Bx a+ fo A eo By, XS e oS on 1 A AL AL sep \ eh | im Qa-( & pro: Oh + Pr: reo oud Pee Coe ac eee one pecs ca ene BrP Mesto Ce eg) erate ten eee Toes crea erent 33) Ean Sore 2 Pee) eat PECs een cee : Ces poems Exercice : 3 ide as a On cherche & concevoir un décodeur pour piloter un afficheur 7 segments. La logique de décodage requiert 4 entrées BCD et 7 sorties, soit une pour chaque segment de Yafficheur, comme I’illustre la figure suivante : sttichew 7 segnents . \ 5 FES f° Boo é b189 dtcakye & AL abc deh 9 A 7 aColleds Lorem e Mee ! Ma 1) Dresser la table e vérité du décodeur BCD/ 7 segments. Les sorties seront considérées our les combinaisons d’entrée non valides. 2) AYaide du tableau de Karnaugh déterminer les expressions simplifiées des sorties. 3) Proposer un code VHDL du circuit ci-dessus en utilisant une description Flot de donnés 4) Donner un Code VHDL décrivant le circuit ci-dessus en utilisant une dés¢ription’ ee ad N ( ) ) Pr A. MEZOUARI - FS KENITRA- Année Universitaire : 2022/2023 2 p——? Entrées du code BCD '2@34S678S © 8 Table de vérité ‘Sorties 4 A Entrées, 8 pile Nombre BCD Poo or 11 10 ol Tip x]o ot xx aT ufotxtxTo ofotxto F ARC 00 01 11 10, 00) af o Xx [0 x[L0 solo BT} @ “ie 001 1110 ‘op TE ° ot I CT ali xo solo Th IDM ee Peer atc et ees ey Poa See ee wee Pee insta a wet Oy ors eat tara ee ee) PROCESS (E) : Pac} racy Pe Terre ery Pc Taree eo Pettey et ete renee tay CUge re ectctey eee Tetra eee att oy eee ugrrrty cGerren orto E Ce een ererta ys Es Ene Cahier de charge 1: (Réalisation d’un demi-additionneur d’un bit) Il s’agit de créer en VHDL une entité représentant un additionneur de deux données d’un bit pour satisfaire le tableau de vérité suivant : Entrées Sorties | \ A noter : Il s’agit d’un demi-additionneur, parce qu’il n’additionne pas la retenue du bit précédent. fea PL ct Li bran IEEE; vse dace « StL Mraic 2A 6 MLL 5 Enbty domi - eA dTicnn Cun aS Peat ( a: ww sti beac 3 ‘ : be wn st) lex 5 Spek STA loop 5 ( ' ( ‘ Ys. oul sto_ De yc i 1 \ nd — dlomi- ad: bun ewe ; edn flak paky of domi aileanan is Araki BEGIN S é a NI L? 7 Me R wd b 5 Sdodt— pele | en ge Vou Seed Exercice 4 Faculté des Sciences Soit le circuit suivant : S1 sa :O ¥F $=X SEL - = Yer S\ wl = A ZF 2 Y X ‘ —)) > re ° la 1. Donner une description VHDL (comportementale) du circuit ci-dessus. 2. Donner une description VHDL (structurelle) du circuit ci-dessus en développant cing fichiers (. VHDL). = ex © Li breny nee; use gue. std. Logec An 6U> ALL) enh, exy ant ( A,B) gals 4 ey Weg st oof sta_ bc); od EX; adi tedwe var oh FAN 7% Sioned xy : sti loye bean veto wh A-8 oe vai (oe NS LR pee Ps preass ( 32) Bemyn -- Ww Yass cme sk vs; Vi when 0 ay SEXY whn Mi > sSeqe and Cor | end prbEBess ) dnd VhOR , Bae Sond! Bibvany see | west ue. sth lene — AN 64 ALL; enki an 4D os mor ( hy BoM ot dope es owk shh byt); en) emd2 ) pedni edtwrk VDRO brain Ce wh omd BS en) Vande, f che 2 S spicing? oh onde Ke Y Ache g* Xe es - a ) my ire De droge Angus ALLE, mse a: xr? ws ot ( A,Bem std_ ete» gy oat sth lege) i and And, A archi tecture V noe v4 ad bagi se km os my VP 7 Qi dn 4° ov! Di bron, due ust gt. std CL MOY. ALL I on ht prt 1 ; not ( hip = in o kde Pepe J > out st] Jet§c) j snl aby Acdkidwr VipR 9% Or2 ds beige Se oh A R; [ikea Lebron. jue , ash pur. ste bi: AA Ou vALL ow enh eee a a pot ( A,B) Sv am ct} woe ) » owt sfd_ leo); end pe “pedbstpedhwn. es: rT salle ay comepenton ond 2 14 mol (Ai Bim std lege} S: out sta. loan ) : end Lom ponent , Componel XN 1S an (hy, G sm ghd Lrepe S2 ot ra feorpe) 5 wd ae Common ONE ome ter kB: ant ct) Drone ; GS. st) : lvl) ; and itil” oe ron mee (Ae dnt st9 Ui bree. pee; seat jek ELBE NH OE ——_ Lamy Pa e A,B, dm ck) _ See D g . ont std_ leo) 7 end aber 5 “pedki pede yao XL valle © comport any 2 ie mor (ABI std, bye) se ont gtd bee) j eng tom ponent ), Comp onan XS mt (hy Bs mM gr)_ doe ; gs oot chi loee) 3 ond tompinon > Cgwwmo-n nt oe mol (pigs anh ot d_ drome * got gd dee) “opr woth 1S. mnt (As dnt st en port Cahier de charge 3: (Réalisation d'un additionneur complet sur 4 bits) I s‘agit de eréer en VHDL une entitéreprésentant un additionneur complet sur 4 bits donné par le schéma de la Figure ci-dessous : Composant adas 1, One basant sur la description structurelle, créer en VHDL et implémenter sur Ia carte FPGA une entité représentant 'additionneur décrit ci-dessus. fee V apis USE IEEE.STD_LOGIC_1164.ALL; cahier de charge 3 aaa acct eee ane a: IN STD_LOGIC_VECTOR (3 DOWNTO @); Cre MRC ele EMO LR) s : OUT STD_LOGIC_VECTOR (3 DOWNTO @); [Lemme echo ret_e : IN STD_LOGIC); re aC pian at et eee 3 (CNT a PLD Khoa AL OED COMPONENT full_add IS rota RE@ : IN STD_LOGIC; A@ : IN STD_LOGIC; B@ : IN STD_LOGIC; CC CULM ct Cody Ce aT Koco Foe oy U1 : full_add PORT MAP('®", a(@), b(@), ret_i(1), s(@)); U2 : full_add PORT MAP(ret_i(1), a(1), b(1), ret_i(2), s(1)); U3 : full_add PORT MAP(ret_i(2), a(2), b(2), ret_i(3), s(2)); U4 : full_add PORT MAP(ret_i(3), a(3), b(3), ret_s, s(3)); FRCL eter Ted ee apt (Tap Ln Rect Com C7 OPT eam e mete) Tame RE@ : IN STD_LOGIC; AQ : IN STD_LOGIC; B@ : IN STD_LOGIC; RS@ : OUT STD_LOGIC; S@ : OUT STD_LOGIC); renee A Cea NP ae OY BEGIN ea OO RS@ <= (A@ AND BQ) OR (RE@ AND(A@ XOR BO)); aR UCT pao

You might also like