Verilog:将BCD(或二进制)转换为BCH

时间:2014-08-06 07:42:34

标签: verilog

我希望将BCD(或二进制)编码为二进制编码的十六进制,然后将其转换为7段显示代码并串行发送到锁存的移位寄存器以驱动显示。它适用于16位微处理器,输出带符号的16位数字。

我已经使用 移位并添加3 算法成功编码并完全测试了二进制到BCD转换器。如果为负,则将数字转换为正数,并将符号标志设置为表示符号。我在互联网上看到的大多数设计例子都是组合的。我采用了顺序方法,大约需要35个时钟周期。

我的问题是,有没有办法将BCD转换为BCH?或者将二进制转换为BCH会更容易。无论哪种方式更可行。性能不是问题。是否有现成的算法?

感谢您的回复。

1 个答案:

答案 0 :(得分:1)

您应该只使用查找表。您的案例陈述的输入是您的BCD数字,输出是您的BCH数字。两者都将保证4位宽,因此您可以一次解析一个BCD数字,每个数字将产生4位输出。

从二进制转换为BCD更难,因为您需要使用双重算法(如您所知)。但是一旦进入BCD,你就不会有问题去BCH。