当前位置:首页 > 工业控制 > 电子设计自动化
[导读] 摘 要: 针对二进制转十进制(BCD)转码器的FPGA实现目标,提出了一种高效、易于重构的转码器设计方案。并在FPGA开发板上成功地实现了该设计,验证结果表明,与使用中规模集成电路IP核(SN74185A)实现的7 bit、10 bit和

 

摘 要: 针对二进制转十进制(BCD)转码器的FPGA实现目标,提出了一种高效、易于重构的转码器设计方案。并在FPGA开发板上成功地实现了该设计,验证结果表明,与使用中规模集成电路IP核(SN74185A)实现的7 bit、10 bit和12 bit的转码器相比,本设计可以分别节约28.5%、47.6%和49.6%的硬件实现代价(逻辑单元LEs);同时,电路的路径延迟也分别减少了0.7 ns、2.1 ns和8.9 ns.

为了实现测量数据的实时显示,电子测量系统常用到二-十进制(BCD)转码器来完成数据的实时转换。目前,电子系统中的二-十进制(BCD)数制转换有三类实现方法,一是采用软件算法的实现方式,传统的方法是用DAA调节指令实现,但效率较低;其次是纯硬件运算实现方式,这种实现方式从数据转换运算到硬件的直接映射,常采用逻辑运算和数据移位来实现数据转换,转换效率较高,但是在转换数据位数较多时,运算量会显著增加,硬件实现代价也较大;三是基于数据查找表LUT(Lookup Table)的实现方式。

本文提出了一个高效、易于重构的二-十进制(BCD)转码器设计方案,并在FPGA开发板上成功地进行了设计验证。

  1 二-十进制(BCD)码的转换算法


从以上的二-十进制(BCD)码变换算法中可以看到,二进制数据的最低位b1不需要转换而直接输出,而且每个转换运算单元的低3位输出数据始终不会大于(4)D/(100)B,这样就能够保证最后得到的每一位BCD码不会大于(9)D/(1001)B,从而得到BCD码的正确转换输出。

  2 二-十进制(BCD)转码器的实现

2.1 二-十进制(BCD)转码器的ASIC实现

根据上述的转换算法,参考文献[5]、[11]中给出了全定制的转码器专用集成电路(ASIC)实现方案。首先,构造出5 bit二进制数的转换单元,然后再以此转换单元为基本单位扩展成其他的多位二-十进制(BCD)转码器,TI公司的SN74185A芯片就是这样的一个5 bit数据转换单元,用它实现的10 bit二-十进制(BCD)码转换器如图2所示。

图2所示的转码器与图1的结构区别在于采用了5 bit的转换单元而不是4 bit的基本单元(高3 bit转换单元的最高位输入接地),从而简化了多位转码器的电路结构。每个转换单元(SN74185A)的6个输出位权依次是(20、10、5、4、2、1),因此也保证了每个转换运算单元的低3位输出数据始终不会大于(4)D/(100)B,使最后得到的每位BCD码都不会大于(9)D/(1001)B。使用时要求转换单元(SN74185A)的无用输入端作接地处理。假如需要转换的10 bit数据是(1110011011)B,每个转换模块完成输入二进制数据的位权转换,如图2所示,经过第一层数据转换后得到(10101111011),再依次经过后面第2层至第4层的数据转换,得到各层次相应转换输出分别是:(10111000011)、(100011000011)、(0100100100011),第4层的转换输出就是十进制(BCD)码:(0100100100011)BCD=(923)D。

2.2 基于FPGA的二-十进制(BCD)转码器设计

在片上数字系统(SOPC)中实现二-十进制(BCD)码转换器,如果直接依据图2所示的结构,使用SN74185A芯片的IP核(Quartus II工具提供)来实现转码器不但存在着2.1中所述的不足之处,而且还会面临着更大的硬件资源浪费问题,这是由于FPGA中的逻辑单元(LEs)都是基于4输入的数据查找表(LUT),如果要实现5输入的转换单元(SN74185A),就需要查找表级联扩展,从而会造成路径延迟进一步增大、逻辑单元利用率降低、硬件实现代价提高。

为了克服以上的转码器设计缺陷,针对FPGA的结构特点,笔者提出了以下设计思路:(1)以4 bit数据转换作为基本的转换单元来适应FPGA结构特点,而提高逻辑单元利用率,达到降低硬件代价的目的;(2)利用Verilog HDL层次化设计描述的灵活性,以4 bit数据转换单元为最底层模块,构造出更大的5 bit和6 bit转换单元(模块)。这种设计方法为二-十进制(BCD)转码器的构建提供了4 bit、5 bit和6 bit三种不同大小的单元模块,可使每一个转换单元模块的使用恰到好处(需要小模块的地方就不会使用大模块)。

2.2.1 二-十进制(BCD)转码器单元模块设计

采用上文所述基于FPGA的二-十进制(BCD)转码器设计方案,关键在于要做好最底层模块(4 bit转码模块)的优化设计,对4 bit转码模块的不同Verilog HDL描述方式也会带来不同的实现代价;本文使用结构描述实现4 bit转码模块(Bin2Bcd_4),再通过4 bit转码模块层次实例化构成5 bit转码模块(Bin2Bcd_5)和6 bit转码模块(Bin2Bcd_6)的设计,4 bit、5 bit和6 bit三种单元模块的构造示意图如图3所示。

