This shows you the differences between two versions of the page.
|
soc:laboratoare:04:todo [2025/03/25 21:10] matei_calin.ceausu |
soc:laboratoare:04:todo [2026/03/22 17:11] (current) robert_fabian.tudor |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | **Task 1** (2p + 0.25p + 0.25p) **Implementați un modul** care să aprindă și să stingă un LED la un anumit interval de timp. Astfel, vom folosi un FSM simplu, cu doar două stări. **Completați** fișierul ''**xdc**'' și **încărcați** soluția **pe FPGA**. | + | **Task 1** (2p + 0.25p + 0.25p) **Implementați un modul** care să aprindă și să stingă un LED la un interval regulat de timp. Pentru a realiza acest lucru, veți construi un automat finit simplu, cu doar două stări: |
| - | *În prima stare, LED-ul va fi stins, se va aștepta un anumit interval de timp (1s), iar apoi trece in starea 2. | + | ***Starea 1:** LED-ul este stins. Automatul așteaptă timp de 1 secundă, după care tranzitează în starea 2. |
| - | *Starea a doua, în care va petrece același interval de timp, dar aprins. | + | ***Starea 2:** LED-ul este aprins. Automatul așteaptă același interval de 1 secundă, după care revine în starea 1. |
| + | **Completați** fișierul ''**xdc**'' și **încărcați** soluția **pe FPGA**. | ||
| Urmăriți TODO-urile din schelet! | Urmăriți TODO-urile din schelet! | ||
| - | **Task 2** (2.5p + 0.25p + 0.75p) Chiar dacă a trecut Craciunul, acum știm destul de multe pentru a realiza o simplă instalație de pom. Implementați un FSM care să producă următoarea secvență folosind LED-urile. **Completați** fișierul ''**xdc**'' și **încărcați** soluția **pe FPGA**. | + | **Task 2** (2.5p + 0.25p + 0.75p) Chiar dacă a trecut Crăciunul, acum știm destul de multe pentru a realiza o simplă instalație de pom. Implementați un FSM care să producă secvența de mai jos folosind LED-urile. |
| * "*" înseamnă că LED-ul este aprins; | * "*" înseamnă că LED-ul este aprins; | ||
| * "-" înseamnă că LED-ul respectiv este stins; | * "-" înseamnă că LED-ul respectiv este stins; | ||
| * T00, T01, ..., T14 sunt stările posibile ale LED-urilor; | * T00, T01, ..., T14 sunt stările posibile ale LED-urilor; | ||
| - | * Durata tranziției de la starea Tn la Tn+1 trebuie să fie de 1 secundă. <code> t00 *-*-*-*- | + | * Timpul petrecut de automat în fiecare stare (Tn) trebuie să fie de 1 secundă, după care se face tranziția la următoarea stare (Tn+1). <code> t00 *-*-*-*- |
| t01 -*-*-*-* | t01 -*-*-*-* | ||
| t02 *-*-*-*- | t02 *-*-*-*- | ||
| Line 26: | Line 27: | ||
| t14 -**-*--* | t14 -**-*--* | ||
| mergi la t00</code> | mergi la t00</code> | ||
| + | | ||
| + | **Completați** fișierul ''**xdc**'' și **încărcați** soluția **pe FPGA**. | ||
| | | ||
| <note tip> **Hint!** \\ **Pentru întârzierea tranziției trebuie să folosiți un timer.** Timer-ul este un circuit simplu care numără într-un contor tranzițiile ceasului. Astfel, pentru cronometrare folosiți frecvența ceasului ca să aflați câte tranziții trebuie numărate. **Apoi, blocați FSM-ul în starea curentă până când contorul ajunge la valoare dorită.** \\ Pentru simulare, va trebui să micșorați intervalul cronometrat.</note> | <note tip> **Hint!** \\ **Pentru întârzierea tranziției trebuie să folosiți un timer.** Timer-ul este un circuit simplu care numără într-un contor tranzițiile ceasului. Astfel, pentru cronometrare folosiți frecvența ceasului ca să aflați câte tranziții trebuie numărate. **Apoi, blocați FSM-ul în starea curentă până când contorul ajunge la valoare dorită.** \\ Pentru simulare, va trebui să micșorați intervalul cronometrat.</note> | ||
| - | **Task 3** (2.5p + 0.5p + 1p) Implementați un modul care să simuleze comportamentul unui semafor pentru mașini, controlat prin apăsarea unui buton. Pentru acest task vom folosi unul dintre **LED-urile RGB** de pe placă. **Completați** fișierul ''**xdc**'' și **încărcați** soluția **pe FPGA**. | + | **Task 3** (2.5p + 0.5p + 1p) Implementați un modul care să simuleze comportamentul unui semafor pentru mașini, controlat prin apăsarea unui buton. Pentru acest task vom folosi unul dintre **LED-urile RGB** de pe placă. Modul de operare al automatului este prezentat mai jos. |
| - În starea inițială mențineți aprinsă culoarea verde. | - În starea inițială mențineți aprinsă culoarea verde. | ||
| - La apăsarea unui buton, cronometrați un interval de 1 secundă. | - La apăsarea unui buton, cronometrați un interval de 1 secundă. | ||
| Line 35: | Line 38: | ||
| - Apoi, modificați culoarea în roșu și mențineți-o timp de 3 secunde. | - Apoi, modificați culoarea în roșu și mențineți-o timp de 3 secunde. | ||
| - Reveniți la starea inițială. | - Reveniți la starea inițială. | ||
| + | **Completați** fișierul ''**xdc**'' și **încărcați** soluția **pe FPGA**. | ||
| <note important> | <note important> | ||
| Line 58: | Line 62: | ||
| - Sistemul revine la starea inițială. | - Sistemul revine la starea inițială. | ||
| - | **Completați** fișierul ''**xdc**'' pentru modul și încărcați pe FPGA. | + | **Completați** fișierul ''**xdc**'' și **încărcați** soluția **pe FPGA**. |
| <note tip> | <note tip> | ||