Chargement…
Chargement…
Générateur I2C simplifié qui émet une phase d'adressage : START, adresse 7 bits, bit R/W, emplacement d'ACK, puis retour au repos.
Comportement :
o_sda et o_scl valent '1'.i_start='1' au front montant de i_clk, le module mémorise i_addr & i_rw et génère un START : o_sda descend pendant que o_scl reste haut.o_scl.ST_ACK représente le neuvième cycle, mais aucun ACK externe n'est lu : o_sda est une sortie et le module ne possède pas d'entrée SDA.o_done vaut '1' pendant un cycle, puis le retour à l'état de repos remet o_sda et o_scl à '1', ce qui termine la séquence.*Le module n'a pas d'entrée de reset ; ses registres utilisent leurs valeurs d'initialisation.*
| Signal | Direction | Largeur | Description |
|---|---|---|---|
i_clk | Entrée | 1 bit | Horloge système |
i_start | Entrée | 1 bit | Déclenchement de la transaction |
i_addr | Entrée | 7 bits | Adresse esclave |
i_rw | Entrée | 1 bit | Bit R/W (0=écriture, 1=lecture) |
o_sda | Sortie | 1 bit | Ligne SDA |
o_scl | Sortie | 1 bit | Ligne SCL |
o_done | Sortie | 1 bit | Transaction terminee |