2.2.2 基于混合模块的二-十进制(BCD)转码器设计

根据二-十进制(BCD)转码算法,使用上文2.2.1中得到的4 bit、5 bit和6 bit三种二-十进制转码单元模块,构造出7 bit、10 bit和12 bit二-十进制(BCD)转码器结构,如图4所示,转码单元模块的多余输入端接地,多余输出端悬空。

3 二-十进制(BCD)转码器的设计验证

本文使用Quartus II 6.0(Full Version)开发工具,对于图4所示的3个混合模块构建的二-十进制(BCD)转码器,在Altera公司的FPGA(Altera EP1K30QC208-2)芯片上分别进行了设计验证,验证结果完全达到设计预期。其中12 bit二-十进制(BCD)转码器的功能仿真和时序仿真结果如图5所示。

在完全相同的软硬件验证环境下,把图4所示的转码器设计和使用中规模集成电路IP核(SN74185A)实现的7 bit、10 bit和12 bit的转码器进行了性能对比,验证结果进一步表明了这种采用混合模块构建二-十进制(BCD)转码器的行之有效性;表1所示为采用这两种构建方法得到的7 bit、10 bit和12 bit转码器的验证结果对比。

Altera EP1K30QC208-2(FPGA)芯片上的7 bit、10 bit和12 bit转码器设计验证结果和使用IP核(SN74185A)实现的转码器验证结果对比更加充分证明了这种设计思路的可行性;这种高效、易于重构的二-十进制(BCD)转码器设计为基于FPGA的片上数字测量系统实现做出了有意义的积极探索。



参考文献:

[1].BCDdatasheethttp://www.dzsc.com/datasheet/BCD_1225719.html.
[2].SN74185Adatasheethttp://www.dzsc.com/datasheet/SN74185A_616929.html.


来源:亮凉1次

 

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

中国,上海——2026年3月26日——低功耗可编程领域的领导者,莱迪思半导体(NASDAQ: LSCC)今日宣布正式加入英伟达(NVIDIA) Halos AI系统检测实验室生态体系。该实验室是首个获得美国国家标准协会认...

关键字: 物理人工智能 传感器 FPGA

在工业自动化的“神经网络”中,EtherCAT凭借其独特的“飞过处理”机制,已成为实时控制领域的王者。不同于传统以太网的存储转发,EtherCAT数据帧在经过每个从站时,硬件直接从中提取数据并插入响应,这种“边飞边修”的...

关键字: EtherCAT FPGA 总线

在复杂的SoC芯片设计流程中,硬件与软件的“割裂”往往是导致项目延期的元凶。当RTL代码还在仿真阶段时,软件团队只能基于指令集模拟器(ISS)进行开发,不仅速度慢如蜗牛,且无法捕捉真实硬件的时序细节。此时,FPGA原型验...

关键字: SoC 硬件加速 FPGA

在工业4.0浪潮中,边缘计算网关正成为连接物理世界与数字世界的核心枢纽。面对多路传感器产生的海量数据洪流,传统单芯片架构已难以满足实时性与算力的双重需求。NVIDIA Jetson与FPGA的异构组合,通过"前端FPGA...

关键字: 边缘计算 NVIDIA Jetson FPGA

在高速网络通信领域,FPGA凭借其并行处理能力成为实现以太网MAC(媒体访问控制)层的理想平台。然而,面对1G甚至10Gbps的线速流量,传统的“软件式”逐包处理早已力不从心。构建高效的包处理流水线(Packet Pro...

关键字: 以太网 MAC FPGA

在FPGA实现数字信号处理(DSP)算法时,DSP Slice作为专用硬件资源,其利用效率直接影响系统性能与成本。本文聚焦乘加运算(MAC)的优化实现,分享流水线设计与资源复用的实用技巧,帮助开发者在有限资源下实现更高吞...

关键字: FPGA DSP

在异构计算的浪潮中,FPGA凭借其可重构特性与高能效比,成为突破算力瓶颈的“利刃”。然而,当我们试图通过OpenCL将FPGA纳入统一计算平台时,一个巨大的幽灵始终盘旋在系统上方——内存带宽瓶颈。PCIe总线的有限带宽与...

关键字: OpenCL FPGA

将成熟的ASIC设计迁移至FPGA平台,绝非简单的“复制粘贴”。ASIC设计追求极致的能效比和定制化物理布局,而FPGA受限于固定的逻辑单元(LUT、FF、DSP、BRAM)架构,直接移植往往导致资源利用率低下甚至时序收...

关键字: ASIC FPGA

在高性能FPGA设计中,DSP48E2 Slice绝非仅仅是一个简单的乘法单元。若将其仅视为“硬件乘法器”,将极大浪费其潜在的算力。作为Xilinx UltraScale+架构的核心算术引擎,DSP48E2集成了预加器、...

关键字: DSP48E2 FPGA

在浩瀚宇宙中,高能粒子如隐形的子弹,时刻轰击着航天器的电子核心。对于FPGA而言,单粒子翻转(SEU)可能导致逻辑状态突变,引发灾/难性后果。此时,三模冗余(TMR)技术便成为守护系统可靠的“神盾”,它通过硬件代价换取极...

关键字: 抗辐射加固设计 FPGA 三模冗余
关闭