Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[VHDL] Ilość bitów potrzebnych dla liczb natural lub integer

31 May 2010 12:34 2021 2
  • Level 9  
    Witam

    Czy w VHDLu jest jakiś sposób na szybkie wyznaczenie ilości bitów potrzebnych dla reprezentacji liczby typu natural lub integer bez tworzenia własnej funkcji lub procedury? Wiem, że dla wektorów wystarczy skorzystać z atrybutu LENGTH.
    Odczyt ilości bitów chcę wykonać np. na takiej stałej:
    Code:
    constant MEMO_BLOCKS_W  : natural := 9;

    Wartość tej stałej zdefiniowana jest w oddzielnym pakiecie i jest dostosowywana do danych na jakich układ będzie pracował.
  • VIP Meritorious for electroda.pl
    Nie ma. Musisz sobie policzyć $$\lceil \log_2 \mathrm{MEMO\_BLOCKS\_W} \rceil$$.
  • Level 9  
    A jednak się da :)
    Wystarczy dodać tą bibliotekę:
    Code:
    use IEEE.MATH_REAL.all;
    

    a następnie utworzyć stałą, która będzie przechowywać informację o ilości potrzebnych bitów
    Code:
    constant MEMO_BLOCKS_W  : natural := 9;
    
    constant MEMO_BLOCKS_W_L: natural := natural(ceil(log2(real(MEMO_BLOCKS_W))));