问什么我的VHDL程序中会出现WORK库找不到呢??恳请大侠指教 谢谢
发布网友
发布时间:2024-10-08 20:59
我来回答
共1个回答
热心网友
时间:2024-10-08 21:05
是你自己定义的程序包没有进行声明。自己定义的程序包就在WORK这个库中。不晓得为什么你有两个package.而且名字还是一样的。可能是我不知道。但如果是一个package的话,在主程序前面加上:library work;use work.myuse.all;再加上你其他库函数的定义就可以了。
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
PACKAGE myuse IS
procere jfq(din1,din2: in integer range 0 to 31;
dout : out integer range 0 to 31);
END myuse ;
package body myuse is
procere jfq(din1,din2: in integer range 0 to 31;
variable dout : out integer range 0 to 31) is
begin
dout := din1 + din2;
end jfq;
end myuse ;
library work;
use work.myuse.all;
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE work.myuse.ALL;
ENTITY call IS
PORT(
d1,d2: IN integer range 0 to 31;
fout : OUT integer range 0 to 31);
END call ;
ARCHITECTURE a OF call IS
BEGIN
process_label:
PROCESS (d1,d2)
VARIABLE fo : integer range 0 to 31;
BEGIN
jfq(d1,d2,fo);
fout <= fo;
END PROCESS process_label;
END a;
上面的程序如果没有错的话,就不会出现报没有库的错误了。祝你好运~~
不好意思,这个我就不晓得了。我用的是ISE。用自己写的库就是这样声明的。