当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:针对二-十进制(BCD)数据相互转换的FPGA实现目标,基于模块层次化的设计思想,提出了一种高效、易于重构的可逆转码器设计方案。并在FPGA(Altera DE2)开发板上成功进行了12 b可逆转码器的设计验证,实验结果表明

摘要:针对二-十进制(BCD)数据相互转换的FPGA实现目标,基于模块层次化的设计思想,提出了一种高效、易于重构的可逆转码器设计方案。并在FPGA(Altera DE2)开发板上成功进行了12 b可逆转码器的设计验证,实验结果表明该转码器通过端口参数配置就可以完全实现不同位数的二-十进制(BCD)数据间的相互转换。
关键词:二-十进制(BCD);可逆转码器;FPGA;逻辑单元;TPD

0 引言
    在数字系统的数据输入、运算、输出过程中,输入和输出常用十进制形式表达;而在系统内部采用二进制表示和处理数据则更为方便,因此在二进制和十进制数据间的转换就是非常必要的。此外,数控机床、智能仪表、电子秤和数码管等显示设备也会频繁地用到十进制(BCD)码与二进制(BIN)码的相互转换。目前,数字系统中BCD码和BIN码的相互转换有3类实现方法,首先是采用软件算法的实现方式,传统的是用DAA调节指令实现,但效率较低,不能满足一些实时应用的要求。其次是纯硬件运算实现方式,这种实现方式是数据转换运算到硬件的直接映射,常采用逻辑运算和数据移位来实现数据转换,转换效率较高,可以根据输入数据位宽进行转换器的位数扩展和重构。但是在转换数据位数较多时,运算量会显著增加、硬件实现代价也较大、路径延迟也会增大、整个转换器的时序控制也会变的比较复杂,也很难做到可逆转码运算。最后是基于数据查找表(Look Up Tabie,LUT)的实现方式,也就是先把全部或部分转换数据列表存储在存储器中,然后再根据转码器的输入数据(地址码)直接或间接地从存储器中取出所需的输出数据,这种以查找表为核心的转换器运算速度快、算法直接简单;但是会需要大量的存储器;并且这种实现方法往往是针对具体的转换数据位宽和单一转换方向来定制存储器(ROM)容量和存储器初始化数据;一旦需要转换的数据位数和方向发生变化,就根本无法实现转换器的数据位数扩展和结构重构,所有的设计就必须重新开始。
    基于FPGA的可逆数制转码器设计,充分利用FPGA的结构特点和硬件描述语言(Veilog HDL)的抽象和灵活性;二-十进制(BCD)转码器不但具有可配置双向转换数据的功能,而且还要求转码器简单、高效和易于位数扩展(模块化重构)。因此,文中就提出了一个高效、易于重构的二-十进制(BCD)可逆转码器设计方案,通过端口参数配置和模块重构就能实现不同位数的数据在二进制和十进制(BCD)之间相互转换,最后
在FPGA(DE2)开发板上成功地进行了设计验证。

1 数制的转换算法
   
假设X=(xn-1,xn-2,…,x0)p表示n位p进制数据,Y=(ym-1,ym-2,…,y0)q表示m位q进制数据,二者之间等值变换的条件为:
   
    这里,X,Y所表示的数值范围分别是[0,pn-1]和[0,qm-1]。而在二进制编码体系下,要把一个n位p进制数据转换为m位的q进制数据就要求输入输出的数据位宽必须满足m=Ceil[n·logqp]=[n·logqp],这里用“∏”表示整数上确界Ceil运算,输入输出数据位宽关系如图1所示。


    图1中的din=Ceil[log2 p]=[log2 p];dout=Ceil[log2 q]=[log2 q]分别表示1位输入输出数据的二进制位宽,例如1位的八进制数据需要3 b二进制数表示;而1位的十进制数据需要4 b二进制数表示,所以X→Y转化的输入、输出数据位宽(单位:b)分别为:
    n·din=n·[log2 p]               (2)
    m·dout=[n·logq p]·[log2 q]    (3)
    8421BCD码是使用4 b二进制数表示1位10进制数(0~9)。如果把n位二进制数据转换成m位BCD码(4m位)就要求m位BCD码所能表示的最大数不小于n位二进制码所表示最大数,即10m-1≥2n-1,m≥Ceil[lg 2n]=『n·lg 2]。如果12位的二进制数转换成十进制(BCD),根据式(3)算出输出m位的十进制数据m=[n·logq p]=[12·lg2]=4;输出数据位宽m·dout=m·[log2 q]=16 b。

2 二-十进制可逆转码器设计
2.1 可逆转码器的层次化设计
   
在片上数字系统(SOPC)中实现二-十进制(BCD)码转换器,就要求设计者充分利用硬件(FPGA)的结构特点和硬件描述语言(HDL)所提供的设计灵活性;更好地实现转码器的简单、高效和结构易于扩展。为此,针对FPGA的结构特点提出了以下设计思路:以4 b数据转换作为基本的可逆转换单元来适应FPGA结构特点,而提高逻辑单元利用率、达到降低硬件代价的目的;利用Verilog HDL进行层次化设计描述,以4 b数据转换单元为最底层模块,构造出更大的5 b和6 b可逆转换单元(模块),这样会在不增加实现代价的前提下,实现使用大的转码单元模块来简化转码器的结构、方便转码器的位数扩展;这种设计方法就为二-十进制(BCD)可逆转码器的构建提供了4 b,5 b和6 b三种不同大小的单元模块,这会让每一个转换单元模块都使用到恰到好处(需要小模块的地方就不会使用大模块);有效避免了单元模块利用率不高的问题。
2.2 可逆转码器的功能模块设计
   
上述基于FPGA的二-十进制(BCD)可逆转码器设计方案,关键就在于要做好最底层模块(4 b转码模块)的优化设计,对4 b转码模块的不同Verilog HDL描述方式也会带来不同的实现代价;通过不同描述方式比较最终确定使用结构描述来实现4 b可逆转码模块(Bin/Bcd_4),根据参考文献[4-5,10],采用卡诺图和Multisim软件化简得到最简逻辑函数式如图2所示。再通过4 b转码模块层次实例化分别构造5 b转码模块(Bin/Bcd_5)和6 b转码模块(Bin/Bcd_6),如图3所示。


2.3 12 b可逆转码器的结构设计
   
根据二-十进制可逆转码算法,使用上节中得到的4 b,5 b和6 b三种二-十进制可逆转码单元模块,构造出12 b二-十进制(BCD)可逆转码器结构如图4所示,转码单元模块的多余输入端要接地,多余输出端悬利于转码器的位数扩展,也可以通过转码器的使能端BD/DB的取值分别实现从二进制到十进制和从十进制到二进制的数制转换。



3 二-十进制可逆转码器的设计验证
3.1 可逆转码器的时序仿真
   
使用QuartusⅡ9.1(Full Version)开发工具;对于图4中二-十进制(BCD)可逆转码器,在Altera公司的FPGA(EP2C35F672C6)芯片上进行了设计验证,验证结果完全达到了既定的设计目标;时序仿真结果如图5所示。在图5(a)中,使能信号EN=0,转码器实现12 b二进制数向4位十进制(BCD)数据的转换,SW是输入12 b二进制数,LEDR是输出的4位十进制(BCD)数(15 b,最大值是4 095);在图5(b)中,使能信号EN=1,转码器实现15 b十进制数(最大4 095)向12 b二进制数据的转换,SW是输入15 b十进制数(BCD),LEDR是输出的12 b的二进制数。
3.2 可逆转码器的性能分析
   
使用QuartusⅡ9.1开发工具和DE2开发板;对于所设计可逆数制转码器通过模块的参数配置,分别测试了转码器在完成8 b、10 b和12 b转码情况下的硬件实现代价(占用逻辑单元数LEs)和最大路径延迟(TPD),测试结果见表1。


    表1表明,可逆转码器的数据位宽愈大转码器就越复杂,使用的单元模块就越多,实现代价增大,路径延迟也会增大,12 b可逆转码器的最高时钟频率只有50 MHz,而8 b的可逆转码器最高时钟频率可以达到75 MHz。

4 结语
   
文中提出以3种功能模块来构造二-十进制(BCD)可逆转码器的设计方法,通过端口参数配置和模块重构就能实现不同位数的数据在二进制和十进制(BCD)之间相互转换。从而使基于FPGA的二-十进制(BCD)转码器的构建变得简单、灵活。可逆转码器在EP2C35F672C6芯片上的验证结果也充分证明了这种设计思路的可行性;如果进一步在转码器中插入寄存器而形成流水线结构,那么转码器的运算速度就会有更大提升。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

作者 Mohamad Ali| IBM咨询首席运营官 北京2024年5月24日 /美通社/ -- 生成式AI的兴起几乎在所有面向上给业务带来改变。根据 IBM 商业价值研究院最新的年度 CEO 研究,近60%...

关键字: IBM AI BSP 模型

UART(Universal Asynchronous Receiver/Transmitter)是一种通信协议,用于在电子设备之间传输数据。它是一种串行通信协议,意味着数据位按顺序一个接一个地传输。

关键字: FPGA UART串口通信

台北2024年5月21日 /美通社/ -- 提供针对AMD WRX90和TRX50主板优化的DDR5 OC R-DIMM 提供容量128GB(16GBx8)到768GB(96GBx8),速度5600MHz到8...

关键字: AMD 内存 BSP GB

上海2024年5月20日 /美通社/ -- 2024年5月16日,世界知名的生命科学公司 Eppendorf 集团于第二十三届生物制品年会上成功举办了"疫路超越 推流出新"的产品发布会,正式推出大规模...

关键字: RF PEN BSP IMAC

北京2024年5月20日 /美通社/ -- 过去五年里,支付和收款方式日新月异,其发展和变化比过去五十年都要迅猛。从嵌入式数字商务的出现,到"一拍即付"的...

关键字: VI BSP PAY COM

华钦科技集团(纳斯达克代码: CLPS ,以下简称"华钦科技"或"集团")近日宣布致敬 IBM 大型机 60 载辉煌历程,并将继续实施集团大型机人才培养计划。

关键字: IBM BSP 研发中心 PS

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

Bourns® TLVR1005T 和 TLVR1105T 系列采用双绕组结构和低感值设计,可提供快速瞬态响应,并可依据 CPU、FPGA 和 ASIC 负载要求进行延展

关键字: 数据驱动 电感器 FPGA
关闭
关闭