antonine 发表于 2009-11-12 23:14:08

请教关于独热码的优点

看一本书中介绍状态机时,对独热(One Hot)码的描述如下:
    独热码是指对任意给定的状态,状态向量中只有1位为1,其余各位为0。N状态的状态机需要N个触发器,这种状态机的速度与状态的数量无关,只取决于某特定状态的转移数量,速度很快。当状态机的状态增加时,如果使用二编码,那么速度会明显下降,但如果采用独热码,虽然多用了触发器,但由于状态译码简单,节省和简化了组合逻辑电路。
    对于寄存器数量多,而门逻辑相对缺乏的FPGA器件,采用独热码可以有效提高电路的速度和可靠性,也有利于提高器件资源的利用率。
=======================================================================
    我对这段话的理解是,由于采用独热码=>N状态对应N个触发器=>状态机的速度与状态的数量无关。而采用二进制编码来编状态机的话,速度下降是否表明,N个状态不对应N个触发器?两种编码方式为什么会产生这种差别?另外,N个状态对应N个触发器怎么理解?
    先谢了各位。

补充:         十进制:    0   |   1   |   2      |      3      |       4   |   5   |   6   |      7    |   8      |   9
               独热码:000000000 | 000000001 | 000000010|000000100|000001000| 000010000 | 000100000 | 001000000 | 010000000| 100000000

coody 发表于 2009-11-12 23:53:52

我的时间管理就用了这种方法,保证每次只触发一个时间隙,避免竞争

ngzhang 发表于 2009-11-13 04:41:41

不是写的挺清楚的了么。就是说可以省掉译码逻辑。FPGA里面做译码逻辑比较浪费,用ONE HOT就省了。

trueboy 发表于 2009-11-13 07:38:05

挺会取名字的.
页: [1]
查看完整版本: 请教关于独热码的优点