FPGA中有限状态机的低功耗状态编码技术
1. 引言
在数字系统设计中,低功耗如今已成为一个主要关注点。降低功耗不仅能使用成本更低的封装、冷却系统和电源,还能提高芯片可靠性并延长电池续航时间。对于FPGA设计而言,由于现代FPGA的容量和性能不断提升,低功耗同样是关键问题。
有限状态机(FSM)在数字系统中极为常见,且常以全时钟速度运行,对总功耗有显著影响。因此,优化FSM的状态编码对于低功耗设计至关重要。状态编码问题涉及代码大小与状态编码和解码复杂度之间的权衡。最小位编码虽能通过使用最少的触发器减少时钟线的功耗,但需要更多逻辑进行状态编码和解码,可能因引入额外电容而增加功耗。在ASIC领域,多数工作致力于通过最小化最可能状态转换的汉明距离来减少开关活动;而在FPGA中,编码和解码逻辑对功耗的影响通常更大,因此FPGA制造商和综合工具通常推荐使用独热编码来降低FSM的功耗。不过,减少最可能状态转换的汉明距离对FPGA中FSM的低功耗设计同样有用。
接下来将介绍一些基于状态转换概率知识的低功耗状态编码方法,包括最小位最小汉明距离编码、零 - 独热编码和分区编码,并通过实验验证这些方法的有效性。
2. 背景知识
2.1 有限状态机的定义
有限状态机(FSM)由一个六元组 $M = (I, O, Q, q_0, δ, λ)$ 定义,其中:
- $I$ 是有限输入符号集;
- $O$ 是有限输出符号集;
- $Q$ 是有限状态集;
- $q_0 ∈ Q$ 是复位状态;
- $δ: Q x I → Q$ 是状态转换函数;
- $λ: Q x O → O$ 是输出函
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



