Documente Academic
Documente Profesional
Documente Cultură
LABORATOR78
PROIECTAREAUNUICONTROLERDETRAFIC.
CREAREAPROIECTELORMIXTE
SCOPULLUCRRII
IINTRODUCERETEORETIC
Definireaproblemei
Specificaiilepentruproiectareacontroleruluidetraficsunt:
- Controlerulvacomandaunsemaforamplasatlainterseciadintreoautostrad(A)iun
drumsecundar(DS),vezifigura1;
- Senzorii S sesizeaz prezena unei maini care staioneaz pe drumul secundar. Atta
timpctniciomainnustaioneazpedrumulsecundarautostradaareprioritatetimp
de20sdupcareseverificstareasenzoruluiS.Dacnuesteprezentniciomainpe
drumulsecundarautostradaivamenineprioritateancontinuare,pentrualte20s.
- Semaforul va acorda prioritate (un anumit interval, 10s) drumului secundar dup o
anumitperioad,dinmomentulncaresenzorulSadetectatprezenauneimaini;
- Trecereadelaculoareaverdelacearoienusevafacedirect,citrecndprinculoarea
galben.Semaforulvapstraculoareagalbenpentruunintervaldetimp,5s.
Notaiifolositenfigura1:
Ssenzor;ASsemaforautostrad;DSSsemafordrumsecundar.
Algoritmuldefuncionareacontroleruluieste:
1. Verdepentruautostrad/Roupentrudrumulsecundar,timpde20s;
2. Severificdacexistmainistaionatepedrumulsecundar.
3. DacDAsetrecelafazaurmtoare;
4. DacNUsereiaprimulpas;
5. Galbenpentruautostrad/Roupentrudrumulsecundar,timpde5s;
6. Roupentruautostrad/Roupentrudrumulsecundar,timpde5s;
7. Roupentruautostrad/Verdepentrudrumulsecundar,timpde10s;
8. Roupentruautostrad/Galbenpentrudrumulsecundar,timpde5s;
9. Roupentruautostrad/Roupentrudrumulsecundar,timpde5s;
10.Mergilapasul1.
Figura1Configuraiaintersecieisemaforizate
Definireaintrrilor,ieiriloriastrilorintermediareiatranziiilorntrestri
R
CLK
SEN
DS_R
DS_G
DS_V
Controler
de Trafic
Num
A_R
A_G
A_V
En
Figura2IntrrileiieirileControloruluideTraficproiectatcaiFSM
IntrareaRSTaduceFSMulnstareiniial(autostradaAareprioritatetimpde20s).
Intrarea SEN detecteaz prezena unei maini care ateapt pe drumul secundar DS. Cele
aseieiri(DS_R,DS_G,DS_V,A_R,A_G,A_V)stabilescculorile(rou,galben,verde)pecare
levorafiaceledousemafoare(AS,DSS).Sevafolosiiunnumrtorextern,pentruastabilii
intervaleledetimp(TL=20s,TM=10siTS=5s).SemnalulStartactiveaznumrtorul,dup
fiecareschimbaredestareaFSMului.Numrtorulvaimplementaifunciadedivizarea
semnaluluidetactpentrucontroleruldetrafic,astfelnctfrecvenadelucruaacestuias
fie 1Hz. n aceste condiii pentru o perioad de 1s a tactului, numrtorul va lua valorile:
Num=20pentruTs=20s,Num=10pentruTM=10siNum=5pentruTS=5s.ntabelulT.1sunt
prezentate cele 14 strii ale controlerului precum i tranziiile ntre ele. n coloanele
tabeluluisepoturmriivalorilepecareleauieirilecontroleruluipentruanumitevaloriale
intrrilorcorespunztoreuneistri.Cele14strisuntdupcumurmeaz:
2
stareadeR,stabiletecondiiileiniialedincarevaporniicontrolerul;
starea Start1, lanseaz procesul de numrare n acest caz pn la 20 i totodat
activeazstareaNormaldefuncionareacontrolerului;
pe parcursul strii Normale de funcionare autostrada are prioritate timp de 20s,dup
careurmeaztranziianstareaurmtoare;
starea Verifica , decide dup scurgerea celor 20s dac tranziia va avea loc napoi la
stareaNormalancazulncareSen=0,adicnuesteprezentniciomainpedrumul
secundarsaunsprestareaS1;
strileStart1>Start6declaneaztranziiiledintrostarenaltaacelordousemafoare
(AS i DSS) i de asemenea declaneaz (pentru En=1) procesul de contorizare a
timpuluictsestaioneazntrostareS1>S6;
strileS1>S6definescefectivschimbriledeculoripentruceledousemafoare,starea
S3caredureaz10sestestareapeparcursulcreiadrumulsecundarareprioritatefa
deautostrad.
TabelulT.1StrileitranziiileControleruluideTrafic
Intrri
Stri
R
Sum
Sen
Ieiri
Cond.Tranz.
DS_
DS_
En
Urmtoare
Reset
Start1
Normal
<19
N=19
Verific
Sen=0
Sen=1
S1
<4
N=19
Start2
S2
<4
N=4
Start3
S3
<9
N=9
Start4
S4
<4
N=4
Start5
S5
<4
N=4
Start6
Starea
Desfurarealucrrii
ParteaI
Pasul1:Creareaproiectului
Odatstabilitestrilecontrolerului,tranziiileivaloriledeieiredinfiecarestareputems
trecemladescriereaproiectuluinschematic,pentruaceastavorfiurmritectevaetape.
n directorul personal se va crea un subdirector cu numele lab7, aici vor fi salvate toate
proiectelecevorficreatencadrulacesteilucrri.Sevacreaunproiectcunumelesemafor,
atenieladirectoruldelucru.
Proiectul va avea modulul top de tip schematic, iar celelalte vor fi simboluri
schematicecreatedincodVHDL.
nprimafazsevaproiectatcontrolerul,caidiagramaFSM,sevageneracodVHDL,
sevacreauntestbenchisevatestaprinsimulare.
n faza a doua se va proiecta blocul de numrare, se va crea un testbench pentru
acestaisevaverificafuncionarea.
nfazaatreiasevaproiectamodulululdedivizare,sevacreauntestbenchpentrua
acestaisevaverificaprinsimulare.
nceadeapatrafaz,ultima,secreazosursnounschematicitoatesimbolurile
schematice corespunztoare ficrui modul vor fi aduse n aceast surs i interconectate,
dupcaresepoatefaceimplementareaproiectului.
Pasul2:Proiectareaierarhic,creareasimbolurilornschematic
Proiectareacontrolerului
ParteadecontrolestedescriscaiFSMrespectndstrileitranziiiledintabelulT1. Sedeschide
nfigura5esteprezentatdiagramadestrispecificcontroleruluidetrafic.
nfigura6suntprezentateformeledeundrezultatenurmasimulrii.
Figura3Descriereanschematicacontroleruluidetraficiablocurilorauxiliare
Figura4.OpiuneadesintezacoduluiVHDL
N<19
Normal
A_R<='0';
A_G<='0';
A_V<='1';
DS_R<='1';
DS_G<='0';
DS_V<='0';
EN<='0';
SEN='0'
Verificare
A_R<='0';
A_G<='0';
A_V<='1';
DS_R<='1';
DS_G<='0';
DS_V<='0';
EN<='1';
SEN='1'
N<4
start6
A_R<='0';
A_G<='0';
A_V<='1';
DS_R<='1';
DS_G<='0';
DS_V<='0';
EN<='1';
N=19
S1
A_R<='0';
A_G<='1';
A_V<='0';
DS_R<='1';
DS_G<='0';
DS_V<='0';
EN<='0';
start1
A_R<='0';
A_G<='0';
A_V<='1';
DS_R<='1';
DS_G<='0';
DS_V<='0';
EN<='1';
N=4
N<4
S5
A_R<='0';
A_G<='1';
A_V<='0';
DS_R<='1';
DS_G<='0';
DS_V<='0';
EN<='0';
N=4
N<4
reset='0'
reset='1'
start2
A_R<='0';
A_G<='1';
A_V<='0';
DS_R<='1';
DS_G<='0';
DS_V<='0';
EN<='1';
R
A_R<='1';
A_G<='1';
A_V<='1';
DS_R<='1';
DS_G<='1';
DS_V<='1';
EN<='1';
S2
A_R<='1';
A_G<='0';
A_V<='0';
DS_R<='1';
DS_G<='0';
DS_V<='0';
EN<='0';
start5
A_R<='0';
A_G<='1';
A_V<='0';
DS_R<='1';
DS_G<='0';
DS_V<='0';
EN<='1';
N<4
N=4
N[4:0]
S4
A_R<='1';
A_G<='0';
A_V<='0';
DS_R<='0';
DS_G<='1';
DS_V<='0';
EN<='0';
N=4
start3
A_R<='1';
A_G<='0';
A_V<='0';
DS_R<='0';
DS_G<='0';
DS_V<='1';
EN<='1';
S3
A_R<='1';
A_G<='0';
A_V<='0';
DS_R<='0';
DS_G<='0';
DS_V<='1';
EN<='0';
N=9
start4
A_R<='1';
A_G<='0';
A_V<='0';
DS_R<='0';
DS_G<='1';
DS_V<='0';
EN<='1';
N<9
Figura5.DiagramadestriicorespunztoarepriidecomandaControleruluideTrafic
Proiectareacontorului
BloculdenumrareestedescrisnVHDL.Oposibildescrierepoateartacaiceadinfigura
7. La fiecare impuls de activare primit de la controler acest bloc se va reseta i va ncepe o nou
secvendenumrare.
Figura7.CodVHDLcorespunztorbloculuidecontorizare
Proiectareadivizorului
BloculdedivizareestedescrisnVHDL.Oposibildescrierepoateartacaiceadinfigura8.
Semnaluldeclockde50MHzestedivizatcuunfactorde50.000.000,astfelobinnduseunsemnal
cuperioadade1s.
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
entitydivis
Port(clock:inSTD_LOGIC;
ledg:outstd_logic;
reset:instd_logic;
clock_div_1hz:bufferSTD_LOGIC;
clock_div_1khz:bufferSTD_LOGIC);
enddiv;
architectureBehavioralofdivis
signaldiv2:integer;
begin
p2_1s:process(reset,clock,div2)
begin
ifreset='1'then
div2<=0;
clock_div_1Hz<='0';
elsifclock'eventandclock='1'then
div2<=div2+1;
endif;
ifdiv2=25000000then
clock_div_1hz<='1';
elsifdiv2=50000000then
clock_div_1hz<='0';
endif;
ifdiv2=50000000then
div2<=0;
endif;
endprocess;
ledg<='1';
endBehavioral;
Figura8.CodVHDLcorespunztorbloculuidedivizare
Pasul4:Implementareaitestareaproiectului
NET"clock"LOC="P182";
NET"reset"LOC="P3" ;#BTN1
NET"sen"LOC="P23";#SW1
NET"A_R"LOC="P111";#LED1
NET"A_G"LOC="P109";#LED2
NET"A_V"LOC="P102";#LED3
NET"DS_R"LOC="P100";#LED4
NET"DS_G"LOC="P98";#LED5
NET"DS_V"LOC="P96";#LED6
NET"clk_1s"LOC="P89";#LED7vizualiretact1s,
NET"ledg"LOC="P45";#ACTIVARELEDuri
Figura9.ConstrngeriaplicatepinilorcircuituluiFPGA
ParteaaIIa
naceastparte,funciileproiectuluivorfiextinse.Astfel,sedoretevizualizarepeafiajul7
segmenteaintervalelordetimpcontorizate,de5,10respectiv20s.Pentruaceastaproiectul
vasuferiictevamodificri.naceastparteestenecesarcaintervaluldetimpde20dess
fieafiatpedoucaractereseparatealeafiajului,aceastapresupunecontrolulseparatal
caracterelor.,detaliivorfioferitenurmtorulparagraf.
Prezentaremoddelucruafiaj7segmente
PlacaDIO4conineunafiaj7segmentepepatrucaractere,cuanodcomun.Ceiapteanozi
ai celor apte segmente care alctuiesc un caracter sunt conectai la un punct comun notat AN.
Conectnd la 0 sau 1 logic acest punct comun, fiecare caracter va putea fi activat n mod
independent. Catozii segmentelor similare de la toi cei patru digii ai afiajului sunt conectai
mpreun,avndastfelaptecircuiteindependente.Astfelfiecarecatodalcelorpatrudigiipoatefi
activat sau dezactivat independent. Prin aceast schem de conexiuni sa obinut un afiaj
multiplexat, n care comandnd succesiv semnalele comune anozilor i trimind n mod repetat
secvena corespunztoare catozilor fiecrui digit, se obine afiarea pe patru caractere. Schema de
conectareaanoziloricatozilor,precumisecvenadeactivareaaacestoraesteprezentatnfigura
10.Tiparulcareseapliccatozilorpentruafiarea7segmenteestecelcunoscut.
Pentru ca fiecare din cele patru caractere s fie iluminat n mod continuu i intensitatea
iluminriisfiecorespunztoare,secvenadedatetrebuieremprosptatlafiecare1pnla16ms,
vezifigura10.
Figura10Schemadeconectareanozi,catoziisecvenadeactivareaacestora
Pasul5:Modificareaproiectului
Proiectareabloculuidedecodificare/multiplexare
Diagramanschematicdinfigura3vafimodificatprinadugareaunuinoubloc,vezifigura
11, care are rol de decodificare 7segmente i de multiplexare a semnalului pentru afiajul de pe
placadetestDIO4.
Figura11.Descriereanschematicacontroleruluidetraficiablocurilorauxiliare
CodulVHDLcorespunztorbloculuiBCD(binarcodificatzecimal)7segmente,esteprezentatnfigura
12.
modulVHDLdeconversieBCDintreg7_segmnentesiafisarepepatrucaractere
placaDigilentDIO4
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
useIEEE.NUMERIC_STD.ALL;
entitybcd_to_7segis
port(
clock:instd_logic;
reset:instd_logic;
c1:instd_logic_vector(3downto0);
c2:instd_logic_vector(3downto0);
c3:instd_logic_vector(3downto0);
c4:instd_logic_vector(3downto0);
an1:outstd_logic;
an2:outstd_logic;
an3:outstd_logic;
an4:outstd_logic;
10
dp:outstd_logic;
seg_out:outstd_logic_vector(6downto0)
);
endbcd_to_7seg;
architectureBehavioralofbcd_to_7segis
functiedeconversiedinbinarinintreg
functionvec2int(x:std_logic_vector)returnintegeris
variableresult:integer;
begin
result:=0;
foriinx'rangeloop
result:=result*2;
casex(i)is
when'0'=>null;
when'1'=>result:=result+1;
whenothers=>null;
endcase;
endloop;
returnresult;
endvec2int;
functiedeconversiedinintregin7segmente
functionint7seg(x:integer)returnstd_logic_vector is
variabledis7seg:std_logic_vector(6downto0);
begin
ifx=0thendis7seg:="0111111";
elsifx=1thendis7seg:="0000110";
elsifx=2thendis7seg:="1011011";
elsifx=3thendis7seg:="1001111";
elsifx=4thendis7seg:="1100110";
elsifx=5thendis7seg:="1101101";
elsifx=6thendis7seg:="1111101";
elsifx=7thendis7seg:="0000111";
elsifx=8thendis7seg:="1111111";
elsifx=9thendis7seg:="1101111";
elsedis7seg:="0001000";
endif;
returndis7seg;
end;
signalseg_out1:std_logic_vector(6downto0):="0000000";
signalseg_out2:std_logic_vector(6downto0):="0000000";
signalseg_out3:std_logic_vector(6downto0):="0000000";
signalseg_out4:std_logic_vector(6downto0):="0000000";
signalcount2:std_logic_vector(1downto0):="00";
begin
display:process(clock,reset)
begin
ifreset='1'then
an1<='0';an2<='0';an3<='0';an4<='0';dp<='0';
11
seg_out<=notint7seg(8);
count2<="00";
elsifclock='1'andclock'eventthen
count2<=count2+1;
seg_out4<=int7seg(vec2int(c4));
seconverteste7segmentefiecaredigitinparte
seg_out3<=int7seg(vec2int(c3));
seg_out2<=int7seg(vec2int(c2));
seg_out1<=int7seg(vec2int(c1));
ifcount2="00"thensemultiplexeazsemnalulpentrucele4caractere
seg_out<=notseg_out1;
an1<='0';an2<='1';an3<='1';an4<='1';dp<='1';
elsifcount2="01"then
seg_out<=notseg_out2;
an1<='1';an2<='0';an3<='1';an4<='1';dp<='0';
elsifcount2="10"then
seg_out<=notseg_out3;
an1<='1';an2<='1';an3<='0';an4<='1';dp<='1';
elsifcount2="11"then
seg_out<=notseg_out4;
an1<='1';an2<='1';an3<='1';an4<='0';dp<='1';
endif;
endif;
endprocess;
endBehavioral;
Figura12.ModulVHDLdeconversieBCDintreg7_segmnentesiafisarepepatrucaractere
nacestmodulsefaceodescriereadoufuncii.Primaestedeconversiedinbinarnvaloare
ntreag,iarceadeadouadescriedecodificatorul7segmentesubformadefuncie.Acestefuncii
vorfiaplelatesimultannarhitectur,vezizonacurou.Odatsefaceoconversienvaloarentreag
asemnaluluidelacelepatruintrribinareC14,funciavec2int,dupcaresefaceconversiancod7
segmente,funciaint7seg.Semnalelerezultateseg_out14,vorfiapoimultiplexate,conformfigurii
itrimiselaafiajul7segmente.
Potrivit celor menionate ntrun paragraf anterior acest bloc va avea nevoie s fac
multiplexare ntrun interval de minim 1ms i maxim 16 ms. Din figura 11 se poate observa c
intrareadeclockabloculuidedecodificare/multiplexareprovinedelaoadouaintrareabloculuide
divizarecareasigurunsemnalcuperioadade1ms,respectivfrecvenade1kHz.
CodulVHDLdinfigura12vafitestaprinsimularefuncional,sedescrieuntestbench,dup
caresevageneraunsimbolnschematic,simbolcevafiadugatladiagramadinfigura3.
Se poate observa c n aceast lucrare, doar dou dintre intrrile binare C3, C4 vor fi
conectatelabloculdenumrare,celelaltedouvorficonectatelamas,astfelcpecaracterele1i
2vafiafiatvaloarea0.
Atenie!!!CndseadaugsimbolurileGND(mas)seddubluclickpeacesteaincmpulvaluese
definesccafiindpe4bii,seadaug(3:0).
Dindiagrama3sepoateobservacauaprutporturinoiilacelelalteblocuri.
Modificaredivizorului
carerealizeazdivizareasemnaluluideclockcuvaloareantreag50.000,astfelnctsevaobineun
semnaldeieirecufrecvenade1kHz.Acestsemnaldivizatvaconstituisemnaluldetactalblocului
dedivizare/multiplexare.
Odatcodulmodificat,acestavafiresintetizatisevacreadinnousimbolulnschematic.
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
entitydivis
Port(clock:inSTD_LOGIC;
ledg:outstd_logic;
reset:instd_logic;
clock_div_1hz:bufferSTD_LOGIC;
clock_div_1khz:bufferSTD_LOGIC);
enddiv;
architectureBehavioralofdivis
signaldiv1:integer;
signaldiv2:integer;
begin
p1_1ms:process(reset,clock,div1)
begin
ifreset='1'then
div1<=0;
clock_div_1kHz<='0';
elsifclock'eventandclock='1'then
div1<=div1+1;
endif;
ifdiv1=25000then
clock_div_1khz<='1';
elsifdiv1=50000then
clock_div_1khz<='0';
endif;
ifdiv1=50000then
div1<=0;
endif;
endprocess;
p2_1s:process(reset,clock,div2)
begin
ifreset='1'then
div2<=0;
clock_div_1Hz<='0';
elsifclock'eventandclock='1'then
div2<=div2+1;
endif;
ifdiv2=25000000then
clock_div_1hz<='1';
elsifdiv2=50000000then
clock_div_1hz<='0';
endif;
ifdiv2=50000000then
div2<=0;
endif;
endprocess;
ledg<='1';
endBehavioral;
Figura13.CodVHDLmodificat,corespunztorbloculuidedivizare,Div
13
Modificareacontorului
Dinfigura11sepoateobservacbloculdecontorizarenumaredouieirisuplimentarecare
sunt conectate ca i intrri la blocul de multiplexare/afiare. Codul VHDL modificat al blocului de
contorizareesteprezentatnfigura14.
Cu culoare roie sa evideniat codul introdus suplimentar. Pentru a nu fi necesar o conversie din
binarnBCDavaloriidatedenumrtorulcecontorizeazintervalele5,10,20s,saufcutuncontor
BCDnparalel,veziproceseleP1iP2.Aufostnecesaredouprocese,pentruvalorimaimaridect
9,astfelprimulprocesestepentrucifraunitilor,iarceldealdoileaestepentrucifrazecilor.Lafels
arputeaextindepentrucifrasuteloriamiilor,etc.
OdatfcutemodificrilencodulVHDL,acestapoatefisimulat,secreeazuntestbench,se
resintetizeazisecreeazdinnousimbolulnschematic.
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
entitynumis
Port(clock:inSTD_LOGIC;
reset:inSTD_LOGIC;
en:inSTD_LOGIC;
c1:outSTD_LOGIC_VECTOR(3downto0);
c2:outSTD_LOGIC_VECTOR(3downto0);
n:outSTD_LOGIC_VECTOR(4downto0));
endnum;
architectureBehavioralofnumis
signalcount:std_logic_vector(4downto0);
signalcount1_bcd:std_logic_vector(3downto0);
signalcount2_bcd:std_logic_vector(3downto0);
begin
p1_c1_bcd:process(clock,reset)
begin
ifreset='1'then
count1_bcd<=(others=>'0');
elsifclock='1'andclock'eventthen
ifen='1'then
count1_bcd<=(others=>'0');
else
count1_bcd<=count1_bcd+1;
endif;
ifcount1_bcd="1001"then
count1_bcd<="0000";
elsenull;
endif;
endif;
endprocess;
p2_c2_bcd:process(clock,reset)
begin
ifreset='1'then
count2_bcd<=(others=>'0');
elsifclock='1'andclock'eventthen
ifen='1'then
count2_bcd<=(others=>'0');
elsifcount1_bcd="1001"then
14
count2_bcd<=count2_bcd+1;
elsenull;
endif;
ifcount2_bcd="1001"then
count2_bcd<="0000";
elsenull;
endif;
endif;
endprocess;
p3_num_bin:process(clock,reset)
begin
ifreset='1'then
count<=(others=>'0');
elsifclock='1'andclock'eventthen
ifen='1'then
count<=(others=>'0');
else
count<=count+1;
endif;
endif;
endprocess;
n<=count;
c1<=count1_bcd;
c2<=count2_bcd;
endBehavioral;
Figura14.CodVHDLmodificat,corespunztorbloculuidecontorizare,Num
Pasul6:Reimplementareaitestareaproiectului
Sevurmriipascupasdesfurareaetapelorindicatenpasul5.
Simulareamodulelorvafifcutseparatpentrufiecaremodulnparte
La implementare se va modifica fiierul UCF, adugnduse constrngerile
corespunztoareafiajului7segmente,figura15.
NET"an1"LOC="P41";#activareprimulcaracter
NET"an2"LOC="P40";#activarealdoileacaracter
NET"an3"LOC="P36";#activarealtreileacaracter
NET"an4"LOC="P35";#activarepatruleacaracter
NET"seg(0)"LOC="P22";#segmentul"a"alafisajului7seg
NET"seg(1)"LOC="P20";#segmentul"b"alafisajului7seg
NET"seg(2)"LOC="P17";#segmentul"c"alafisajului7seg
NET"seg(3)"LOC="P15";#segmentul"d"alafisajului7seg
NET"seg(4)"LOC="P10";#segmentul"e"alafisajului7seg
NET"seg(5)"LOC="P8";#segmentul"f"alafisajului7seg
NET"seg(6)"LOC="P6";#segmentul"g"alafisajului7seg
NET"dp"LOC="P4";
#caracterulpunct
Figura15.ConstrngeriaplicatepinilorcircuituluiFPGA
15
Activitisuplimentare
- Sevormodificaintervaleledetimpdintretranziii;
- Sevorafiavalorialeatoarepeceledoucaracterenefolositealeafiajului,pentruaseverifica
controlulindependentalacestora;
- Sevamodificamodululdecontorizareastfelnctlatranziiadintrestrisfieafiatvaloarea
final(ex.5,10,20)aintervaluluidetimp,iaraceastassedecrementeze.Astfelnctssetie
anticipatctdureazintervaluldeateptaredintredoutranziii.
16