我是Vivado和VHDL的新手,我想就一个基本问题提供一些指导.
我猜我可以创建自己的库并在我的项目中使用它们,就像我使用默认库和基本库一样
例如:
library IEEE;
use IEEE.std_logic_1164.ALL;
use IEEE.std_logic_unsigned.ALL;
Run Code Online (Sandbox Code Playgroud)
现在,通过在网上浏览,我没有找到任何具体的答案,没有任何直接的方式来"添加库"(至少在我的Vivado版本中).
有没有办法构建VHDL代码,让我们说类型定义,并在任何你喜欢的文件中使用它们,例如在C中完成?
所以库只是处理一些名称冲突的方法.因此,Xilinx(或其他供应商)可以发布新实体,而不会与现有对象发生冲突.你当然可以这样做,但它实际上并没有为你解决任何问题.
相反,你正在寻找的是一个包.让我们来看看我们将如何使用它:
让我们创建另一个文件 tools.vhd
package tools is
type tribool is (true, false, maybe);
end package;
Run Code Online (Sandbox Code Playgroud)
然后我们可以在我们的实体中使用:
use work.tools.all;
...
signal x : tribool := maybe;
Run Code Online (Sandbox Code Playgroud)