# Circuiti Sequenziali Circuiti nel quale il valore dell'uscita dipende sia dagli ingressi ma anche dal tempo. Il circuito ha infatti memoria del passato. Memorie a disposizione: - **Bistabile**: appunto che possiedo solo 2 stati - **Latch**: bistabile pilotato da un circuito, sensibile sul livello alto. - **Flip-flop**: bistabile letch pilotato dal clock. Cioè l'evento di **edge rise** , il segnale di Edge Detection campiona e memorizza. Diversi tipi di flipflop : - **flip-flop SR**: comandato dai segnali di SET e RESET. Il principale problema è il loro stato proibiti, cioè quando SR sono entrambi a 1. - **flip-flop JK**: funziona identico al SR, con J=S e K=R . è un miglioramento del SR, in cui quando entrambi sono settati a 1 non dà problemi. - **flip flop D**: flip-flop 'Data' - **flip-flop T**: flip flop 'Toggle' ![tab transizioni e tab eccitazioni](images/tabTransEcc.png) Diverse tabelle per i bistabili: - **tabella transizioni**: mi dice cioé le funzioni svolte dal bistabile/flipflop. Transizione $S,I \rightarrow S$ - **tabella eccitazioni**: mi dice cosa dovrei applicare al bistabile/flipflop per ottenere uno specifico stato dallo stato attuale. Eccitazione $S,S^* \rightarrow S$ > è importante saper ricavare le tabelle di eccitazione piuttosto che ricordarsele Con i circuiti sequenziali abbiamo il cosiddetto concetto di stato. Questo è un tassello fondamentale per realizzare concretamente modelli comportamentali come le MSFD o DFSM (Deterministic Finite State Machine). Nella **macchina di Huffman** abbiamo una netta separazione tra rete combinatorio e logica sequenziale. ![macchinasequenziale](images/macchinasequenziale.jpg) Da notare come nella logica combinatoria debba implementare le giuste tabelle di eccitazioni per le funzioni di $\delta$ e $\lambda$.