Zdravim,<br>uz hledim do vhdl prilis dlouho a porad me nenapada jednoduche (i.e. &#39;krasne&#39;) reseni nasledujiciho problemu:<br><br>mam counter ktery ma generickou sirku sbernice. Kdyz vyrabim instanci toho counteru, reknu si jaka ma byt
<br>sirka te sbernice. <br><br>Rad bych implementoval do toho counteru JEDNO PROSTE OR HRADLO ktere bude mit na vstupu vsechny vystupy<br>toho citace. myslel jsem ze tohle::<br><br>&nbsp; process (LEDCnt) is<br>&nbsp;&nbsp;&nbsp; variable orgate : std_logic;
<br>&nbsp; begin&nbsp; -- process<br>&nbsp;&nbsp;&nbsp; for I in LEDCnt&#39;length-1 downto 1 loop<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orgate := LEDCnt(0) or LEDCnt(I);<br>&nbsp;&nbsp;&nbsp; end loop;&nbsp; -- I<br>&nbsp;&nbsp;&nbsp; ZeroDetect &lt;= orgate;<br>&nbsp; end process;<br><br><br><br>je suprelegantni reseni problemu. samozrejme ze neni. v rtl je jasne videt ze misto N-vstupoveho OR gate to 
<br>generuje pouze 2vstupovy. na prvnim vstupu je LEDCnt(0) a na druhem LEDCnt(1). Coz je koneckoncu logicke.<br><br>Takze otazka: jak se takova vec resi?<br><br>zatim jsem to vyresil brute force metodou:<br><br>&nbsp; CntEnable &lt;= 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);
<br><br><br>coz je ovsem dost stupidni reseni.<br><br>d.<br><br>