perché non funziona?
Nel tentativo di aiutare un utente in un altro 3d, mi sono trovato a tentare di ottimizzare un circuito a pass transistor. Solo che la simulazione con LTSpice mi da un risultato di cui non mi capacito, e vorrei capire perché. Nell'immagine allegata, M4,M5 ed M6 sono NMOS, tutti gli altri sono PMOS.
La mia idea generale era quella di usare la normale logica a pass transistor per i singoli prodotti AND, dove il secondo transistor in serie serve a rendere floating l'uscita per non creare conflitti alto/basso dei singoli prodotti. Con solo questa logica l'uscita 0 sarebbe impossibile da ottenere, così ho aggiunto i transistor M4,M5 ed M6 che dovrebbero portare l'uscita bassa quando A,C e D sono 0.
Il problema è che ciò non accade! La simulazione, in quel caso, porta outF a 4,3 V. I modelli dei transistor sono molto semplici, con |Vt|= 0.7 V.
La cosa strana è che se si disconnette outF e guardo solo l'uscita di M4, il valore in uscita è 0; Non capisco quel 4.3 V da dove esca se poi riconnetto tutto a outF, visto che i transistor M1,M2 ed M3 sono disabilitati.
Qualche idea in merito?
La mia idea generale era quella di usare la normale logica a pass transistor per i singoli prodotti AND, dove il secondo transistor in serie serve a rendere floating l'uscita per non creare conflitti alto/basso dei singoli prodotti. Con solo questa logica l'uscita 0 sarebbe impossibile da ottenere, così ho aggiunto i transistor M4,M5 ed M6 che dovrebbero portare l'uscita bassa quando A,C e D sono 0.
Il problema è che ciò non accade! La simulazione, in quel caso, porta outF a 4,3 V. I modelli dei transistor sono molto semplici, con |Vt|= 0.7 V.
La cosa strana è che se si disconnette outF e guardo solo l'uscita di M4, il valore in uscita è 0; Non capisco quel 4.3 V da dove esca se poi riconnetto tutto a outF, visto che i transistor M1,M2 ed M3 sono disabilitati.
Qualche idea in merito?