Contrôleur FIFO synchrone
IntermédiaireSe connecter →
00:00
01Fonctionnement
Le contrôleur FIFO gère un buffer circulaire de profondeur G_FIFO_DEPTH. L'écriture ajoute une donnée quand le FIFO n'est pas plein, la lecture consomme quand il n'est pas vide. Les flags indiquent l'état du FIFO (vide, plein, presque vide, presque plein, compteur d'occupation).
Le reset est synchrone et actif haut.
- L'écriture est ignorée si le FIFO est plein
- La lecture est ignorée si le FIFO est vide
- Les seuils
G_FIFO_A_EMPTYetG_FIFO_A_FULLconfigurent les niveaux d'alerte
02Interface
Génériques :
G_FIFO_PTR_WIDTH: integer — Largeur des pointeursG_FIFO_DEPTH: integer — Profondeur de la FIFO
Ports :
| Signal | Direction | Largeur | Description |
|---|---|---|---|
i_clk | Entrée | 1 bit | Horloge système |
i_rst | Entrée | 1 bit | Reset synchrone |
i_fifo_we | Entrée | 1 bit | Write Enable |
o_fifo_full | Sortie | 1 bit | FIFO pleine |
o_fifo_ptr_wr | Sortie | G_FIFO_PTR_WIDTH | Pointeur d'écriture |
i_fifo_re | Entrée | 1 bit | Read Enable |
o_fifo_empty | Sortie | 1 bit | FIFO vide |
o_fifo_ptr_rd | Sortie | G_FIFO_PTR_WIDTH | Pointeur de lecture |
o_fifo_level | Sortie | G_FIFO_PTR_WIDTH+1 | Niveau de remplissage |