-- ############################################################################
-- # Project : VHDL-Modellbibliothek #
-- # #
-- # Filename : pack_local.vhd #
-- # #
-- # Beschreibung: PACKAGE fuer die VHDL-Modellbibliothek #
-- # #
-- # #
-- # #
-- # Designer : Wolfgang Sehr #
-- # Abteilung : Lehrstuhl fuer Rechnergestuetzten Schaltungsentwurf #
-- # Datum : 22.02.1995 #
-- ############################################################################
PACKAGE local IS
function LOG_2(arg:INTEGER) RETURN INTEGER;
-- liefert als Rueckgabewert den stets zum groesseren Wert hin auf-
-- gerundeten 2'er Logarithmus des Argumentes im Integerformat.
END local;
PACKAGE BODY local IS
function LOG_2(arg:INTEGER) RETURN INTEGER IS
VARIABLE temp : INTEGER;
BEGIN
IF arg < 2 THEN
RETURN 0;
ELSE
temp := 2;
FOR i IN 1 TO (arg/2) LOOP
temp := 2 * temp;
IF (temp = arg) THEN
RETURN (i+1);
ELSIF (temp > arg) THEN
RETURN i;
END IF;
END LOOP;
END IF;
END;
END local;