有没有办法在VHDL中生成端口声明?我想做一些类似于#IFDEF的调试信号到oscope的引脚。这样我就可以快速启用或禁用调试逻辑。例如:
entity my_entity is
port (
debug_label: if debug_on = 1 generate
debug1: out;
end debug_label;
....
);
end component;
当我尝试这样的事情时,这是行不通的。有没有办法使它工作?或者做类似事情的另一种方法?
答案 0 :(得分:3)
端口不能是有条件的,但是例如a的长度
std_logic_vector
可以通过通用配置,长度可以
甚至为0,导致零范围。显示此内容的实体是:
entity mdl is
generic(
DEBUG_LEN : natural := 0);
port(
...
debug_o : out std_logic_vector(DEBUG_LEN - 1 downto 0));
end entity;
您应该运行测试合成以查看所选合成工具的方式 分配到引脚时处理空范围。