Top Banner

of 65

Proiectarea Sist Electronice Ghid Lab P 2 DS

Feb 11, 2018

Download

Documents

Lucia Morari
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    1/65

    UNIVERSITATEA TEHNIC A MOLDOVEI

    PROIECTAREA SISTEMELOR ELECTRONICE

    Ghid pentru lucrri de laboratorPartea II

    Chiinu2015

    tally signed byary TUM

    ason: I attest to theuracy and integrityhis document

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    2/65

    1

    UNIVERSITATEA TEHNIC A MOLDOVEI

    FACULTATEA INGINERIE I MANAGEMENT

    N ELECTRONIC I TELECOMUNICAIICATEDRA SISTEME IDISPOZITIVE ELECTRONICE

    PROIECTAREA SISTEMELOR ELECTRONICE

    Ghid pentru lucrri de laborator

    Partea II

    Chiinu

    Editura Tehnica-UTM2015

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    3/65

    2

    Acest ghid pentru lucrri de laborator este destinat pentruobinerea abilitilor la efectuarea proiectelor n sistemele deproiectare Quartus IIi Eclipse. Proiectarea se efectueaz n bazamicrocircuitelor cu logica programabil prin intermediullimbajului VHDLi n editorul Schematic.

    Lucrrile de laborator prezente sunt destinate consolidriicunotinelor n domeniul proiectrii dispozitivelor digitale, iarefectuarea lucrrilor n baza plachetelor de depnare (kit-urilor)este destinat aprofundrii cunotinelor practice n acest domeniu.

    Ghidul este recomandat studenilor, masteranzilor idoctoranzilor de profil i reflect tendinele contemporane de

    proiectare a sistemelor electronice n baza dispozitivelor cu logicaprogramabil.

    Autori: lector univ. S. Gricovlector asist. D. Lazr

    Recenzent: conf. univ., dr. P. Nistiriuc

    Redactor: E. Gheorghiteanu

    Bun de tipar19.06.15 Formatul hrtiei 60x84 1/16Hrtie ofset. Tipar RISO Tirajul 30 ex.Coli de tipar 4,0 Comanda nr.65

    2004, UTM, Chiinu, bd. tefan cel Marei Sfnt, 168

    Editura Tehnica-UTM2068,Chiinu, str. Studenilor, 9/9

    UTM, 2015

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    4/65

    3

    Lucrarea de laborator nr. 1

    Sinteza schemelor combinaionale

    Scopul lucrrii const n studierea metodelor de sintezacircuitelor combinaionale i sinteza schemei logice n bazasarcinii (vezi sarcinile la sfritul acestei lucrri de laborator) nsistemul de proiectare Quartus II n Schematic i n bazalimbajului VHDL, precum i efectuarea simulrii n timp iconfigurareaFPGA.

    De exemplu o s lumn considerare funciaprezentatmai

    jos:32132321 xxxxxxxxy (1.1)

    n baza acestei ecuaii putem realiza funcia y, folosindelementele logice I, SAU i Negaie. n rezultat se vaobine circuitulprezentat nfig. 1.1.

    Fig. 1.1. Schema dispozitivului indicat n sarcin

    n dispozitivele reale, la realizarea oricrei funcii logice,preventiv se efectueaz minimizarea pentru reducerea resurselorhardware (dac este posibil). Pentru efectuarea minimizrii estenecesar s cunoatem teoremele din algebra boolean. Teoremelefundamentale ale algebrei booleene sunt prezentate mai jos:

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    5/65

    4

    De asemenea, diagramele Carnaugh ne pot ajuta i laminimizarea funciei date. Minimizarea cu ajutorul diagramelorCarnaugh va fi analizat n continuare.

    Efectuarea acestei lucrri de laborator const din

    urmtoarele puncte:1.1.Primul pas este transformarea funciei date n FNDD

    (forma normal disjunctiv desvrit) sau n FNCD (formnormal conjunctiv desvrit). Vom folosi FNDD. Exemplultransformriifunciei date nFNDD este prezentat mai jos:

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    6/65

    5

    FNDD reprezint o ecuaie boolean n care toate termeleau aceeai lungime (sub term se subneleg elementele ecuaieiseparate prin semnul disjunciei, de exemplu:x1x2x3).

    1.2.Apoi alctuim un tabel (tab. 1.1).Tabelul 1.1. Diagrama Carnaugh

    x1x2

    x3

    00 01 11 10

    0 1

    1 1 1 1

    Valorile vecinex1x2din tabel trebuie s difere numai cu osingur valoare, adic 00 i 11 nu pot fi amplasate alturi,deoarece valorile attx1, ctix2 sunt diferite. Termele n tabel potfi mprite pe x1 i x2x3. Dac ntr-un term vor fi mai multe

    elemente, atunci ele vor fi grupate ctedou:x1x2i x3x4. n tabeleste introdus valoarea "1" n cazul n care un term n formaFNDD al funciei date coincide cu valoarea din tabel (de exemplu,termul x1x2x3 corespunde valorilor x1 = 1 i x2x3 = 11). Dup cetoate termele vor fi incluse n tabel, termele adiacente se combin.Ultimele terme din stnga i dreapta sunt considerate adiacente(aceleai condiii vor fi pentru ultimele terme din partea de sus ide jos n cazul, cnd rndurile din tabel vor fi mai multe dect

    dou). Termele combinate pot fi de asemenea combinate n cazuln careacestea sunt adiacente.

    1.3.nrezultat obinem dou terme:

    ;2131 xxxxy

    Observm c ecuaia original (1.1) a fost redus, ceea ceva economisi resursele hardware pentru implementarea

    dispozitivului. n rezultat putem sinteza schema reprezentat nfig. 1.2.

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    7/65

    6

    Fig. 1.2. Schema dispozitivului dup minimizare

    1.4. Trecem la realizarea proiectului n sistemul deproiectare Quartus II n mediul Schematic. Crem un proiect nou(vezi p. 1.1 partea 1). n rezultat obinem un circuit, reprezentat nfig. 1.3.

    Fig. 1.3. Schema dispozitivului n Schematic

    1.5.Efectum compilarea proiectului i trecem la simularealui (vezi p. 1.2, partea 1). n rezultat obinem diagrama de timp,prezentatn fig. 1.4.

    Fig. 1.4. Simularea funcionrii dispozitivului

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    8/65

    7

    1.6. Apoi efectum configurarea FPGA-lui de pe kit-ul(vezi p. 1.3, partea 1). Kit-ul cu proiectul ataat i conectat estedemonstrat n fig. 1.5.

    Fig. 1.5.Kit-ul cu proiectul ataat i conectat

    Urmtorul pas este crearea proiectului folosind limbajulVHDL. Efectum aceiai pai ca i n cazul proiectrii n mediulSchematic:

    1.7.Crem un proiect nou.1.8.Efectumsimularea lui.1.9.ConfigurmFPGA.

    Descrierea lingvistic a proiectului poate s reducn maremsur durata proiectrii. Dispozitivul poate fi descris prin codulreprezentat mai jos:

    LIBRARY ieee;

    USE ieee.std_logic_1164.all;

    ENTITY LogicVHDL IS

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    9/65

    8

    PORT

    (

    x1 : in std_logic;

    x2 : in std_logic;

    x3 : in std_logic;

    y : out std_logic

    ); END LogicVHDL;

    -- Architecture Body

    ARCHITECTURE Logic_architecture OF LogicVHDL IS

    BEGIN

    y

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    10/65

    9

    crea un proiect mixt n sistemul Quartus II. De exemplu, putemaduga un bloc n editorul schematic i s-i descriem funcionareafolosind limbajul VHDL. n lucrrile de laborator ulterioare vomlucra doar cu descrierea proiectelor cu ajutorul limbajului VHDL.

    Cerinele ctre lucrarea de laborator nr. 1 (coninutulraportului):

    1) S seprezinte schema construit n sistemulQuartus II.2) S seprezinte diagramaRTLa proiectului compilat.3) S se demonstreze diagramele de simulare n timp n

    QSim.4) S se prezintecodul proiectului n limbajul VHDL.5) S se prezinte diagrama RTL a proiectului compilat (n

    VHDL).

    6) S se prezinte exemplul funcionriiproiectului pe kit(nraport s fie artat fereastra de configurare a FPGA-ului).

    7) S se prezinte concluziile corespunztoare.

    ntrebri de control:

    1. Care sunt metodele minimizrii funciilor logice?2. Ce reprezintFNDD i cum putem s-o obinem?3. Explicai principiul realizrii diagramelorCarnaugh.4. Comparai metodele de proiectare n mediul Schematici

    cu ajutorul limbajului VHDL.5. Ce demonstreazdiagramaRTL?6. De ce este necesar a efectua simularea n timp a unui

    proiect?

    7. Ce avantaje areFPGAfa de alte microcircuite digitale?

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    11/65

    10

    Variantele sarcinii pentru lucrarea de laborator nr. 1:

    variantei Sarcina

    1 432132143214321 xxxxxxxxxxxxxxxy 2

    432143213214321 xxxxxxxxxxxxxxxy

    3432132143214321 xxxxxxxxxxxxxxxy

    4432143213214321 xxxxxxxxxxxxxxxy

    5432132143214321 xxxxxxxxxxxxxxxy

    64321432143214321 xxxxxxxxxxxxxxxxy

    74321432143214321 xxxxxxxxxxxxxxxxy

    84321432143214321 xxxxxxxxxxxxxxxxy

    94321432143214321 xxxxxxxxxxxxxxxxy

    10421432143214321 xxxxxxxxxxxxxxxy

    11432143214321421

    xxxxxxxxxxxxxxxy

    12432143214314321 xxxxxxxxxxxxxxxy

    13432143214321321 xxxxxxxxxxxxxxxy

    14432143214321432 xxxxxxxxxxxxxxxy

    15432143243214321 xxxxxxxxxxxxxxxy

    16432432143214321 xxxxxxxxxxxxxxxy

    17432143143214321 xxxxxxxxxxxxxxxy

    18432142143214321 xxxxxxxxxxxxxxxy

    19432143214324321 xxxxxxxxxxxxxxxy

    20432143143214321 xxxxxxxxxxxxxxxy

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    12/65

    11

    Lucrarea de laborator nr. 2

    Implementarea bistabilelor i registrelor

    Scopul lucrrii constn studierea metodelor de sintezabistabilelor i registrelor i n sinteza bistabilului dat i registruluidat (vezi sarcinile la sfritul acestei lucrri de laborator) nsistemul de proiectare Quartus II cu ajutorul limbajului VHDL,

    precum iefectuarea simulrii n timp i configurareaFPGA.

    Vom lua n considerare un exemplu de realizare abistabilului i registrului, prezentate n fig. 2.1.

    ) b)

    Fig. 2.1. Bistabilul () i registrul (b) dup sarcin

    Funcionarea bistabilului dat este prezentat n tab. 2.1.

    Tabelul 2.1. Tabelul de adevral bistabilului

    R C D Q

    1 x x 00 0 0

    0 1 1

    n baza datelor din tab. 2.1 se vede c intrarea R esteintrarea de resetare a bistabilului n 0. Cnd impulsurile se aplicla linia de tactare C, valoarea ieirii Q depinde de valoarea

    semnalului la intrareaD. n alte moduri bistabilul se afl n modulde stocare (atunci cnd valoarea la intrarea R este 0). n baza

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    13/65

    12

    acestui bistabil se realizeaz i registrul (fig. 2.1, b). Datele nregistru se nscriu secvenial prin intrarea D i pot fi citite de laieiri paralele Q0Q3. Intrarea Ceste utilizat pentru deplasareadatelor (cnd se face trecerea la Cdin 0 n 1), dar intrareaRpentru resetarea ieirilor registrului n 0000.

    Efectuarea acestei lucrri de laborator const dinurmtoarele puncte:

    2.1. Trecem la crearea proiectului (vezi p. 1.1,partea 1).

    Primul proiect o s-l numim Trigg. Putem descrie proiectulfolosind codul urmtor:

    LIBRARY ieee;

    USE ieee.std_logic_1164.all;

    ENTITY Trigg IS

    PORT

    (

    R_Tg : in std_logic;

    C_Tg : in std_logic;BTN : in std_logic;

    D_Tg : in std_logic;

    Q_Tg : out std_logic

    ); END Trigg;

    -- Architecture Body

    ARCHITECTURE Trigg_architecture OF Trigg IS

    signal T : integer range 0 to 11000000;

    signal BTN_Out : std_logic;

    BEGIN

    Process (BTN_Out, R_Tg, D_Tg)modulul de descriere

    Begin -- a bistabilului

    if R_Tg = '1' thenQ_Tg

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    14/65

    13

    elsif rising_edge (BTN_Out) then

    Q_Tg

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    15/65

    14

    aplicate la intrarea bistabilului (se conecteaz la comutatoareleSW), Q_Tgvalorile citite de la ieirea bistabilului (se conecteazla LED-uri). n lucrrile de laborator configurarea intrrilor iieirilor poate s nu coincid cu exemplul prezentat. Tactareabistabilului se efectueaz prin apsarea butonului, care seconecteaz la intrareaBTN. Dar acest semnal nu poate fi aplicat laintrarea tactrii bistabilului, pentru c n momentul apsriibutonului apar nite zgomote (impulsuri parazitare), astfel estenecesar s fie introdus reinerea de timp ~ 0,25ms (pentru tiereaacestor impulsuri parazitare) descrise n BTN_Press iBTN_Press1. De asemenea, n proiect este inclus modululprocess,

    care descrie comportamentul (funcionarea) bistabilului.2.2. n rezultatul proiectrii obinem diagrama RTL,

    reprezentat n fig. 2.2, n care este alocat bistabilul sintetizat.

    Fig. 2.2. DiagramaRTLa bistabilului sintetizat

    2.3. Dup efectuarea cu succes a compilrii proiectului,trecem la procesul simulrii acestuia (vezi p. 1.2,partea 1). nrezultat obinem diagrama de timp, prezentat n fig. 2.3(simularea este efectuat fr linie BTN, se are n vedere c

    impulsurile de tactare se aplic la intrarea bistabilului nu de laBTN_Out, darde la C_Tg).

    Fig. 2.3. Simularea corectitudinii funcionrii bistabilului

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    16/65

    15

    2.4. Apoi efectum configurarea FPGA de pe bordul kit-ului (vezi p. 1.3,partea 1). nbaza bistabilului sintetizat trecem lasinteza registrului, care este prezentat n fig. 2.1,b.

    2.5.Vom crea un proiect nou, care se numeteReg. Astfel,modulul cu acelai nume (ENTITY)Regva fi acceptat automat decompilator ca un modul principal. Putem s descriem proiectulfolosind codul urmtor:

    LIBRARY ieee;

    USE ieee.std_logic_1164.all;

    ENTITY Trigg ISPORT

    (

    R_Tg : in std_logic;

    C_Tg : in std_logic;

    D_Tg : in std_logic;

    Q_Tg : out std_logic

    ); END Trigg;-- Architecture Body

    ARCHITECTURE Trigg_architecture OF Trigg IS

    BEGIN

    Process (C_Tg, R_Tg, D_Tg)

    beginif R_Tg = '1' then

    Q_Tg

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    17/65

    16

    -------------------------------------------

    LIBRARY ieee;

    USE ieee.std_logic_1164.all;

    ENTITY Reg IS

    PORT

    (

    R : in std_logic;

    C : in std_logic;

    BTN : in std_logic;D : in std_logic;

    Q : buffer std_logic_vector (3 downto 0)

    ); END Reg;

    -- Architecture Body

    ARCHITECTURE Reg_architecture OF Reg IS

    COMPONENT Trigg IsPORT

    (R_Tg : in std_logic;

    C_Tg : in std_logic;

    D_Tg : in std_logic;

    Q_Tg : out std_logic

    ); END COMPONENT;

    signal T : integer range 0 to 11000000;signal BTN_Out : std_logic;

    BEGIN

    --////////// Reinerea de timp pentru butonul ///////////////

    BTN_Press:process (R,BTN)

    begin

    if (R = '1' or T = 10000000) then

    BTN_Out

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    18/65

    17

    BTN_Out Q(0));

    end generate Trigg0_3;

    Trigg1_3: if i>0 generate

    Reg1: Trigg port map (C_Tg=>BTN_OUT,

    R_Tg=>R, D_Tg=>Q(i-1), Q_Tg=>Q(i));

    end generate Trigg1_3;end generate Trigg0_3;

    END Reg_architecture;

    n codul prezentat mai susENTITY Triggdeja a fost descrisn prima parte a lucrrii de laborator. Modulul principal ENTITYRegdescrie intrrile i ieirile proiectului, este intrarea de tactare(se conecteaz la generatorul de cuar),Rintrarea de resetare (se

    conecteaz la comutatorul SW), BTN butonul pentru tactarearegistrului (se conecteaz la un buton), D datele aplicate la

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    19/65

    18

    intrarea registrului (se conecteaz la comutatoarele SW), Q valorile citite de la ieirea registrului (se conecteaz la LED-uri).La lucrrile de laborator configurarea intrrilor i ieirilor poate snu coincid cu exemplul prezentat. SemnalulBTN_Outeste ieireala care apar impulsurile de tactare i care se conecteaz laintrareade tactare a registrului. Pentru a exclude zgomotul care apare de la

    buton, se folosesc dou module: BTN_Press i BTN_Press1. Deasemenea, proiectul include modulul process, care descrie

    comportamentul (funcionarea) registrului, care este creat n bazacomponentei conectate COMPONENT Trigg.

    2.6. n rezultatul proiectrii obinem diagrama RTL,

    prezentatn fig. 2.4.

    Fig. 2.4. DiagramaRTLa registrului sintetizat

    2.7. Dup efectuarea compilrii cu succes a proiectuluitrecem la procesul simulrii lui (vezi p. 1.2,partea 1). n rezultatobinem diagrama de timp, prezentat n fig. 2.5 (simularea esteefectuat fr linieBTN, se are n vedere cimpulsurile de tactarese aplic la intrarea bistabilului nu de la BTN_Out, dar de la

    C_Tg).

    Fig. 2.5. Simularea corectitudinii funcionrii registrului

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    20/65

    19

    2.8. Apoi efectum configurarea FPGA de pe bordul kit-ului (vezi p. 1.3,partea 1).

    nbaza acestui exemplu poate fi implementat orice bistabil,iar n baza acestui bistabil este convenabil a realiza registre deorice configuraie.

    Cerinele ctre lucrarea de laborator nr.2 (coninutulraportului):

    1) S se prezinte codul proiectului n limbajul VHDL(pentrubistabil).

    2) S se prezinte diagrama RTL a proiectului compilat(pentru bistabil).3) S se demonstreze diagramele de simulare n timp n

    QSim(pentru bistabil).

    4) S se prezinte codul proiectului n limbajul VHDL(pentruregistru).

    5) S se prezinte diagrama RTL a proiectului compilat(pentru registru).

    6) S se demonstreze diagramele de simulare n timp nQSim(pentru registru).

    7) S se prezinte exemplul funcionrii proiectului pe kit (nraport s se aratefereastra de configurare aFPGA-ului).

    8) S se prezinte concluziile corespunztoare.

    ntrebri de control:

    1. Enumerai tipuri de bistabile cunoscute.2. Desenai i explicai tabelele de funcionare a bistabilelorJK,RS,Di T.

    3. Enumerai tipurile de registre cunoscute i explicaiparticularitile acestora.

    4. Dai exemple de utilizare a operatorului if n VHDL. Cescheme pot fi sintetizate n baza acestui operator?

    5. Dai exemple de utilizare a operatoruluigenericn VHDL.

    Ce scheme pot fi sintetizate nbaza acestui operator?

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    21/65

    20

    Variantele sarcinii pentru lucrarea de laborator nr. 2:

    1: 2: 3: 4:

    5: 6: 7: 8:

    1b: 2b: 3b: 4b:

    5b: 6b: 7b: 8b:

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    22/65

    21

    Lucrarea de laborator nr. 3

    Sinteza contoarelor i sumatoarelor

    Scopul lucrrii const n studierea metodelor de sintezasumatoarelor i contoarelor i n sinteza sumatorului i contoruluidat (vezi sarcinile la sfritul acestei lucrri de laborator) nsistemul de proiectare Quartus II cu ajutorul limbajului VHDL,

    precum i efectuarea simulrii n timp i configurareaFPGA.

    Contorul reprezint un dispozitiv digital, care la fiecare tactde impulsuri de intrare de la generator crete starea sa cu o valoare.

    n general, contorul se sintetizeaz n baza bistabilelor Tconectaten serie (fig. 3.1, a). Aceste bistabile sunt de numrare, adic laschimbarea valorii la intrarea Cdin 0 n 1 (sau invers), stareade ieire a bistabilului se va inversa. La a doua intrare abistabilului, de asemenea, se va produce schimbarea din 0 n 1,dar de 2 ori mai rar dect la intrarea primului bistabil. Astfel, dacvom urmri schimbarea strii la ieirile ambelor bistabile vomvedea c strile se schimb n felul urmtor: 0, 1, 2 i 3 n

    sistemul binar prin aplicarea impulsurilor la intrarea bistabilelor,adic obinem un contor.

    a) b)Fig. 3.1. Schema contorului secvenial (a) i paralel (b)

    Dezavantajul acestui circuit const n aceea c valoareaultimului bistabil va aprea atunci cnd se vor schimba strile latoate bistabilele care se aflpn la acest ultim bistabil. Astfel,rapiditatea comutrii contorului este dirijat de timpul sumar de

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    23/65

    22

    comutare a tuturor bistabilelor. Acest dezavantaj poate fi evitat ncazul n care bistabilele vor fi conectate n paralel (fig. 3.1, b). nacest caz, se adaug un circuit combinational (n cazul nostruS1)la toate bistabilele cu excepia primului, pentru a se calcula n cemoment trebuie s-i schimbe valoarea fiecare bistabil.Dezavantajul acestei structuri const n complexitatea fiecreistructuri a circuitului combinaional Sicare, pentru fiecare bistabilulterior, este mai complicat dect cea anterioar. Acest lucrunseamn c, pentru realizarea contorului paralel sunt necesaremult mai multe resurse hardware n comparaie cu cel secvenial.

    De asemenea, contorul poate fi prezentat ca un sumator

    (acumulator), care i adaug o unitate la rezultatul su. Acestsumator poate fi reprezentat schematic n modul urmtor(fig. 3.2).

    Fig. 3.2. Schema contorului n baza sumatorului

    Aceast soluie schemotehnic permite realizarea unuicontor paralel cu o cantitate minim de resurse hardware, mai alesatunci cnd este necesar a sintetiza un contor cu o lungime maimare a cuvntului de ieire (de 10 i mai muli bii). n acest caz,avem nevoie de un registru pentru stocarea rezultatului i unsumator care adaug la rezultat o unitate. Deseori sumatoarele suntrealizate n baza a dou semisumatoare. Semisumatorul poate fi

    sintetizat n baza elementelor logice aa cum este artat n fig. 3.3.

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    24/65

    23

    a) b)Fig. 3.3. Schema semisumatorului (a) i sumatorului (b)

    Tabelul de adevr pentru semisumator este reprezentat ntab. 3.1 stnga, iar pentru sumator n partea dreapta tabelului.

    Tabelul 3.1. Tabelul de adevr al semisumatoruluii sumatorului

    A B S P A B Pi S Pi+1

    0 0 0 0 0 0 0 0 0

    0 1 1 0 0 0 1 1 01 0 1 0 0 1 0 1 0

    1 1 0 1 0 1 1 1 0

    1 0 0 0 1

    1 0 1 0 1

    1 1 0 0 1

    1 1 1 1 1

    Dup analizareaprincipiilor de funcionare a contoarelor isumatoarelor putem trece la sintetizarea lor n baza limbajuluiVHDL.

    Efectuarea acestei lucrri de laborator const dinurmtoarele puncte:

    3.1. Crem n sistemul QUARTUS II un proiect nou.Sintetizm sumatorul numerelorAiBcu lungime de cuvnt de 4bii a fiecrui numr. Pentru realizarea acestui proiect vom avea

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    25/65

    24

    nevoie de efectuarea conversiei de tipuri a datelor, care va fi luatn considerare n codul proiectului.

    LIBRARY ieee;

    USE ieee.std_logic_1164.all;

    USE ieee.numeric_std.all;

    ENTITY Adder IS

    PORT

    (

    A : in std_logic_vector (3 downto 0);

    Sum : out std_logic_vector (4 downto 0);

    Sub : out std_logic_vector (4 downto 0)); END Adder;

    -- Architecture Body

    ARCHITECTURE Adder_architecture OF Adder IS

    signal B : std_logic_vector (3 downto 0);

    signal Ai : integer range 0 to 2**4-1;

    signal Bi : integer range 0 to 2**4-1;signal Sumi : integer range 0 to 2**5-1;

    signal Subi : integer range -2**4-1 to 2**4-1;

    BEGIN

    B(3 downto 0)

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    26/65

    25

    Nano) conin doar 4 switch-uri, numrulAse introduce cu ajutorulswitch-urilor, iar numrul B se introduce n program. Sum rezultatul nsumrii celor dou numere (se conecteaz laLED-uri),Sub rezultatul scderii B din A (se conecteaz la LED-uri). Lalucrrile de laborator configurarea intrrilor i ieirilor poate s nucoincid cu exemplul prezentat. SemnalulBTN_Outeste ieirea lacare apar impulsuri de tactare i care se conecteaz la intrarea detactare a registrului. Pentru a exclude zgomotul care apare, la

    apsarea unui buton se folosesc dou module: BTN_Press iBTN_Press1. n proiect se utilizeaz funcii de conversie atipurilor de date: to_integer(unsigned (A)) pentru trecerea de la

    std_logic_vector la integer, unde valoarea de tipstd_logic_vector, i std_logic_vector(to_unsigned(Sumi, 5)) seutilizeaz pentru trecerea de la tipul integer la tipulstd_logic_vector, unde Sumi valoarea de tip integer, 5 indicdimensiunea semnalului obinut de tipstd_logic_vector.

    3.2. n rezultatul proiectrii obinem diagrama RTL,prezentatn fig. 3.4.

    Fig. 3.4. DiagramaRTLa sumatorului sintetizat

    3.3. Dup efectuarea compilrii cu succes a proiectului,trecem la procesul de simulare al acestui proiect (vezi p. 1.2,partea

    1). n rezultat obinem diagrama de timp, prezentat n fig. 3.5.

    Simularea a fost efectuat pentru cazul cnd semnalele A i Breprezint semnale de intrare n proiectulAdder.

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    27/65

    26

    Fig. 3.5. Simularea corectitudinii funcionrii sumatorului

    n fig. 3.5 acelai rezultat este prezentat n formzecimal(unsigned decimalpentru variabile frsemn, isigned decimalpentru variabilele cu semn) i binar (binary). Formatul datelor(la intrri i ieiri) este specificat n determinarea semnalelor deintrare n simulator (evideniem o intrare sau o ieire, de exemplu:A, facem un click pe dreapta i n fereastra care va apreaselectmRadixformatul variabilei).

    3.4. Apoi efectum configurarea FPGA de pe bordul kit-

    ului (vezi p. 1.3,partea 1).

    3.5.O s trecem la crearea unui contor de 8-bii. Crem unproiect nou. Putem s descriem contorul, folosind codul urmtor:

    LIBRARY ieee;

    USE ieee.std_logic_1164.all;

    USE ieee.numeric_std.all;

    ENTITY Counter IS

    PORT(

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    28/65

    27

    R : in std_logic;

    C : in std_logic;

    BTN : in std_logic;

    Q : out std_logic_vector (7 downto 0)

    ); END Counter;

    -- Architecture Body

    ARCHITECTURE Counter_architecture OF Counter IS

    signal T : integer range 0 to 2**8-1;

    signal BTN_Out : std_logic;

    signal T1 : integer range 0 to 11000000;

    BEGIN

    Process (BTN_Out, R) -- modulul descrierii contoruluibegin

    if R = '1' then

    Q

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    29/65

    28

    T1

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    30/65

    29

    a)

    b)

    Fig. 3.6. DiagramaRTLa contorului sintetizat fr modululBTN_Press(a) i cu acesta (b)

    Fig. 3.7. Simularea corectitudinii funcionrii contorului

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    31/65

    30

    3.8. Apoi efectum configurarea FPGA de pe bordul kit-ului (vezi p. 1.3,partea 1).

    n baza simulrii corectitudinii funcionrii contorului se

    vede c procesul de numrare se efectueaz corect. n ce formvafi prezentat rezultatul simulrii (zecimal, binar, sau altele),proiectantul alege de sine stttor.

    Cerinele ctre lucrarea de laborator nr. 3 (coninutulraportului):

    1) S se prezinte codul proiectului n limbajul VHDL(pentru

    sumator).2) S se prezinte diagrama RTL a proiectului compilat(pentru sumator).

    3) S se demonstreze diagramele de simulare n timp nQSim(pentru sumator).

    4) S se prezinte codul proiectului n limbajul VHDL(pentrucontor).

    5) S se prezinte diagrama RTL a proiectului compilat

    (pentru contor).6) S se demonstreze diagramele de simulare n timp n

    QSim(pentru contor).

    7) S se prezinte exemplul funcionrii proiectului pe kit(nraport s se aratefereastra de configurare aFPGA-ului).

    8) S se tragconcluziile corespunztoare.

    ntrebri de control:

    1. Cte tipuri de contoare dup structur exist? Care suntparticularitile fiecrui tip?

    2. Sintetizai circuitul semisumatorului i explicaiprincipiile de funcionare ale acestuia.

    3. Sintetizai circuitul sumatorului i explicai principiile defuncionare ale acestuia.

    4. Cum se efectueaz o conversie de tipuri a datelor nVHDL?

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    32/65

    31

    Variantele sarcinii pentru lucrarea de laborator nr. 3:

    1: 2: 3: 4:

    5: 6: 7: 8:

    1b: 2b: 3b: 4b:

    5b: 6b: 7b: 8b:

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    33/65

    32

    Lucrarea de laborator nr. 4

    Sinteza unui automat finit

    Scopul lucrrii const n studierea metodelor de sintezaautomatelor finite i n sinteza automatului Mealy (vezi sarcinile lasfritul acestei lucrri de laborator) n sistemul de proiectareQuartus II cu ajutorul limbajului VHDL, precum i efectuareasimulrii n timp i configurareaFPGA.

    La elaborarea sistemelor digitale adesea apare necesitatea

    de sintez a unei uniti de comand care va putea efectuacontrolul unui sistem anumit. Astfel, unitatea de comand trebuie

    s genereze nite impulsuri de control pentru module diverse ntr-oordine strict determinat de algoritmul de control. n mai multecazuri, un algoritm de control este definit cu un graf (fig. 4.1).

    Fig. 4.1. Exemplul unui graf

    Graful G[Z, T] reprezint un sistem format din noduri Z,care sunt unite cu muchii T. Dac muchiile au direcii, ele suntnumite arcuri, iar graful este un graf orientat. n fig. 4.1 Z0 - Z4sunt nodurile grafului, iar sgeile care unesc nodurilearcuri. Deasemenea, algoritmul de control poate fi definit n forma unui tabel

    (tab. 4.1), sau ntr-o form de diagrambloc, care este prezentatn fig. 4.2.

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    34/65

    33

    T1

    X1=1

    ?

    T2, T3 T2

    X2=1

    ?

    T2

    T3

    Z0

    Z1

    Z2

    Z4

    Z3

    + -

    -+

    Fig. 4.2. Definirea algoritmului de control cu o diagram bloc

    n baza grafului prezentat mai sus (tabelul sau diagramabloc) poate fi sintetizato unitate de comand, care altfel poate finumit ca automat finit. Un automat finit poate fi descris cuecuaia urmtoare:

    unde:Io mulime a simbolurilor de intrare (alfabet);So mulime de stri ale automatului;S0strile iniiale ale automatului;funcie de tranziie;Ffuncie de ieire.

    Metodele cunoscute de sintez ale automatelor finite suntsinteza automatelor Mealy i Moore. Ele sunt definite de

    urmtoarele ecuaii:

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    35/65

    34

    )).(),(()1(

    ));(),(()1({

    tztatw

    tztata

    (4.2)

    )).(()1(

    ));(),(()1(

    { tatw

    tztata

    (4.3)

    unde: zalfabetul de intrare;wstrile de ieire;astrile interne;funcie de tranziie;funcie de ieire.

    Dup cum se vede din (4.2) automatul Mealy depinde destarea curent a automatului i de alfabetul de intrare, darautomatul Moore (4.3) depinde numai de starea curent aautomatului, adic automatul Moore nu depinde n mod explicit dealfabetul de intrare.

    Automatul finit poate fi definit i n forma unui tabel.Acelai automat finit, care este definit ntr-un graf din fig. 4.1poate fi definit n tab. 4.1.

    Tabelul 4.1. Funcii de tranziii i de ieiri ale automatului finit

    X1X2

    Z0 Z1 Z2 Z3 Z4

    0 0 Z2 / T2 Z3 / T2 Z4 / T3 Z0 / T1 Z3 / T2

    0 1 Z2 / T2 Z3 / T2 Z3 / T2 Z0 / T1 Z3 / T2

    1 0 Z1 / T2T3 Z3 / T2 Z4 / T3 Z0 / T1 Z3 / T2

    1 1 Z1 / T2T3 Z3 / T2 Z3 / T2 Z0 / T1 Z3 / T2

    Graful (fig. 4.1) descrie funcionarea automatului Mealy.Celulele din tabel arat la ce stare are loc trecerea din starea Zi,pentru toate valorile de intrare posibile X1 i X2, precum i cesemnale de control Tsunt generate n fiecare caz.

    Efectuarea acestei lucrri de laborator const dinurmtoarele puncte:

    4.1.Vom sinteza automatul finit (fig. 4.1). n primul rndvom codifica strileZ0Z4(tab. 4.2).

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    36/65

    35

    Tabelul 4.2. Codificarea strilorZ0Z4

    Z0 000

    Z1 001Z2 010

    Z3 011

    Z4 100

    4.2. Urmtorul pas const n completarea tabelului de

    tranziie, care descrie trecerea din starea curent n cea ulterioar(tab. 4.3).

    Tabelul 4.3. Tabelul de tranziie al automatului finit

    Stareainiial

    Condiiiletranziiilor

    Strileulterioare

    Semnalelede control

    Semnalelede ieire

    Q0Q2 D0 D1 D2 T1 T2 T3

    Z0 1x Z1 001 0 0 1 1 1

    1x Z2 010 0 1 0 1

    Z1 Z3 011 0 1 1 1

    Z22x Z3 011 0 1 1 1

    2x Z4 100 1 0 0 1

    Z3 Z0 000 0 0 0 1

    Z4 Z3 011 0 1 1 1

    n tab.4.3 n prima coloni, sunt enumerate toate strileautomatului finit. n a doua coloni sunt nscrise aciunile deintrare. n a treia coloni sunt prezentate toate tranziiile posibile

    lund n considerare aciunile de intrare. Pentru pstrarea strilorautomatului avem nevoie de elementele memoriei. Cele mai

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    37/65

    36

    simple elemente ale memoriei sunt bistabilele. n acest caz vomaplica bistabileleD. Atunci, urmtoarele stari ale automatului finit(valorile Q0Q2din tab. 4.3) vor fi definite de valori la intrrileD0D2, care n cazul nostru vor fi aceleai ca i la Q0Q2. nultima coloni prin 1 sunt indicate cazurile, cnd la ieirilecorespunztoare trebuie s apar un semnal.

    4.3. n baza tab. 4.3 putem alctui ecuaii pentrudeterminarea semnalelor de intrare a bistabilelor D0 D2 isemnalele de ieire ale automatului finit T0T2.

    )Ecuaiile pentru semnalele de intrare ale bistabilelor:;220 xZD

    ;4221101 ZxZZxZD .4221102 ZxZZxZD

    b)Ecuaiile pentru semnalele de ieire:;31 ZT

    ;42210422110102 ZxZZZZxZZxZxZT .22103 xZxZT

    nbaza acestor ecuaii putem asambla schema automatuluiMealy (fig. 4.3).

    Fig. 4.3. Circuitul sintetizat al automatului Mealy

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    38/65

    37

    Dup alctuirea ecuaiilor este necesar a efectuaminimizarea care va permite a reduce resursele hardware necesare

    pentru realizarea automatului finit. Semnalele Z se formeaz ncircuit conform codificrii strilordin tab. 4.2.

    4.4. Crem n sistemul QUARTUS II un proiect nou. nbaza VHDLrealizm schema automatului Mealy sintetizat.

    LIBRARY ieee;

    USE ieee.std_logic_1164.all;

    ENTITY Mealy IS

    PORT(

    C : in std_logic;

    BTN : in std_logic;

    R : in std_logic;

    X1,X2 : in std_logic;

    T1, T2, T3 : out std_logic); END Mealy;

    -- Architecture BodyARCHITECTURE Mealy_architecture OF Mealy IS

    signal Z0, Z1, Z2, Z3, Z4 : std_logic;

    signal D0, D1, D2 : std_logic;

    signal Q0, Q1, Q2 : std_logic;

    signal BTN_Out : std_logic;

    signal T : integer range 0 to 11000000;

    BEGINprocess (R,BTN_Out)

    begin

    if R = '1' then

    Q0

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    39/65

    38

    begin

    if R = '1' then

    Q1

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    40/65

    39

    end process BTN_Press;

    BTN_Press1:process (R,C,BTN)

    begin

    if R = '1' then

    T

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    41/65

    40

    4.5. n rezultatul proiectrii obinem diagrama RTL,prezentatn fig. 3.22.

    a)

    b)

    Fig. 3.22. Diagrama RTL a automatului sintetizat fr modululBTN_Press (a) i cu el (b)

    4.6. Dup efectuarea compilrii cu succes a proiectului,trecem la procesul simulrii lui (vezi p. 1.2,partea 1). n rezultatobinem diagrama de timp, prezentatn fig. 4.5.

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    42/65

    41

    Fig. 4.5. Simularea corectitudinii funcionrii automatului finit

    4.7. Apoi efectum configurarea FPGA de pe bordul kit-ului (vezi p. 1.3,partea 1).

    Cerinele ctre lucrarea de laborator nr. 4 (coninutulraportului):

    1) S se prezinte graful automatului Mealy n baza tabeluluide tranziii i de ieiriprezentate n sarcin(sau invers).

    2) S se sintetizeze automatul Mealy n baza tabelului detranziii i de ieiriprezentat n lucrarea dat.

    3) S se prezinte codul proiectului n limbajul VHDL.4) S se prezinte diagramaRTL a proiectului compilat.5) S se demonstreze n QSim diagramele de simulare n

    timp.

    6) S se prezinte exemplul funcionrii proiectului pe kit (nraport sse aratefereastra de configurare aFPGA-ului).

    7) S se tragconcluziile corespunztoare.

    ntrebri de control:1. Care este diferena ntre automatele Mealy i Moore?2. Care sunt modurile de prezentare a sarcinii automatelor

    finite? Aducei exemple pentru fiecare mod.3. Enumerai i explicai etapele de sintez ale automatului

    Mealy.

    4. Desenai un exemplu de graf i dai definiiile de baz din

    teoria grafurilor?

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    43/65

    42

    Variantele sarcinii pentru lucrarea de laborator nr. 4:

    Varianta 1:

    X1X2

    Z0 Z1 Z2 Z3 Z4

    0 0 Z2 / T3 Z3 / T1 Z4 / T2 Z0 / T3 Z0 / T1

    0 1 Z2 / T3 Z4 / T3 Z4 / T2 Z0 / T3 Z0 / T1

    1 0 Z1 / T2 Z3 / T1 Z4 / T2 Z0 / T3 Z0 / T1

    1 1 Z1 / T2 Z4 / T3 Z4 / T2 Z0 / T3 Z0 / T1

    Varianta 2:

    X1X2Z0 Z1 Z2 Z3 Z4

    0 0 Z1 / T1 Z2 / T3 Z4 / T1 Z4 / T3 Z0 / T2

    0 1 Z1 / T1 Z2 / T3 Z4 / T1 Z0 / T1 Z0 / T2

    1 0 Z1 / T1 Z2 / T3 Z3 / T2 Z4 / T1 Z0 / T2

    1 1 Z1 / T1 Z2 / T3 Z3 / T2 Z0 / T3 Z0 / T2

    Varianta 3:

    X1X2

    Z0 Z1 Z2 Z3 Z4

    0 0 Z1 / T1 Z3 / T3 Z2 / - Z4 / T2 Z0 / T3

    0 1 Z1 / T1 Z3 / T3 Z4 / T1 Z4 / T2 Z0 / T3

    1 0 Z1 / T1 Z2 / T2 Z2 / - Z4 / T2 Z0 / T3

    1 1 Z1 / T1 Z2 / T2 Z4 / T1 Z4 / T2 Z0 / T3

    Varianta 4:

    X1X2

    Z0 Z1 Z2 Z3 Z4

    0 0 Z1 / T2 Z3 / T3 Z4 / T2 Z4 / T1 Z0 / T3

    0 1 Z1 / T2 Z3 / T3 Z4 / T2 Z4 / T1 Z4 / -

    1 0 Z1 / T2 Z2 / T1 Z4 / T2 Z4 / T1 Z0 / T3

    1 1 Z1 / T2 Z2 / T1 Z4 / T2 Z4 / T1 Z4 / -

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    44/65

    43

    Varianta 5: Varianta 6:

    Varianta 7: Varianta 8:

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    45/65

    44

    Lucrarea de laborator nr. 5

    nscrierea, pstrarea i citirea datelor din memoriaoperativ (RAM)

    Scopul lucrrii const n studierea principiilor defuncionare aRAMi n sintezablocului de memorie dup sarcinn baza modulelor bibliotecare MegaWizard (vezi sarcinile lasfritul acestei lucrri de laborator) n sistemul de proiectareQuartus II n baza limbajului VHDL, precum i efectuareasimulrii n timp i configurareaFPGA.

    n prezent, dispozitivele de memorie digital constituiecirca 70-80% din toate elementele electronice utilizate n circuiteledigitale. Dispozitivele de memorie digital cunoscute pot fimprite n RAM (memorie cu acces aleator) i ROM (memoriecare poate fi numai citit).RAM este mprit ntr-o memorieRAM static (SRAM Static Random Access Memory) sau RAMdinamic (DRAM Dynamic Random Access Memory). n acestlaborator, vom analiza doar RAM static (n continuare SRAM).

    Gestionarea SRAMeste prezentat n fig. 5.1.

    Fig. 5.1. Diagrama de gestionare a memoriei SRAM

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    46/65

    45

    Liniile de intrare CE, WEi OE sunt de control. Linia CEpermite funcionarea SRAM, linia WE permite nscrierea, linia OEpermite citirea. Pentru realizarea nscrierii, pe liniile CEi WEseaplic simultan un impuls. Valoarea adresei celulei se definetecnd impulsul trece din unu n zero. Datele, de asemenea, sedefinesc cnd impulsul trece din unu n zero. Pe frontul cresctoral impulsului se efectueaz procesul de nscriere a datelor ntr-ocelul anumit a SRAM-ului. Pentru citirea datelor din memoriaunui impuls pe liniile CE i OE se aplic simultan un impuls.Valoarea adresei celulei se definete cnd impulsul trece din unun zero, iar datele se citescpe frontul cresctor al impulsului.

    Efectuarea acestei lucrri de laborator const dinurmtoarele puncte:

    5.1. n lucrarea de laborator vom lua n considerarefuncionarea modulului RAM din biblioteca MegaWizard. Vomefectua nscrierea datelor ntr-un anumit numr de celule dememorie, vom citi valorile din aceste celule i vom compara datelecitite cu cele care au fost nscrise.

    Vom lua n considerare exemplul conectrii modululuibibliotecarMegaWizard.

    Fig. 5.2. Conectarea modululuiRAMdin bibliotec(pasul 1)

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    47/65

    46

    5.2. Crem un proiect nou i i dm denumire: SRAM.Crem dou fiiere VHDL. Unui i dm denumirea: SRAM, iarcelui de-al doilea: RAM. Accesm ToolsMegaWizard Plug-InManagerla bara de instrumente. n fereastra care apare (fig. 5.2),selectm Create a new custom megafunction variation i apsmNext. n fereastra urmtoare (fig. 5.3) n partea stnga selectmMemory CompilerRAM: 1-PORT. n partea dreapt selectmfamilia de circuite Cyclone IV E, limbajul VHDL i fiierul n careva fi nscris modulul RAM.vhd. Se va deschide o fereastr n careapsm OK.

    Fig. 5.3. Conectarea modululuiRAMdin bibliotec(pasul 2)

    n fereastra urmtoare (fig. 5.4) indicm limea magistraleide date (n cazul nostru2 bii) i limea magistralei de adrese amemoriei (alegem cea mai mic posibil 32 de cuvinte). nconsecin,RAMva conine 32 de celule de 2 bii fiecare. Apsm

    butonulNext.

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    48/65

    47

    Fig. 5.4. Conectarea modululuiRAMdin bibliotec(pasul 3)

    n fereastra urmtoare (fig. 5.5), scoatem bifa n zona: q

    output port. ApsmbutonulFinish.

    Fig. 5.5. Conectarea modululuiRAMdin bibliotec(pasul 4)

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    49/65

    48

    Astfel va aprea o fereastr n care apsm pe Yes. nfiierulRAM.vhdva aprea codul care descrie modulul de memorieconectat.

    5.3. Apoi conectm fiierul RAM la fiierul principalSRAM, reprezentat n codul de mai jos:

    LIBRARY ieee;

    USE ieee.std_logic_1164.all;

    use ieee.numeric_std.all;

    ENTITY SRAM IS

    PORT(

    C : in std_logic;

    R : in std_logic;

    BTN : in std_logic;

    BTNenW : in std_logic; -- Button "Enable Write"

    DataIn : in std_logic_vector(1 downto 0);addr_to_LED : out std_logic_vector(1 downto 0);

    DataOut : out std_logic_vector(1 downto 0)); END SRAM;

    -- Architecture Body

    ARCHITECTURE SRAM_architecture OF SRAM IS

    --//********************// COMPONENT RAM

    COMPONENT RAM isport

    (address: IN STD_LOGIC_VECTOR (4 DOWNTO 0);

    clock : IN STD_LOGIC := '1';

    data : IN STD_LOGIC_VECTOR (1 DOWNTO 0);

    wren : IN STD_LOGIC ;

    q : OUT STD_LOGIC_VECTOR (1 DOWNTO 0)

    );

    END COMPONENT;

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    50/65

    49

    signal addrM : std_logic_vector(4 downto 0);

    signal addr_CT: integer range 0 to 3; --Contor de adrese

    signal BTN_Out : std_logic;

    signal T : integer range 0 to 11000000;

    BEGIN

    --//********** Block of RAM ***********//

    Mem : RAM

    Port map (address=>addrM, clock=>BTN_Out,

    data=>DataIn, wren=>BTNenW, q=>DataOut);

    --////////// Reinerea de timp pentru butonul ///////////////BTN_Press:process (R,BTN)

    begin

    if (R = '1' or T = 10000000) then

    BTN_Out

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    51/65

    50

    begin

    if R = '1' then

    addr_CT

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    52/65

    51

    corespunztoare, iar la BTNenW aplicm 1 (permis pentrunscriere). Datele se nscriu n celula de memorie corespunztoarepe frontul cresctor al impulsului la intrarea . Pentru citireaplicm adresa la intrarea corespunztoare, dar la BTNenWaplicm 1 (permis pentru nscriere). Citirea celulei de memoriecorespunztoare se efectueaz pe frontul cresctor al impulsului lala intrarea .

    5.4. n rezultatul proiectrii obinem diagrama RTL,

    prezentatn fig. 5.6.

    Fig. 5.6. DiagramaRTLa memoriei sintetizate SRAM

    5.5. Dup efectuarea compilrii cu succes a proiectuluitrecem la procesul simulrii acestuia (vezi p. 1.2, partea 1). nrezultat obinem diagramele de timp, reprezentate n fig. 5.7.

    Fig. 5.7. Simularea funcionrii corecte a memoriei SRAM

    5.6. Apoi efectum configurarea FPGA de pe bordul kit-

    ului (vezi p. 1.3,partea 1).n rezultatul proiectrii am obinut modulul de memorie de

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    53/65

    52

    2 bii cu 4 celule active n care pot fi nscrise datele stocate i cititepn la deconectarea alimentrii dispozitivului.

    Cerinele ctre lucrarea de laborator nr. 5 (coninutulraportului):

    1) S se prezinte scrinoturile conectrii modulului dememorieRAMdin bibliotecaMegaWizard.

    2) S se prezinte codul proiectului n limbajul VHDL.3) S se prezinte diagramaRTLa proiectului compilat.4) S se demonstreze diagramele de simulare n timp n

    QSim.

    5) S se prezinte exemplul funcionrii proiectului pe kit(n

    raport s searte fereastra de configurare aFPGA-ului).6) S se tragconcluzii corespunztoare.

    ntrebri de control:1. Enumerai tipurile cunoscute de memorie i descriei-le?2. Prezentai un exemplu al schemei de structur a memoriei

    RAMi explicai principiul de funcionare al acesteia?3. Pe ce este bazat principiul funcionrii memorieiFLASH?4. Explicai scopul subsistemului MegaWizardal sistemului

    QUARTUS II. Ce avantaje ofer acest subsistem ncomparaie cu proiectarea standard?

    5. Ce module pot fi generate nbazaMegaWizard?

    Variantele sarcinii pentru lucrarea de laborator nr. 5:

    variantei

    Dimensiunea magistralei

    de adrese (bit)

    Dimensiunea

    magistralei de date (bit)1 2 3

    2 2 4

    3 2 5

    4 2 6

    5 3 3

    6 3 4

    7 3 58 3 6

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    54/65

    53

    Lucrarea de laborator nr. 6

    Generarea procesorului NIOS i crearea proiectuluin bazalimbajului C

    Scopul lucrrii const n studierea metodelorsoftware desintez a sistemelor cu procesor i n generarea sistemului cuprocesor n baza procesoruluiNiosi crearea programului efectede lumini(vezi sarcinile la sfritul acestei lucrri delaborator) nsistemul de proiectare Quartus II n baza limbajului VHDL i nsistemul Eclipse n baza limbajului C, precum i efectuareasimulrii ntimp i configurareaFPGA.

    n ultimii ani au aprut circuitele digitale cu sisteme cuprocessor. Acest procesor se sintetizeaz cu ajutorulsoftware-ului.Procesoarele Nios se sintetizeaz n baza resurselor hardware aleFPGA-ului de firma Altera. n baza circuitului FPGA pot fisintetizate de la unu pn la cteva zeci de procesoare Nios. naceast lucrare vom sintetiza un procesorNios, n baza cruia vomrealiza proiectul efecte de lumini. Principiul de funcionare al

    acestui proiect este reprezentat n fig. 6.1. Cifra unu indic cLED-ul este pornit, 0 oprit.

    Fig. 6.1. Programul efecte de lumini

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    55/65

    54

    Efectuarea acestei lucrri de laborator const dinurmtoarele puncte:

    6.1.Sintetizmun sistem cu procesor n bazaprocesorului

    Nios, care este prezentat n fig. 6.3 (vezi p. 2.1,partea 1).

    Fig. 6.2. Sistemul bazat pe procesorulNios

    Sistemul const dintr-un procesor Nios de 32 de bii,modulul JTAG UART pentru programarea i depnareaprocesorului, timerul (timer_0), port de ieire de 8-bii(PORT_LED) i memoria de program RAMcu mrimea de 20480celule de 32 de bii. La port de ieire vom conecta LED-uri. Pentrua crea un interval de timp de 0,25 secunde avem nevoie de un

    timer (intervalul de timp poate fi oricare) ntre comutarea LED-urilor. Intrrile suplimentare sunt clklinia de tactare (conectat laun oscilator de cristal) iResetlinia de resetare a procesorului lastarea iniial (conectat la buton).

    6.2. Dup generarea sistemului microprocesoral trecem lacompilarea proiectului n sistemul Quartus II.

    6.3. Apoi efectum configurarea intrrilor i ieirilor

    FPGA, aa, cum este artat n fig. 6.3.

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    56/65

    55

    Fig. 6.3. Configurarea intrrilor i ieirilor proiectului

    6.4. n continuare efectum configurarea FPGA (vezi p.1.3,partea 1).

    Fig. 6.4. Configurarea proiectului n sistemulEclipse

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    57/65

    56

    6.5.Trecem la crearea proiectului n limbajul C, n sistemulEclipse. Cremun proiect nou LED_Proj. n calitate de exemplualegem proiectul Hello World Small. Toi parametrii necesari aiproiectului sunt enumerai n fig. 6.4. Apoi facem un clic pebutonulFinish. Astfel va fi generat proiectulHello World Small.

    6.6. Urmtorul pas este crearea codului programului nlimbajul C. Pentru aceasta facem un clic dublu n zona ProjectExplorerpe mapLED_Proji pe fiierul hello_world_small, aacum este indicat n fig. 6.5.

    Fig. 6.5. Mapa cu proiectul creat

    n zona de proiectare aprut nlocuim codul prezent cucodul urmtor:

    #include

    #include"alt_types.h"

    #include"altera_avalon_pio_regs.h"

    #include"altera_avalon_timer.h"

    #include"altera_avalon_timer_regs.h"

    #include"system.h"

    staticalt_u8 temp;

    //*******************************************

    staticvoidtim_init()

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    58/65

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    59/65

    58

    alt_irq_register (TIMER_0_IRQ, NULL, tim_del);

    /* Event loop never exits. */

    while(1);

    return0;

    }

    Codul programului include 6 biblioteci, care permitfolosirea a astfel de module ca timer iport de ieire de date. irulstaticalt_u8 tempspecific crearea variabileitempcu lungimea decuvnt de 8 bii. Corpul programului este format din 3 funcii:staticvoidtim_init(), staticvoidtim_del()i intmain(). n funcieintmain()este executat afiarea pe consola irului "Hello de laNios II!", se efectueaz iniializarea timer-ului prin funciatim_init(),permiterea ntreruperilor timer-ului se ndeplinete prinfuncia alt_irq_register()i se efectueaz un ciclu infinit, n carenu se realizeaz nici o operaie (se ateapt o ntrerupere de latimer). Funcia tim_init()iniializeaz timer-ul, stabilind intervalul

    de timp (numrul de impulsuri de tactare de la generator), dupcare va fi declanat ntreruperea, setnd indicatori necesari nregistrele timer-ului. Funcia tim_del()este apelat n cazul ncarentreruperea timer-ului este declanat, adic la fiecare 0,25secunde. n funcia tim_del() n variabila tempse nscrie valoarea1, sau se realizeaz deplasarea de 1 la stnga la fiecare apel alfunciei date. Valoarea variabileitempeste afiat peportde ieirede date.

    6.7. Pentru a compila proiectul, facem clic cu dreapta pe

    mapa cu proiectulLED_Projdin fereastra dreapti alegemBuildProject. Ateptm sfritul compilrii. Trecem la conectareaproiectului creat la sistemul microprocesoral (vezi p. 2.2,partea 1).

    Rezultatele configurrii sistemului microprocesoral sunt prezentaten fig. 6.6.

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    60/65

    59

    Fig. 6.6. Proiectul efecte de luminin aceast lucrare s-a realizat un program n care se

    utilizeaz ntreruperi de timer dup coinciden (ntreruperea esteactivat atunci cnd timer-ul va numra pn la valoareanscris nregistrele TIMER_PERIODH i TIMER_PERIODL). NucleulprocesoralNIOSpoate genera pn la 32 de vectori de ntrerupere,care pot monitoriza mai exact anumite evenimente.

    Dup cum se poate observa din acest exemplu, crearea unuisistem microprocesoral necesit un timp suplimentar alutilizatorului, dar este posibil a crea un sistem oarecare de

    configuraie dorit (limitat de module bibliotecare). Acest faptface proiectul mai flexibil i reduce resursele consumate. Resurselehardware rmase ale FPGA-ului pot fi utilizate pentruimplementarea modulelor suplimentare sau alte uniti de calcul.

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    61/65

    60

    Cerinele ctre lucrarea de laborator nr. 6 (coninutulraportului):

    1) S se genereze sistemul microprocesoral n bazaprocesoruluiNios.

    2) S se efectuezeconfigurarea FPGA(n raport s seartefereastra de configurare aFPGA-ului).

    3) S secreeze un proiect n sistemulEclipse(n raport s seartescreenshot-uri de creare a proiectului).

    4) S se prezinte codul proiectului n limbajul C.5) S se prezinte screenshot-ul de consol cu rezultatul de

    proiectare.

    6) S se prezinte exemplul funcionrii proiectului pe kit(nraport s se arate fotografii ale kit-ului n procesul defuncionare).

    7) S se tragconcluziile corespunztoare.

    ntrebri de control:1. Comparai procesoarele Nios cu microcontrolerele

    cunoscute. Care sunt avantajele i dezavantajeleprocesoarelorNios?

    2. Care sunt variantele sistemelor cu procesoare (duparhitectur), carepot fi generate n SOPC-Builder?

    3. Dai un exemplu de aplicaie al sistemului cu procesor nbaza cip-uluiFPGA.

    4. Ce trebuie schimbat n codul programului, prezentat naceast lucrare, ca s fie deplasate n fiecare0,25 secunde

    nu numai un led, iar douLED-uri?5. Calculai valorile registrelor TIMER_PERIODH iTIMER_PERIODL n codul programului prezentat naceast lucrare, ca intervalul reinerii de timp s fie egalcu 0,3 secunde.

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    62/65

    61

    Variantele sarcinii pentru lucrarea de laborator nr. 6:

    Varianta 1: Varianta 2:

    Varianta 3: Varianta 4:

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    63/65

    62

    Varianta 5: Varianta 6:

    Varianta 7: Varianta 8:

  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    64/65

    63

    Bibliografie

    1. . . : ,2012, 337.

    2. . VHDL. : -, 2002, 224 .

    3. . : ,

    . : ,2007, 408 .

    4. BODEAN Gh. Proiectarea aparatajului electronic

    implementat cu dispozitive programabile. Chiinu:UTM, 2007, 311 p.

    5. Quartus II Handbook Volume 1: Design and Synthesis.

    18.08.2014,

    http://www.altera.com/literature/hb/qts/quartusii_handbook.pdf

    6. ...15.01.2013,

    http://www.al.cs.msu.su/system/files/HDL_3L.pdf

    7. LEWIS J. VHDL Math Tricks of the Trade, 15.01.2013,

    http://www.synthworks.com/papers/vhdl_math_tricks_map

    ld_2003.pdf

    http://www.altera.com/literature/hb/qts/quartusii_handbook.pdfhttp://www.altera.com/literature/hb/qts/quartusii_handbook.pdfhttp://www.altera.com/literature/hb/qts/quartusii_handbook.pdfhttp://www.altera.com/literature/hb/qts/quartusii_handbook.pdf
  • 7/23/2019 Proiectarea Sist Electronice Ghid Lab P 2 DS

    65/65

    CUPRINS

    1.Lucrarea de laborator nr. 1 ..................................................... 3

    2.Lucrarea de laborator nr. 2 ................................................... 11

    3.Lucrarea de laborator nr. 3 ................................................... 21

    4.Lucrarea de laborator nr. 4 ................................................... 32

    5.Lucrarea de laborator nr. 5 ................................................... 44

    6.Lucrarea de laborator nr. 6 ................................................... 53

    Bibliografie ............................................................................... 63