独热码,也叫one-hot code,就是只有1 个比特为1,其他全为0 的一种码制。例如8’b00010000, 8’b1000000
等。
独热码在设计时非常有用,可以用来表示状态机的状态使状态机更健壮,也可以用于多选一的电路中,表示选择其中的一个。
-
利用左移位操作,可以方便地产生独热码,
例如产生4’b0010
,可以是4’b1 << 1
。 -
类似地,也可以产生1 个比特为0,其他为1 的码制。
例如产生4’b1011
,可以是~(4’b1 <<2)
。 -
利用左移操作,还可以产生其他需要的数字结果:
例如,产生5’b00111
,可以是(5’b1<<3)-1
。
例如,产生5’b11100
,可以是~((5’b1<<2)-1)
。