我有一个为N位乘法器创建测试平台的任务。代码对我来说很奇怪。它是一个黑盒子n位,但对于他的std_logic_vectors,他没有指定任何大小。我猜这是用测试台完成的。我以前没有这样做,希望有人能解释这是如何工作的
答案 0 :(得分:0)
VHDL支持无约束的std_logic_vectors。这意味着您可以设计一个不指定输入和输出长度的块。这样做可能会有很多陷阱(请参阅此article),但在类似乘法器的情况下,它可以帮助重用代码。您可以通过将块连接到所需宽度的std_logic_vector来定义块的输入和输出宽度。
由于您指示该块是乘数,我将检查文档或接口以查看是否存在与端口宽度相关联的泛型。这是在内部创建具有I / O特定逻辑的通用块接口的常用方法。通过这种方式,您可以指定逻辑需要的“宽度”,而无需为每个可能的宽度设置单独的块。