library ieee ;
|
|
use ieee.std_logic_1164.all;
|
|
|
|
|
|
package uart_aes_ref is
|
|
|
|
procedure cryptData(datain : in std_logic_vector(0 to 127);
|
|
key : in std_logic_vector(0 to 127);
|
|
iv : in std_logic_vector(0 to 127);
|
|
start : in boolean;
|
|
final : in boolean;
|
|
dataout : out std_logic_vector(0 to 127);
|
|
bytelen : in integer);
|
|
|
|
attribute foreign of cryptData: procedure is "VHPIDIRECT cryptData";
|
|
|
|
function swap (datain : std_logic_vector(0 to 127)) return std_logic_vector;
|
|
|
|
end package;
|
|
|
|
|
|
package body uart_aes_ref is
|
|
|
|
procedure cryptData(datain : in std_logic_vector(0 to 127);
|
|
key : in std_logic_vector(0 to 127);
|
|
iv : in std_logic_vector(0 to 127);
|
|
start : in boolean;
|
|
final : in boolean;
|
|
dataout : out std_logic_vector(0 to 127);
|
|
bytelen : in integer) is
|
|
begin
|
|
report "VHPIDIRECT cryptData" severity failure;
|
|
end procedure;
|
|
|
|
function swap (datain : std_logic_vector(0 to 127)) return std_logic_vector is
|
|
variable v_data : std_logic_vector(0 to 127);
|
|
begin
|
|
for i in 0 to 15 loop
|
|
for y in 0 to 7 loop
|
|
v_data((i*8)+y) := datain((i*8)+7-y);
|
|
end loop;
|
|
end loop;
|
|
return v_data;
|
|
end function;
|
|
|
|
end package body;
|