Accelerated_Wireguard/fpga/maths/vhdl/maths_pkg.vhd

23 lines
615 B
VHDL
Raw Permalink Normal View History

-- This package should cover all non-project specific maths functions that can be called
-- Some of these are only suitable for use pre-synthesis, as they will not function properly
-- during normal operation. These will be marked appropriately during creation
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use ieee.math_real.all;
package maths_pkg is
function log_ceil(input : natural) return natural;
end package;
package body maths_pkg is
function log_ceil(input : natural) return natural is
begin
return natural(ceil(log2(real(input))));
end function;
end package body;