马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 xuehua_12 于 2017-5-11 17:02 编辑
BCD译码是指将二进制数,转换成BCD格式。如当cnt_s值为10时,也就是8’b00001010,转换成个位值为4’b0000,十位值为4’b0001。这个转换过程就是BCD译码。
此处介绍二进制转BCD码的硬件实现,采用左移加3的算法,具体描述如下:(此处以8-bit 二进制码为例)
1、左移要转换的二进制码1位 2、左移之后,BCD码分别置于百位、十位、个位 3、如果移位后所在的BCD码列大于或等于5,则对该值加3 4、继续左移的过程直至全部移位完成
举例:将十六进制码0xFF转换成BCD码
本模块的信号列表如下: 信号名 | I/O | 位宽 | 说明 | rst_n | I | 1 | 系统复位信号,低电平有效 | clk | I | 1 | 系统工作时钟50M | din | I | 32 | 输入要译码的数据 | din_vld | I | 1 | 输入数据有效指示信号 | dout | O | 12 | 输出的BCD数据,共12比特,每4比特一组,分别表示百、十、个位的值 | dout_vld | O | 1 | 输出数据有效指示信号 |
需要代码的朋友请跟帖回复,分享给更多朋友学习!谢谢~ |