-- ############################################################################ -- # 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;