基于FPGA的二进制代码转换电路的设计与实现

2016-05-07 00:29周庆芳
文理导航 2016年12期

周庆芳

【摘 要】 通过对可编程逻辑器件FPGA基础知识的学习,以此平台进行二进制代码转换电路的设计与实现,并使用QuartusII软件进行仿真实验测试,验证了系统的正确性。与传统二进制代码转换电路相比,使用FPGA来进行二进制代码转换电路能够显著缩短设计的时间、减少外围电路的数量、降低开发成本、提高系统的可靠性,达到快速上市和降低成本的要求。

【关键词】EDA;FPGA;Quartus II;二进制代码转换

一、设计目的及意义

熟练掌握数字电路基本知识及逻辑器件的设计,掌握Verlog硬件编程语言的基本语法和简单实例操作,掌握在QuartusII的软件平台上进行逻辑设计的基本输入方法,掌握设计实验项目的编译、仿真、波形分析等。

通过EDA综合实验设计,从电路的设计到在EDA软件上的编译通过和运行,增强了从事电路设计的信心和专业水平。

二、设计原理

1.8421BCD码和余3码

8421BCD码是最基本的和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。即用0000~1001分别代表它所对应的十进制数,将一个四位输入的8421BCD码转化为一个四位输出的余3码,由于8421BCD码不会出现1010~1111六种状态,所以把它们视为无关项。根据两种BCD码的编码关系,其真值表如下:

2.格雷码

在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式,因为,自然二进制码可以直接由数/模转换器转换成模拟信号,它在任意两个相邻的数之间转换时,只有一个数位发生变化。它大大地减少了由一个状态到下一个状态时逻辑的混淆。另外由于最大数与最小数之间也仅一个数不同,故通常又叫格雷反射码或循环码。下表为几种自然二进制码与格雷码的对照表:

三、仿真

在仿真工具窗口中可以选择时序仿真或功能仿真,指定仿真波形文件的位置等操作,如图所示。

结果分析:模拟结果与结果一致,此仿真成功。

四、总结

本文通过更新数字系统设计手段,使用硬件描述语言代替传统的数字电路设计方法来设计数字系统,减少了在硬件电路连接上所面临的线路太多,不易检查等问题,同时降低了实验的成本,提高了实验和工程的效率。改善了二进制代码转换电路输入输出特性,满足二进制代码转换电路的基本原理和核心算法,实现了设计要求。