Inout uostų VHDL

J

joinfaisal

Guest
Hello all ..

Ar kas nors pasakyti, kaip elgtis su Inout uosto VHDL.
Man patinka šis modelis

if (sel = '1 'ir sel_not = '0'), tada
Y <= X
kitas
Y <= '0 ';

Dabar aš noriu tai padaryti bidirectionaly ty paties sel ir sel_not signalus ... Jei mes turime indėlis Y tuomet ji turėtų kreiptis į deklaruotos XI X ir Y Inout ir naudojamas kito proceso, kaip tai

if (sel = '1 'ir sel_not = '0'), tada
X <= Y
kitas
X <= '0 ';

Dabar problema yra tai leidžia "X", kai simulating.I žinoti apie šią problemą priežasties, bet i dont know tinkamas būdas tai padaryti it.Can vienai Help ... thnxxx iš anksto.

 
Pabandykite naudoti atveju atributas ir yra X, Y, Sel, sel_not į jautrių sąrašą.Ir jei sąlyga Put X'event ar Y'event alongwith Sel & sel_not.

 
Kokie jūs bandote padaryti?Manau, kad Jūsų būklė "(sel = '1 'ir sel_not = '0')" vienodo abiejų "jeigu" nėra prasmės, nes tai yra parašyta taip pat galite pasakyti:

if (sel = '1 'ir sel_not = '0'), tada
x <= y;
y <= x;
kitas
x <= '0 ';
y <= '0 ';
end if;

Kokia logika tai yra?

 
Atsiprašome galiu pateikti klausimą kailio ..... leidžia padaryti jį paprasta ....Noriu įvesti kai kuriuos iš X ir išėjimo signalas Y užleido .... duomenų

if (sel = '1 ') then
y <= x;
kitas
y <= 'Z';

Dabar aš noriu, kad jeigu aš įvesties Mano duomenys Y ir išėjimo iš X tai kaip tai padaryti??Aš declard x ir y, kaip Inout uosto, o tiesiog daro tai nepadeda man ... bet kuri įstaiga, prašome padėti ugently ....

laukiame atsakymo ....

 
Inout uosto signalų modelius vieną dvipusį PIN lustą.Jūs negalite turėti signalus vyksta abiem kryptimis vienu metu be trukdžių.

Jei yra pastato synthesizable kodas programuojamos logikos, visi išėjimai turi būti perjungiamos į neveikiančią ( "Z") režimas, ir tik vienas išėjimas gali būti aktyvi ( "0" arba "1") bet kuriuo metu.

Jei yra tik imitavimas, taip pat galite eksperimentuoti su silpna logika, kuri suteikia jums vielos OR'ing ar vielos AND'ing priklausomai nuo jūsų požiūriu (aktyviosios arba labai aktyvūs mažai signalai).

Jei norite signalai eiti abiem kryptimis tuo pačiu metu, tuomet turite naudoti dvi atskiras uostas signalus.
Paskutinį kartą redagavo tkbits on 02 gali 2005 21:00, edited 1 kartą

 
Ar jums tai ką nors paprasto kaip dvi back-to-back tristate buferiai su bet kuria kryptimi įjungtas:

Kodasy <= x, kai sel = '1 'else' Z ';

x <= y kai sel = '0 'else' Z ';

 
thxx vemti ir tkbits ...

I dont wanna tai darbas simuntaneously į abi puses o ne viena problema direction.Now metu yra vemti paminėti, kad jei signalas eina iš X į Y, nes tuomet y yra Inout uoste, todėl šis uostas bus drived ir rezultatas bus XI Nežinau, kaip išspręsti šią problem.Actualy Noriu imituoti perdavimo vartai VHDL elgesį ir aš noriu perduoti vartai dirbti į abi puses.
jei kas nors idėją įgyvendinti perdavimui vartai ar tristatebuffer kurie dirba abi puses, kad pasiūlymai yra sveikintina ..

laukiame atsakymo.

 
Hi joinfaisal,

Ar galima į savo dizainą "pertrauka" X ir Y į keturias signalus, o ne du?Aš turiu galvoje, kad X_in, Y_in kaip įėjimai ir X_out ir Y_out kaip outputs.Tai leis supaprastinti jūsų problemos ir nereikia Tri-State buferius.
Kitas būdas būtų išsaugoti X ir Y reikšmės (kai veikia kaip žaliavų) į laiko buferiai temp_x ir temp_y, skaitant ir kai sel = 1, jei norite parašyti šių buferiai X ir Y (kai veikia kaip išėjimai) esant šalia laikrodžio krašto.It's just a thought aš ne imituoti ją pamatyti, jei ji veikia.

 

Welcome to EDABoard.com

Sponsor

Back
Top