24小时联系电话:18217114652、13661815404

中文

您当前的位置:
首页>
电子资讯>
行业资讯>
比较二进制,灰度和一...

行业资讯

比较二进制,灰度和一键编码


有限状态机(FSM)是几乎每个数字系统中非常常见的部分。这就是为什么综合工具通常会检查您的代码以检测FSM并执行可能会修改状态编码的优化。无论您是否仔细选择并指定了在源代码中实现状态的值都没有关系,综合工具可以将这些值替换为甚至可能具有与原始编码不同的位长的其他值。

状态编码:灰色vs.二进制vs.一键

用于FSM状态的三种最受欢迎的编码是二进制,格雷和单发。

二进制编码

二进制编码是在将值顺序分配给状态时可以直观使用的简单方法。这样,您将使用尽可能少的位来编码状态。

一键编码的示例。

灰色编码

格雷码由一个序列组成,在一个序列中,一个值与下一个值之间只有一位发生变化。除了还使用最少的位数之外,如果状态序列得到最佳遵循,则此编码还可将动态功耗降至最低。

 

格雷码轮。

一键编码

最后,单次热编码包括使用一个代表每个状态的位,以便在任何时间点,一个状态将被编码为代表当前状态的位为1,并被编码为所有其他位的0。起初,由于使用的位数和无效状态的过多,这似乎不太有效。但是,单热编码非常适合简化触发器的激励逻辑,因为无需解码状态。这些位是 状态。  

一键编码的示例。

哪种编码最好?

这是一个棘手的问题,主要是因为每种编码都有其优点和缺点,因此可以归结为取决于许多因素的优化问题。

如果一个非常简单的系统在各种编码方式下产生非常相似的结果,则原始编码是最佳选择。

如果FSM在一条路径(如计数器)中循环通过其状态,则格雷码是一个很好的选择。

如果FSM具有任意状态转换集或预期在高频下运行,则可能要采用单热编码。

现在,所有这些主张只是有根据的猜测,而找到最佳状态分配是一个复杂的问题。

请输入搜索关键字

确定