首页 文章

在VHDL中键入vs Subtype和down vs to for Integers

提问于
浏览
7

VHDL中的 typesubtype 之间有什么区别?我应该在哪里使用它们?

我的理解是 subtype 只是缩小了一种主要类型的版本,例如 integersubtype small_integer is integer range -128 to 127; 在主要类型上可能的所有操作,也可能在 subtypes 上(当然,有一些限制) . 此外,最好使用 subtypes 来防止错误 .

那么 type 的目的是什么?

对于 integersdonwtoto 之间有什么区别? (为了得到重点,这是一个例子)
subtype bit_index is integer range 31 downto 0; subtype bit_index is integer range 0 to 31;

谢谢 !

2 回答

  • 9
    • 正如您所说, typesubtypes 的基础;没有类型没有子类型 . 但是,子类型在模拟中更安全;在实际硬件中,没有边界检查等...

    • VHDL的标准库定义了许多基础类型供您构建,如 std_logic ,_ 89300integercharacterstd_logic_vector (无约束)等 . 你自己的定义如 std_logic_vector(7 downto 0) 间接创建一个子类型(或者直接定义你的子类型并明确命名)

    • 当您查看自己的枚举时,例如,在描述状态机的状态时,您需要一个类型:

    type tState is (IDLE, DO_SOMETHING, DONE);

    • 我不确定整数的 downtoto ,它似乎没用,但VHDL根本就没有另一种机制来定义range,而且这种机制允许 todownto
  • 1

    TO和DOWNTO在印度方面有所不同(最高位的MSB与位0)

相关问题