vhdl: or vsech signalu

Jan Smrz jan.smrz@honeywell.com
Pátek Říjen 19 15:33:08 CEST 2007


Byt vami, tak se tim vubec netrapim. Stejne se to pak v synteze prevede 
podle pouzite technologie na zakladni bunky dane architektury a tak to 
mnohdy (=skoro vzdy)  vypada uplne jinak, nez v RTL..

J.S.


dejfson wrote:
> Zdravim,
> uz hledim do vhdl prilis dlouho a porad me nenapada jednoduche (i.e. 
> 'krasne') reseni nasledujiciho problemu:
>
> mam counter ktery ma generickou sirku sbernice. Kdyz vyrabim instanci 
> toho counteru, reknu si jaka ma byt
> sirka te sbernice.
>
> Rad bych implementoval do toho counteru JEDNO PROSTE OR HRADLO ktere 
> bude mit na vstupu vsechny vystupy
> toho citace. myslel jsem ze tohle::
>
>   process (LEDCnt) is
>     variable orgate : std_logic;
>   begin  -- process
>     for I in LEDCnt'length-1 downto 1 loop
>       orgate := LEDCnt(0) or LEDCnt(I);
>     end loop;  -- I
>     ZeroDetect <= orgate;
>   end process;
>
>
>
> je suprelegantni reseni problemu. samozrejme ze neni. v rtl je jasne 
> videt ze misto N-vstupoveho OR gate to
> generuje pouze 2vstupovy. na prvnim vstupu je LEDCnt(0) a na druhem 
> LEDCnt(1). Coz je koneckoncu logicke.
>
> Takze otazka: jak se takova vec resi?
>
> zatim jsem to vyresil brute force metodou:
>
>   CntEnable <= LEDCnt(0) or LEDCnt(1) or LEDCnt(2) or LEDCnt(3) or 
> LEDCnt(4) or LEDCnt(5) or LEDCnt(6) or LEDCnt(7) or LEDCnt(8) or 
> LEDCnt(9) or LEDCnt(10) or LEDCnt(11) or LEDCnt(12) or LEDCnt(13) or 
> LEDCnt(14) or LEDCnt(15) or LEDCnt(16) or LEDCnt(17);
>
>
> coz je ovsem dost stupidni reseni.
>
> d.
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>   



Další informace o konferenci Hw-list