Board logo

标题: 求助:一个简单VHDL程序,帮找一下错!谢谢! [打印本页]

作者: kalagod    时间: 2006-6-24 10:22     标题: 求助:一个简单VHDL程序,帮找一下错!谢谢!

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
PACKAGE abc IS
function max (a,b,c:in std_logic_vector)
   return std_logic_vector;
END abc;
PACKAGE body abc IS
function max (a,b,c:in std_logic_vector)
   return std_logic_vector is
begin
if a>b then
  if a>c then return a;
    else return c;
  end if;
else if b>c then return b;
      else return c;
     end if;
end if;
end function max;
END abc;
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE work.abc.ALL;
ENTITY amax IS
 ORT(
  a1,a2,a3 : IN STD_LOGIC_vector(3 downto 0);
  b1,b2,b3: IN STD_LOGIC_VECTOR(3 downto 0);
  y1, y2: OUT STD_LOGIC_vector(3 downto 0));
END amax;
ARCHITECTURE a OF amax IS
BEGIN
pro1:
PROCESS (a1,a2,a3)
BEGIN
y1<=max(a1,a2,a3);
END PROCESS ;
pro2:
PROCESS (b1,b2,b3)
BEGIN
y1<=max (b1,b2,b3);
END PROCESS ;
END a;

作者: kalagod    时间: 2006-6-24 10:26

错误提示:ruturn statement in an if or case statement is not supported
作者: stone133    时间: 2006-6-26 10:30

if语句里不支持return,你不能直接在if语句里面直接返回数值,并且函数语句中只能返回一个值,你要是想返回多个值就需要用过程(procedure)
作者: kalagod    时间: 2006-6-27 08:50

谢谢版主,非常感谢!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0