Documente Academic
Documente Profesional
Documente Cultură
DEPARTAMENTUL CALCULATOARE
Proiect VHDL:
Reclamă publicitară
cu animații multiple
-FPGA Basys 3 -
Mai 2019
Cuprins
Specificație proiect...........................................................................................................................2
Enunțul problemei......................................................................................................................2
Informații de bază despre Basys 3............................................................................................2
1. Schema bloc a sistemului..........................................................................................................4
1.1. Cutie neagră.....................................................................................................................4
1.2. Schema bloc......................................................................................................................4
2. Listă componente folosite.........................................................................................................6
2.1. Memoria ROM.................................................................................................................6
2.2. Afișor pe 7 segmente (SSD-Seven Segment Display)....................................................6
2.3. Divizor de frecvență.........................................................................................................9
2.4. Compomenta principală..................................................................................................9
2.5. Multiplexorul 4 : 1.........................................................................................................10
2.6. Registrul de deplasare...................................................................................................11
2.7. Animațiile.......................................................................................................................11
2.8. Compomenta placuței....................................................................................................14
3. Justificarea soluției alese.........................................................................................................15
4. Instrucțiuni de utilizare...........................................................................................................15
5. Posibilități de dezvoltare ulterioară.........................................................................................16
Bibliografie & Webografie.............................................................................................................17
Specificație proiect
1
Enunțul problemei
Include:
2
1.800 Kbits de memorie RAM rapidă;
Viteza clock-ului intern depășește 450MHz;
Caracteristici I / O:
16 întrerupătoare
5 butoane
4 segmente de afișare LED pe 7 segmente
ieșire VGA de 12 pini.
un port USB-JTAG pentru programarea și comunicarea FPGA.
3
1. Schema bloc a sistemului
1.1.Cutie neagră
1.2.Schema bloc
4
Pe baza informațiilor cunoscute s-a realizat reclama cu animații multiple. Am utilizat ca
mediu de simulare Active-HDL , apoi am realizat pe placă proiectul cu ajutorul mediul de
programare VIVADO care permite menţinerea evidenţei fiecărui conexiuni în parte,
monitorizând toate componentele şi respectiv semnalele de tact care sunt legate de compnenta
respectivă.
5
2. Listă componente folosite
6
(Fig. 1)
7
În SSD vom codifica alfabetul ce urmează a fi folosit în scriera cuvintelor.
---------------------HEX TO 7 SEG
with HEX SELECT
CAT<= "1111111" when "00000", --SPACE
"0001000" when "00001", --A
"0000011" when "00010", --b
"1000110" when "00011", --C
"0100001" when "00100", --d
"0000110" when "00101", --E
"0001110" when "00110", --F
"0000010" when "00111", --G
"0001001" when "01000", --H
"1111001" when "01001", --I
"1100001" when "01010", --J
"0001111" when "01011", --k
"1000111" when "01100", --L
"1000000" when "01101", --O
"0001100" when "01110", --P
"0101111" when "01111", --r
"0010010" when "10000", --S
"1000001" when "10001", --U
"1100011" when "10010", --v
"0100100" when "10011", --Z
"1111111" when "11111", -- NONE
"1111111" when others;
8
2.3.Divizor de frecvență
Deoarece semnalul de tact al plăcii este extrem de rapid, este irealizabil pentru
ochiul uman să poată observa afișarea cuvintelor. În acest scop vom folosi un divizor al
frecvenței făcunt cu un numărător care numără de 100.000.000 ori clock-ul plăcuței și
abia apoi îl schimbă, timpul dezvoltat dintre cele 2 afișari a devenit de aproape 2 secunde,
făcandu-se o distingere clară a fondului.
2.4.Compomenta principală
9
2.5.Multiplexorul 4 : 1
Multiplexor este practic în alegere animației dorite din cele patru.
Utilizatorul poate alege acesta efectiv prin operarea cu două comutatoare de
două poziții din cele 16 disponibile ale placii FPGA (în cazul nostru SW15 si
SW14).
10
2.6.Registrul de deplasare
Registrul de deplasare are rol în relizarea deplasării literelor textului care
trebuie afișat într-o direcție aleasă de către utilizator.
2.7.Animațiile
1) Static
Prin folosirea stării statice se poate obtine animația dorită., pentru a selecta
animația în discuție se va selecta pe switch-uri 00 logic.
2) Afișare secvențială
11
3)Pâlpâie
Următorul mod de afișare se comportă astfel; conțiutul cerut este încărcat pe afoșor cu
ajutorul semnalului”appear”. Dacă acest semnal ia valoare de zero, pe placă nu este afișat nimic,
iar când acesta ia valoarea de „1” se va adăuga întreg conținutul pe placuță, pentru a selecta
animația în discuție se va selecta pe switch-uri 10 logic.
12
4) Afișare câte două litere
13
2.8. Compomenta placuței
Proiectul propriu-zis se relizează in componenta plăcuță. Main-ul si
Afșorul vor fi și ele componente, urmând să fie portmapate. Se execută afișarea
efectivă și finalul tuturor modurilor de afișare codate si prelucrate până atunci
prin urmare se poate pune întregul proiect pe placa FPGA.
14
3. Justificarea soluției alese
În dezvoltarea acestui sistem a fost aleasă metoda cea mai simplă și mai eficace.
4. Instrucțiuni de utilizare
15
La începerea proiectului tuturor switch-urilor pe care le vom utiliza de pe
placă le atribuim valoare de ” 00” logic. Primul cuvânt din memoria ROM este
adăugat și afișat pe 7 segmente, în primul mod de animație – shiftare dreapta
Când vrem sa vedem un alt cuvânt total distinct din memorie, selectăm o
valoare din intervalul 0-3, codificată în binar, de pe sw1 si sw0. Se poate selecta
orice cuvânt,indiferent de oridinea în memorie. Selecția unei animații se poate
face în orice moment prin selecția unuia dintre cele patru modurile de afișare
cărora le-au fost dedicate switch-urile sw15 și sw14 a unei valori din intrvalul
0-3, de asemenea codificate în binar.
16
Bibliografie & Webografie
17