📄 myfunction.vhd
字号:
Library IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
package MyFunc IS
Function max(L, R: INTEGER) return INTEGER ;
Function "+"(L:STD_LOGIC_VECTOR;R:STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR;
END Package MyFunc;
Package Body MyFunc IS
Function max(L, R: INTEGER) return INTEGER is
variable result: INTEGER;
begin
if L > R then
result := L;
else
result := R;
end if;
return result;
end;
Function "+"(L:STD_LOGIC_VECTOR;R:STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR IS
Constant Length : Integer :=max(L'Length,R'Length);
Variable tmp :STD_LOGIC_VECTOR(Length Downto 1);
Variable c0,c1 : STD_LOGIC;
BEGIN
c0:='0';
For i In 1 downto Length Loop
tmp(i):=(L(i) xor R(i)) xor c0;
c1:=(L(i) and R(i)) or (L(i) and c0) or (R(i) and c0);
c0:=c1;
End Loop;
return tmp;
End;
END MyFunc;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -