首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VHDL中整数的Type vs Subtype和down vs to

VHDL中整数的Type vs Subtype和down vs to
EN

Stack Overflow用户
提问于 2012-09-23 02:01:08
回答 3查看 10.1K关注 0票数 8

在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;

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-24 15:41:16

  • 正如您所说的,类型子类型的基础;没有类型就没有子类型。然而,子类型只在模拟中更安全;在真实硬件中,没有边界检查等...
  • VHDL标准库定义了许多基础类型供您构建,如std_logicstd_ulogicintegercharacterstd_logic_vector (无约束)等。您自己的定义,如std_logic_vector(7 downto 0),间接创建子类型(或直接如果您定义并命名您的子类型explicitly)
  • When,您正在查看自己的枚举,例如,当描述状态机的状态时,您需要一个类型:

type tState is (IDLE, DO_SOMETHING, DONE);

  • I不确定整数的downtoto,它看起来没用,但VHDL根本没有另一种机制来定义range,并且这种机制允许 to downto

票数 10
EN

Stack Overflow用户

发布于 2014-11-18 15:10:43

TO和DOWNTO在独立方面不同(最高位的MSB与位0相比)

票数 0
EN

Stack Overflow用户

发布于 2019-06-19 12:29:20

代码语言:javascript
复制
std_logic_vector(7 downto 0) 

"1000 0001“是MSB,"1000 0001”是LSB

代码语言:javascript
复制
std_logic_vector(0 downto 3) 

"1000 0001“是LSB,"1000 0001”是MSB

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12546339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档