problem u VHDL-signala dodijeljen jedan pin od komponenti

A

ahmadagha23

Guest
Hi;
Ja dodijeljena signal na jedan pin od komponenti u top-modula.u definiranju tog komponenta I inicijaliziran da pin na '0 '.
po defaultu taj pin je definiran kao "inout" tipa.Dok simuliranja u vrhu modula kada se vrijednost signala trebalo promijeniti u "1", ona mijenja u "X".Kad sam promijeniti tip da je to pin "u" tip to radi istina.Želim iskoristiti taj pin i kao van, pa sam trebao koristiti ga kao "inout".U stvari je to strani dvosmjerno tampon.
Molim Vas vodič?moj broj je u VHDL.

Pozdravi

 
Dok je pisao u HDL uvijek pokušati vizualizirati ono što vaš broj će se prinos u sintezi.

Za dvosmjerno signal koji može voziti i može biti upravljan tamo bi trebao neki drugi signal koji određuje kada djelovati kao ulazni i kada je kao output.if nemate takvih signala što onda ćete vidjeti kao 'X', jer će se dva vozača za isti signal. (jedan iz unutar vašeg dizajna i ostalih izvana.)
Ovdje je lijep primjer tipične tristate tampon.

Quote:KNJIŽNICA IEEE;

KORIŠTENJE ieee.std_logic_1164.ALL;SUBJEKTA bidir IS

PORT (

bidir: InOut STD_LOGIC_VECTOR (7 DOWNTO 0);

oe, CLK: U STD_LOGIC;

INP: U STD_LOGIC_VECTOR (7 DOWNTO 0);

outp: OUT STD_LOGIC_VECTOR (7 DOWNTO 0));

END bidir;ARHITEKTURA maxpld OF bidir JE

SIGNAL: STD_LOGIC_VECTOR (7 DOWNTO 0); - DFF koja pohranjuje

- Vrijednost od ulaza.

Krcam: STD_LOGIC_VECTOR (7 DOWNTO 0); - DFF koja pohranjuje

BEGIN - povratne vrijednosti.

Proces (CLK)

BEGIN

AKO CLK = '1 'AND THEN clk'EVENT - stvara flipflops

<= INP;

outp <= b;

END IF;

Kraj Napredak;

PROCES (oe, bidir) - Behavioral reprezentacije

BEGIN - Tri-država.

IF (oe = '0 ') ONDA

bidir <= "ZZZZZZZZ";

b <= bidir;

OSTALO

bidir <=;

b <= bidir;

END IF;

Kraj Napredak;

END maxpld;

 
Ja tumačiti razloga: za inout luka nalazi se unutarnji i vanjski vozači koji rade samostalno.Na taj način te bi trebao utvrđivan za svaku od unutarnjih i vanjskih stanja njihove vrijednosti i te vrijednosti ne bi trebali imati sukoba.Na primjer, kada sam dodao doznaka od 'Z' vrijednosti u interni kod za navode da inout pin treba drived vanjski vrijednosti Internet izrađen vjerno.
proces (clk_DIRn, aclk, bclk)
početi
if (clk_DIRn = '1 ') onda
aclk <= bclk nakon Tbuff Tcable Tbuff;
bclk <= 'Z';
elsif (clk_DIRn = '0 ') onda
bclk <= aclk nakon Tbkp;
aclk <= 'Z';
end if;
kraju procesa;

pozdrav

 
Je li vaš problem riješen?
koji je tvoj dvosmjerno signal?

 
da je riješeno.kako aclk i bclk se dvosmjerno.u može uzeti u obzir samo jedan od njih.

 

Welcome to EDABoard.com

Sponsor

Back
Top