pin tipo VHDL inout

A

Alexz

Guest
Quando un pin è dichiarata come tipo di INOUT, come fa a sapere quando è come implementare un input e quando come uscita?

 
hai sempre bisogno di alcuni pin di controllo di dettare le usege del perno.
se la sua scelta in direzione di un segnale di controllo, o l'uscita di attivare o segnale read/write-.

 
di solito si usa un buffer a tre stati per la gestione dei porti inout.si avrà un segnale di abilitazione per controllarla.

 
Non funziona su entrambe le direzioni.
Ho cercato di simulare un buffer tri Stato, e funziona solo come uscita

 
I dont speak VHDL molto bene, darà u come itz fatto in Verilog.

Supponiamo che il segnale inout ur è inout_sig che permette di dire è un po ', poi nel file top del design ur:

assegnare inout_sig = (out_en)?out_sig: 1'bZ;

La dichiarazione di cui sopra ne deduce uno a tre stati in cui out_sig è il suo input e out_en è il consentire.quando out_en = 1, out_sig è spinto a inout_sig, altrimenti quando out_en = 0 sarà in alta impedenza.quindi qualsiasi valore che è determinato ai inouot_sig come un ingresso (da testbench UR) possono essere presi.per ottenere l'ingresso, u dovrebbe avere un filo di input che deve essere collegato a inout_sig.

qui out_sig deve essere dichiarato come un filo di uscita.ogni volta che U desidera guidare una banca dati di ur porta inout, affermare il out_en a 1 e guidare i dati per il filo out_sig.
Ora, secondo la dichiarazione assegnare, inout_sig avrà il valore di guidare.

Lo stesso concetto può essere fatto in VHDL.Hope this helps ..

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />

[/ img]

 
è Alos dipende da come avete fatto il vostro banco di prova, in alcuni casi può Stimul vigore pin per mostrare il valore fisso.qui l'esempio VHDL come impliment pin biderectionalpin_io <= a quando enable = '1 'else z ;---- dati in uscita
- Input di dati

process (clk)
iniziare
se clk = '1 'e clk'event diAggiunto dopo 1 minuti:è Alos dipende da come avete fatto il vostro banco di prova, in alcuni casi può Stimul vigore pin per mostrare il valore fisso.qui l'esempio VHDL come impliment pin biderectionalpin_io <= a quando enable = '1 'else z ;---- dati in uscita
- Input di dati

process (clk)
iniziare
se clk = '1 'e clk'event di
se latch = '1 'di
q <= pin_io;
end if;
end if;
end process;Buona la mancanza

 
Ok Prima di tutto si dovrà spiegare è questo uno pin di un chip o una porta di un ente?

Se assumiamo che si tratta di un pin di un chip allora quindi si avrà una cella IO interfacciato con questa porta dell'entità di livello superiore in VHDL.Ora, questa cella IO avrà un feedback buffer a tre stati con un solo ingresso.E la volontà TriState attivare solo quando il segnale è uno driving.Basically l'consentire di TriState sarà controllato dal segnale one.In altro caso in cui PIN1 viene acquistato a partire dal segnale di fuori due sarà assegnato direttamente il suo valore.

PIN1 -------------- <|---- Signal One (output)
PIN1 -------------->> Signal Two (input)

 
Alexz ha scritto:

Non funziona su entrambe le direzioni.

Ho cercato di simulare un buffer tri Stato, e funziona solo come uscita
 
Beh credo u capirà da questo esempio ...

quando mai u utilizzare alcuni pin di uscita, che sono di nuovo feed back to ur lato di ingresso quindi generalmente usiamo pins inout ..

per esempioall'uso della biblioteca;uso IEEE.std_logic_1164.ali;sr_latch entità èport (s, r: in std_logic;q, qb: std_logic inout);fine sr_latch;
behv architettura di sr_latch èiniziareq <= s nand qd;qb <= q nand r;fine behv;in caso di esempio di cui sopra (latch SR) .. prendiamo pin di uscita qb di nuovo come un pin di ingresso in ingresso NAND ... questo è dove inout pin si usa in genere ...

 
tkbits ha scritto:per ottenere validi segnali di dbus, 1) tutte le uscite devono essere da buffer a tre stati, e 2), esattamente un output deve essere attivo (non-Z)..
 
Le regole di cui sopra sono di valido (non-X) segnali.E 'possibile avere alcuna uscite a tre stati attivi, nel qual caso il segnale ha un valore sconosciuto.E 'possibile avere più di una uscita a tre stati attivi - se ci sono opposte uscite (uno a '0' e un altro a '1 '), il segnale avrà anche un valore sconosciuto.

Si garantisce che i segnali VALIDO in un dato momento, garantendo esattamente un uscita è attiva in quel momento (e che soddisfano i tempi di configurazione di tutti gli ingressi legati ad esso).

Non si può guardare il porto INOUT in isolamento dalla logica esterna.Le uscite esterne logica deve collegare anche tramite le uscite a tre stati per il porto INOUT, per consentire i segnali di uscita da all'interno del modulo.

 
Così, mi prendo la uotput di default dovrebbe essere TRI diritto STATO?

 

Welcome to EDABoard.com

Sponsor

Back
Top