vhdl: or vsech signalu

Petr Tošovský PetrTosHW@PTmodel.cz
Pátek Říjen 19 18:28:41 CEST 2007


Aha, ja myslel ze potrebujes pomoc a ne ze to je hadanka. Myslim ze nase 
zapisy jsou ekvivalentni, jen zalezi jak mate definovany range sbernice. 
Rekl bych ale ze timto zapisem se provadi LEDCnt(0) OR LEDCnt(0) OR  
LEDCnt(1) .... coz se pri synteze minimalizuje na to co potrebujes 
stejne jako v mem zapisu se vyredukuje '0' z promenne. Nezkousel jsem 
to, ale bude to tak.
Pri zapisu orgate(0) to vypada ze zbytek mas jako sbernici, ale neni to 
spatne.

Tosa





dejfson napsal(a):
> nene. spravne je tam
>
> begin
>   orgate(0) := LEDCnt(0);
>    for i in LEDCnt'range loop
>      orgate := orgate OR LEDCnt(i);
>
>
> ----
> TO MS:
>
> formulace (ekvivalent vaseho ceckoveho zapisu)
>
> CntEnable = '1' when LEDCnt /= STD_LOGIC_VECTOR(TO_UNSIGNED(0, 
> LEDCnt'length)) else '0';
>
> vede k matematickemu bloku.
>
>
> 19.10.07, * Petr Tošovský* <PetrTosHW@ptmodel.cz 
> <mailto:PetrTosHW@ptmodel.cz>>:
>
>     Spravne bys tam mel mit
>
>     begin
>        orgate := '0';
>         for i in LEDCnt'range loop
>           orgate := orgate OR LEDCnt(i);
>     .............
>
>     Tosa
>
>
>
>
>
>     dejfson napsal(a):
>     > 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 <http://www.HW.cz>
>     > Hw-list@list.hw.cz <mailto:Hw-list@list.hw.cz>
>     > http://list.hw.cz/mailman/listinfo/hw-list
>     <http://list.hw.cz/mailman/listinfo/hw-list>
>     >
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list@list.hw.cz <mailto:Hw-list@list.hw.cz>
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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