为vhdl表示十六进制的2个二进制数字

时间:2017-10-09 12:26:50

标签: binary hex bit-manipulation vhdl hardware-programming

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

1 个答案:

答案 0 :(得分:1)

如果您使用的是VHDL-2008,则可以执行此操作:

2X"2" = "0010"

来自网络的更多例子:

无符号表示法(默认):

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

签署noataion:

7SX"F"  = "1111111" -- extend
7SX"CF" = "1001111" -- reduce