VHDL中的函数
(1)函数的一般形式
函数的一般形式如下:
函数定义 is
函数说明部分
begin
函数语句部分
end [函数类型] [函数名]
在函数定义部分,要说明函数名、函数的参数及返回的类型;
函数说明部分,有类似于进程语句的说明区,说明变量、常量和类型,但不能说明信号;
在函数语句部分用具体的语句说明此函数的功能,这些语句包括全部并发语句。
另外还需要注意,函数总是要返回一个值,该值的类型也在函数说明部分说明。
(1)函数源bit_to_int的描述
function bit_to_int (in1 : bit_vector) return integer is
alias v1 : BIT_VECTOR(in1' LENGTH - 1 downto 0) is in1;
variable inpv : bit_vector(in1' LENGTH - 1 downto 0);
variable SUM : integer := 0;
variable negative : boolean := false;
begin
inpv := in1; --将要转换的数放入一临时变量
if v1(v1' LENGTH - 1) = '1' then
for i in v1' LENGTH - 1 downto 0 loop
inpv(i) := not inpv(i);
end loop;
--以上是判断位向量所代表的数是否为负数(最高位为1则为负)
--如果是,则转化为整数
lp1:
for i in 0