我有一个名为“inner_module”的 vhdl 模块,带有一些输入和输出端口,例如
entity inner_module is
port (input1, input2 : in std_logic;
output1, output2 : out std_logic);
end inner_module;
我想将它包含(封装?)在另一个名为“outer_module”的模块中,这是“inner_module”的一种接口,这样我就不必处理它的所有细节。假设“outer_module”有输入和输出端口,如
entity outer_module is
port(outer_input1: in std_logic;
outer_output1: out std_logic);
end outer_module;
它们经过详细说明并适当地通过 external_module 的架构部分提供给 inner_module。内部输出也是如此,为了评估outer_output1而对其进行了详细说明。
假设信号 input1 和 output1 用于驱动连接到我的主 EVM (virtex 6) 的外部 evm,例如 dac evm。
在检查语法、综合之后...我必须将端口与引脚关联(通过 I/O 引脚规划),但唯一可以关联的端口是来自顶部模块的端口,我无权访问信号输入 1 和输出 1。
我可以在 outer_module 的实体声明中添加 input1 和 output1,但我想“隐藏”我使用这些信号来驱动 dac evm 的事实(它可能是很多信号),并且只需与 external_module 的先前实体声明的接口。我想将信号 input1 和 output1 关联到正确的引脚,但没有“从顶部模块”执行此操作。
可能吗?关于如何做到这一点的任何想法或参考?或者我是否总是必须包含与顶部模块中的引脚相关联的所有信号?