【发布时间】:2018-06-29 16:44:04
【问题描述】:
我正在研究从互联网下载的 vhdl 设计。一些输入/输出端口被声明为 std_logic_vector(0 downto 0)。我不明白 std_logic_vector(0 downto 0) 和 std_logic 之间有什么区别。它与一些优化有关吗?您什么时候会使用其中一种而不是另一种?
谢谢。
【问题讨论】:
-
它们是两种不同的类型。只需尝试转换为
unsigned。在 C 中,这将是 int 对象和 int 数组之间的区别。 -
一个是标量类型(基本类型std_ulogic),一个是一维数组类型,其元素类型恰好具有相同的基本类型。当您看到端口被声明为单元素向量时,通常是因为它们位于生成的源代码中,允许宽度降至 1,或者因为有人正在与宽度可以为 1 的信号连接。
-
@user1155120。谢谢你。现在很清楚了。