Kuris fasest logika gray2bin konverteris?

E

elektrom

Guest
I'm projektavimas async FIFO 512x32 dėl virtex II ir nustatė, kad criticial kelias į gray2bin konverteris.Žemiau yra gray2bin funkcija, kad aš, ar žinote, bet greičiau logika?

funkcija GRAY2BIN (GRAYSLV: std_logic_vector) return std_logic_vector yra
kintamasis BINSLV: std_logic_vector (GRAYSLV'range);
pradėti
for i in GRAYSLV'range kilpa
jei aš = GRAYSLV'left tada
BINSLV (I): = GRAYSLV (I);
kitas BINSLV (I): = GRAYSLV (I) xor BINSLV (i 1);
end if;
end loop;
grįžti BINSLV;
End Function GRAY2BIN;

 
Atsiprašau.Tiesą sakant, man reikia sparčiausiai logika pilka counter.Tradicinė architektūra
1) gray2bin
2) Dvejetainis prieaugio
3) bin2gray

Does anyone know anyother technika?

 
Hope this helps ....
http://www.dspguru.com/comp.dsp/tricks/alg/grayconv.htm

Tut ..

 
Labas,

pabandykite:

--------------
Biblioteka IEEE;
naudoti ieee.std_logic_1164.all;
naudoti ieee.std_logic_arith.all;

Subjektas gray_cnt yra
generic (
cnt_size: sveikasis skaičius nuo 0 iki 15: = 8
)
uostas (
RST: In std_logic;
CLK: in std_logic;
CNT: iš std_logic_vector (7 downto 0)
)
pabaigos gray_cnt;

Architektūra RTL dėl gray_cnt yra

signalas Skaitliukas: std_logic_vector (cnt_size-1 downto 0);
signalas Tog: std_logic;
nuolatinis nuliui: std_logic_vector (cnt_size-1 downto 0): = (Kita => '0 ');pradėti

pilka: procesas (CLK, GR)
kintamasis i: integer;
pradėti
if (RST = '0 '), tada
counter <= (Kita => '0 ');
Tog <= '1 ';
elsif CLK = '1 'ir clk'event tada
Tog <= ne tog;
jei tog = '1 'tada
skaitiklis (0) <= ne biržoje (0);
kitas
jei skaitiklis (0) = "1", tada
skaitiklis (1) <= ne skaitiklis (1);
end if;
for i in 2 (cnt_size-1) linijos
jei skaitiklis (I-1) = '1 'ir skaitiklis (I-2 downto 0) = nuliui (I-2 downto 0) tada
skaitiklis (i) <= ne skaitiklis (i);
end if;
end loop;
end if;
end if;
pabaigos procesą pilka;

CNT <= skaitiklis;

pabaigojesėkmingai susintetintas su ise<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Mirkčiojimai" border="0" />
 
uostas
(
RST: In std_logic;
CLK: in std_logic;downto 0)

CNT: iš std_logic_vector (cnt_size-1
downto 0)
)
pabaigos gray_cnt;

 
to BlackJack:

Oi

<img src="http://www.edaboard.com/images/smiles/icon_redface.gif" alt="Embarassed" border="0" />jei tai tik klaida mano dizainas, that's not too bad

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Mirkčiojimai" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top