Hvilken er den fasest logikk for gray2bin omformer?

E

elektrom

Guest
Jeg designer ASYNC FIFO 512x32 på VIRTEX II og fant at criticial banen i gray2bin omformer.Nedenfor er gray2bin funksjon som jeg brukte, Vet du noe raskere logikken?

funksjon GRAY2BIN (GRAYSLV: std_logic_vector) return std_logic_vector er
variabel BINSLV: std_logic_vector (GRAYSLV'range);
begynne
for jeg i GRAYSLV'range sløyfe
hvis jeg = GRAYSLV'left da
BINSLV (I): = GRAYSLV (I);
else BINSLV (I): = GRAYSLV (I) xor BINSLV (I 1);
end if;
end loop;
return BINSLV;
end function GRAY2BIN;

 
Beklager.Egentlig trenger jeg raskeste logikk for grå teller.Tradisjonell arkitektur er
1) gray2bin
2) binære increment
3) bin2gray

Vet noen anyother teknikk?

 
Håper dette hjelper ....
http://www.dspguru.com/comp.dsp/tricks/alg/grayconv.htm

tut ..

 
Hei,

prøv dette:

--------------
library IEEE;
bruk ieee.std_logic_1164.all;
bruk ieee.std_logic_arith.all;

Entity gray_cnt er
generisk (
cnt_size: integer range 0 til 15: = 8
);
port (
RST: in std_logic;
CLK: in std_logic;
cnt: out std_logic_vector (7 downto 0)
);
end gray_cnt;

arkitektur RTL av gray_cnt er

signal counter: std_logic_vector (cnt_size-1 downto 0);
signal tog: std_logic;
konstant null: std_logic_vector (cnt_size-1 downto 0): = (andre => '0 ');begynne

grå: process (clk, rst)
variabel i: integer;
begynne
if (RST = '0 ') then
counter <= (andre => '0 ');
tog <= '1 ';
elsif CLK = '1 'and clk'event deretter
tog <= ikke tog;
hvis tog = '1 'da
counter (0) <= ikke teller (0);
ellers
hvis counter (0) = '1 'da
counter (1) <= ikke teller (1);
end if;
for i in 2 til (cnt_size-1) loop
hvis counter (i-1) '1 '= og mot (i-2 downto 0) = null (i-2 downto 0) så
counter (i) <= ikke teller (i);
end if;
end loop;
end if;
end if;
end prosessen grå;

cnt <= teller;

end;vellykket syntetiserte med ise<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />
 
port
(
RST: in std_logic;
CLK: in std_logic;downto 0)

cnt: out std_logic_vector (cnt_size-1
downto 0)
);
end gray_cnt;

 
til BlackJack:

oops

<img src="http://www.edaboard.com/images/smiles/icon_redface.gif" alt="Flau" border="0" />hvis det er den eneste feil i design mitt, det er ikke så ille

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

Welcome to EDABoard.com

Sponsor

Back
Top