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