0

在 VHDL 中,如果 X'1 => "0001",X'3 => "0011"。即,1 个十六进制数字表示 4 个二进制值,鉴于我在内存中只有一个特定的位范围,我如何仅表示 2 个十六进制二进制值。在这种情况下2。例如,内存中剩余的空间只能占用2位。我知道我仍然可以使用初始表示并屏蔽两个 msb 或 lsb,但还有其他方法吗?

4

1 回答 1

1

如果您使用 VHDL-2008,您可以这样做:

2X"2" = "0010"

来自网络的更多示例:

无符号表示法(默认):

7UX"F"  = "0001111" -- extend
7UX"0F" = "0001111" -- reduce

签注:

7SX"F"  = "1111111" -- extend
7SX"CF" = "1001111" -- reduce
于 2017-10-10T07:53:09.070 回答