VHDL常量初始化
我正在研究一些 VHDL 代码,对于常量的初始化,它表示如下:
constant address: integer := 16#8E#;
我以前从未见过这种定义。有谁知道这怎么翻译 到一个普通的十进制数?
谢谢!
I am just studying some VHDL code and for the initialisation of a constant it says the following:
constant address: integer := 16#8E#;
I have never seen this kind of definition before. Does anybody know how this translates
to an ordinary number in decimal?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
16#8E#
表示以 16 为基数的8E
(即十六进制)。对于二进制,您可以为相同的数字编写2#10001110#
。一旦你知道了这一点,获得十进制版本应该很容易。16#8E#
means8E
in base 16 (ie hexidecimal). For binary, you could write2#10001110#
for the same number. Once you know this, getting the decimal version should be easy.要进一步扩展(如果您有 VHDL LRM,您可以阅读第 13.4.2 节中的详细信息),您可以在第一个
#
之前放置任何底数(2 到 16 之间),并在后面放置一个指数第二个#
。您还可以将_
放入单独的数字组中。指数始终以 10 为底数表示,并且不能为负数。
示例(VHDL 突出显示还有一些不足之处!)
报告:
To expand further (if you have the VHDL LRM, you can read the gory details in section 13.4.2) you can put any base (between 2 and 16 inclusive) before the first
#
and an exponent after the second#
. You can also put_
s in to separate sets of numbers.The exponent is always expressed in base 10 and cannot be negative.
Example (the VHDL highlighting leaves a little to be desired!)
reports: