赞
踩
Verilog有限状态机编码的码型选择
vrilog中常见的有限状态机编码有:二进制编码、格雷码和独热码
二进制编码:即我们最熟悉的8421码,表示四个状态:eg:S1=00;S2=01;S3=10;S4=11
格雷码:格雷码每次码元值仅改变一位,表示四个状态:eg:S1=00;S2=01;S3=11;S4=10
独热码:每个码元值只有一位是“1”其余位都为“0”,表示四个状态:eg:S1=0001;S2=0010;S3=0100;S4=1000
数字系统中二进制编码存在的问题?
在数字系统中,若采用二进制编码,数0111变到1000时四位均要变化,而在实际电路中,4位的变化不可能绝对同时发生,则计数中可能出现短暂的其它代码(1100、1111等)。在特定情况下可能导致电路状态错误。
格雷码和独热码怎么选择?
独热码和格雷码每个状态只有一位发生变化,所以可以避免出现类似二进制编码的中间态,独热码相对于格雷码实现相同的状态数更节省组合逻辑但相比于格雷码需要更多的触发器;所以独热码适合写条件复杂但是状态少的状态机; 格雷码适合写条件不复杂但是状态多的状态机。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。