Kā tikt galā ar inout ostām VHDL?

J

joinfaisal

Guest
sveiki visiem ..

Vai kāds man pastāstīt, kā rīkoties ar inout ostā vhdl.
Man ir modelis, kā šis

ja (SEL = "1" un sel_not = '0 '), tad
Y <= X
vēl
Y <= '0 ';

tagad es gribu to darīt bidirectionaly ti pašu SEL un sel_not signālu ... ja mums ir ieguldījums no Y, tad tai vajadzētu iet uz XI deklarēta X un Y inout un izmanto citu procesu, kā šis

ja (SEL = "1" un sel_not = '0 '), tad
X <= Y
vēl
X <= '0 ';

Tagad problēma ir tā, tas dod "X", ja simulating.I zināt dēļ šo problēmu, bet es dont zināt pareizu veids, kā to izdarīt it.Can kāds palīdzēt ... thnxxx iepriekš.

 
Mēģiniet izmantot notikumu atribūtu un iekļauj X, Y, SEL, sel_not tādā jutīgā sarakstā.Un, ja nosacījums Novietojiet X'event vai Y'event alongwith SEL & sel_not.

 
Ko jūs mēģināt darīt?Es domāju, ka Jūsu stāvoklis "(SEL =" 1 "un sel_not =" 0 ")" ir vienāda abās ", ja" nav jēgas, jo tas ir rakstīts jūs varat arī teikt:

ja (SEL = "1" un sel_not = '0 '), tad
x <= y;
y <= x;
vēl
x <= '0 ';
y <= '0 ';
beidzas, ja;

Kāda veida loģikas tas ir?

 
sorry man kā jautājumu nepareizi ..... ļauj padarīt to vienkārši ....Es gribu ieejas dažus datus no x un izejas y noteiktā veidā ....

ja (SEL = "1"), tad
y <= x;
vēl
y <= 'Z';

tagad es gribu, ka ja es ievadi savus datus no y un izejas no x, tad, kā to izdarīt??Es declard x un y kā inout ostu, bet tikai darot tas nav darbs mani ... jebkura struktūra, lūdzu, palīdzēt ugently ....

gaida atbildi ....

 
Inout ostas signālu modeļus vienu divvirzienu pin uz mikroshēmas.Jūs nevarat būt signālus abos virzienos vienlaicīgi, bez iejaukšanās.

Ja Jums ir ēkas synthesizable kodu programmējamas loģiskās, visi rezultāti ir ieslēdzamas uz neaktīva ("Z") režīmā, un tikai viens izvades var būt aktīvi ("0" vai "1") jebkurā brīdī.

Ja Jums ir tikai imitē, varat arī eksperimentēt ar vāju loģiku, kas sniedz jums stiepļu OR'ing vai stiepļu AND'ing atkarībā no jūsu viedokļa (aktīvi augsta vai aktīvi zemu signāli).

Ja jūs vēlaties signāli iet abos virzienos vienlaicīgi, tad jums ir jāizmanto divas atsevišķas ostas signālus.
Pēdējo reizi laboja tkbits gada 2 maijs 2005 22:00; rediģēts 1 reizi kopā

 
Vai jums ir kaut ko vienkāršu, piemēram, divas back-to-back tristate buferi ar jebkurā virzienā ļāva:

Kods:y <= x, ja sel = '1 'cits' Z ';

x <= y, ja sel = '0 'cits' Z ';

 
thxx vēmekļi un tkbits ...

I dont vēlas, lai tas darbu simuntaneously abās virzienā, bet brīdī, vienā direction.Now problēma ir kā vēmekļi minēts, ka, ja signāls iet no x līdz y, tad, jo y ir inout ports tik šis ports tiks drived, un rezultāts būs XI dont zinām, kā pārvarēt šo problem.Actualy es gribu, lai modelētu uzvedības pārvades vārtiem VHDL un es vēlos pārvades vārtiem strādāt gan virzienā.
ja kādam ir ideja, lai īstenotu pārraides vārtiem vai tristatebuffer, kas darbojas abos virzienos, ka ieteikumi ir welcome ..

gaida atbildi.

 
Hi joinfaisal,

Vai tas ir iespējams, jūsu dizains "pārtraukums" X un Y četrās signāli nevis divi?Es domāju, ir X_in, Y_in kā izejvielas un X_out un Y_out par rezultātu.Tas vienkāršos jūsu problēma, un jums nav nepieciešams tri-state buferi.
Vēl viens veids ir saglabāt vērtības X un Y (ja darbojas kā izejvielas) uz laika buferi temp_x un temp_y lasot un tad, kad sel = 1, lai rakstītu šo buferi uz X un Y (ja darbojas kā izejas) pie nākamā pulksteni mala.Tas ir tikai domāju, ka man nav simulēt to redzētu, vai tas darbojas.

 

Welcome to EDABoard.com

Sponsor

Back
Top