【问题标题】:difference between std_logic and std_logic_vector(0 downto 0)std_logic 和 std_logic_vector 之间的区别(0 到 0)
【发布时间】: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。谢谢你。现在很清楚了。

标签: vhdl fpga


【解决方案1】:

您找到的代码可能是自动生成的,因此大多数企业都可以更改端口的宽度。为了生成这个代码,他们有一些模板并使他们的模板可配置,他们创建了更改一些静态变量的能力。例如,他们写成std_logic_vector(m-1 downto 0),用户可以在GUI中更改m,所以如果用户输入m=1,自动生成的代码将有std_logic_vector(0 downto 0)

【讨论】:

    猜你喜欢
    • 2016-01-08
    • 2014-10-09
    • 2011-11-04
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 2011-01-02
    • 2023-03-15
    • 2018-12-15
    相关资源
    最近更新 更多