八位二进制码转化为BCD码及余三码BCD码转化余三码.docx
《八位二进制码转化为BCD码及余三码BCD码转化余三码.docx》由会员分享,可在线阅读,更多相关《八位二进制码转化为BCD码及余三码BCD码转化余三码.docx(11页珍藏版)》请在冰豆网上搜索。
八位二进制码转化为BCD码及余三码BCD码转化余三码
河南科技大学
课程设计说明书
课程名称EDA技术
题目八位二进制转化为BCD码及
余三码、BCD码转化为余三码
学院车辆与动力工程学院
班级
学生姓名
指导教师
日期2012年7月14号
八位二进制码转化为BCD码及余三码、BCD码转化余三码
摘要
八位二进制数转化为BCD码和余三码的转换在计算机语言中起到了非常重要的作用,通过这次的课程设计让我们更好地掌握二进制数转化为BCD码和余三码。
二进制转化为余三码不能直接转化,只能通过BCD码为中介进而转化成余三码。
余三码(余3码)是由8421BCD码加上0011形成的一种无权码,由于它的每个字符编码比相应的8421BCD码多3,故称为余三码。
BCD码的一种。
余三码是一种对9的自补代码,因而可给运算带来方便。
其次,在将两个余三码表示的十进制数相加时,能正确产生进位信号,但对“和”必须修正。
修正的方法是:
如果有进位,则结果加3;如果无进位,则结果减3。
如,(526)10进制=(010100100110)8421BCD码=(100001011001)余3码
EDA技术打破了软件和硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率与产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。
VHDL主要用于描述数字系统的接口,结构和功能,它的语法简单易懂,移植性好。
本设计采用VHDL,Altera公司的QuartusII软件仿真,来实现八位二进制到BCD和BCD到余三码的转换。
由于八位二进制的最大范围是0~255,而八位BCD码的范围是0~99,故在转换时输入信号只能取99以内的数。
关键词:
八位二进制、BCD码、余三码、VHDL
目录
第一章绪论1
§1.1课程设计题目1
§1.2设计目的2
§1.3课程设计要求2
第二章EDA、VHDL简介3
§2.1EDA简介3
§2.2VHDL简介3
第三章设计过程5
§3.1设计规划5
§3.2各个模块设计及原理图5
§3.2.1八位二进制码转化为八位BCD码5
§3.2.2八位BCD码转化为八位余三码6
§3.2.3八位二进制码转化为8位余三码7
第四章系统仿真9
§4.1八位二进制码转化为八位BCD码仿真及分析9
§4.2八位BCD码转化为八位余三码仿真及分析9
§4.3八位二进制码转化为八位余三码仿真及分析10
第五章总结11
参考文献12
第一章绪论
随着计算机科学与技术突飞猛进地发展,用数字电路进行信号处理的优势也更加突出,自20世纪70年代开始,这种用数字电路处理模拟信号的所谓“数字化”浪潮已经席卷了电子技术几乎所有的应用领域
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。
随着技术市场与人才市场对EDA的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。
因此学好EDA技术对我们有很大的益处。
EDA功能强大,一台计算机、一套EDA软件和一片或几片大规模可编程芯片(CPLD/FPGA),就能完成电子系统的设计。
EDA技术涉及面广,内容丰富,但在教学和技术推广层面上,应用较为广泛的是基于可编程器件的EDA技术,它主要包括如下四大要素:
1大规模可编程器件,它是利用EDA技术进行电子系统设计的载体;2硬件描述语言,它是利用EDA技术进行电子系统设计的主要手段;3软件开发工具,它是利用EDA技术进行电子系统的智能化的自动化设计工具;4实验开发系统,它是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。
§1.1课程设计题目
学习基本触发器的设计,进一步了解VHDL语言。
巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,本次设计的目的就是学习基本代码转换器的设计,了解并掌握VHDL硬件描述语言的设计方法和思想,通过对基本代码转换器的设计,巩固和综合运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。
通过课程设计深入理解VHDL语言的精髓,达到课程设计的目标。
§1.2设计目的
进一步巩固理论知识,培养所学理论知识的在实际中的应用能力;掌握EDA设计的一般方法;熟悉一种EDA软件,掌握一般EDA系统的调试方法;利用EDA软件设计一个电子技术综合问题,培养VHDL编程、书写技术报告的能力。
为以后进行工程实际问题的研究打下设计基础。
§1.3课程设计要求
本设计主要是利用超高速硬件描述语言VHDL对八位二进制转换成BCD码、余三码的电路进行编程实现。
用原理图输入法或VHDL文本输入法设计代码转换电路,通过电路仿真和硬件验证,进一步了解代码转换器的功能。
设计一个代码转换器实现功能如下:
一个能让八位二进制数转化为BCD码和余三码的代码转换器。
(1)二进制能够直接转化为BCD码
(2)BCD码你能直接转化为余三码
(3)BCD码作为中介实现二进制到余三码的转换
第二章EDA、VHDL简介
§2.1EDA简介
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度
§2.2VHDL简介
VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage),翻译成中文就是超高速集成电路硬件描述语言。
因此它的应用主要是应用在数字电路的设计中。
诞生于1982年。
自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。
此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。
1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。
现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。
有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。
1.用VHDL代码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算机模拟进行验证。
2.VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。
3.VHDL支持各种设计方法,自顶向下、自底向上或者混合的都可以。
4.可以进行从系统级到逻辑级的描述,即混合描述。
5.VHDL区别于其他的HDL,已形成标准,其代码在不同的系统中可交换建
第三章设计过程
§3.1设计规划
本系统设计方案整体组装设计图如下图3-1所示,
3-1系统组成框图
§3.2各个模块设计及原理图
§3.2.1八位二进制码转化为八位BCD码
3-2八位二进制码转化为八位BCD码原理框图
八位二进制码转化为八位BCD码过程由VHDL程序实现,下面是VHDL语言代码:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYHEX2BCDIS
PORT(BCDOUT:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);
HEXIN:
INSTD_LOGIC_VECTOR(7DOWNTO0));
ENDHEX2BCD;
ARCHITECTURERTLOFHEX2BCDIS
BEGIN
PROCESS(HEXIN)
VARIABLENUM:
INTEGERRANGE0TO99;
VARIABLEHUNDRED,TEN,ONE:
INTEGERRANGE0TO9;
VARIABLET,O:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
NUM:
=CONV_INTEGER(HEXIN);
TEN:
=NUMMOD/10;
ONE:
=NUMMOD/10;
T:
=CONV_STD_LOGIC_VECTOR(TEN,4);
O:
=CONV_STD_LOGIC_VECTOR(ONE,4);
BCDOUT<=T&O;
ENDPROCESS;
ENDRTL;
§3.2.2八位BCD码转化为八位余三码
3-3八位BCD码转化为余三码原理框图
八位BCD转换为八位余三码过程由VHDL程序实现,下面是VHDL语言代码:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYTHREEIS
PORT(
B:
INSTD_LOGIC_VECTOR(7DOWNTO0);
W:
OUTSTD_LOGIC_VECTOR(7DOWNTO0)
);
END;
ARCHITECTUREXIAOFTHREEIS
BEGIN
PROCESS(B)
BEGIN
IF(B<"10011010")then
W<=B+"00110011";
ELSEW<="00000000";
ENDIF;
ENDPROCESS;
END;
§3.2.3八位二进制码转化为8位余三码
八位二进制现转化为八位BCD再转化为八位余三码
3-4八位二进制现转化为八位BCD再转化为八位余三码原理框图
八位二进制转换为八位余三码过程由VHDL程序实现,下面是VHDL语言代码:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYZONGIS
PORT(HEXIN:
INSTD_LOGIC_VECTOR(7DOWNTO0);
W:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDZONG;
ARCHITECTURERTLOFZONGIS
SIGNALBCDOUT:
STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
PROCESS(HEXIN)
VARIABLENUM:
INTEGERRANGE0TO99;
VARIABLEHUNDRED,TEN,ONE:
INTEGERRANGE0TO9;
VARIABLET,O:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
NUM:
=CONV_INTEGER(HEXIN);
TEN:
=NUMMOD/10;
ONE:
=NUMMOD/10;
T:
=CONV_STD_LOGIC_VECTOR(TEN,4);
O:
=CONV_STD_LOGIC_VECTOR(ONE,4);
BCDOUT<=T&O;
ENDPROCESS;
PROCESS(BCDOUT)
BEGIN
IF(BCDOUT<"10011010")then
W<=BCDOUT+"00110011";
ELSEW<="00000000";
ENDIF;
ENDPROCESS;
第四章系统仿真
§4.1八位二进制码转化为八位BCD码仿真及分析
八位二进制码转换为八位BCD码由VHDL程序实现
4-1八位二进制码转化为八位BCD码仿真图
由于八位BCD的范围是0~99故只能取一个99以内的二进制数,输入一个二进制数00100101则输出的BCD码为00110111.
§4.2八位BCD码转化为八位余三码仿真及分析
4-2八位BCD码转化为八位余三码仿真图
输入一个BCD数10010101输出一个余三码11001000
§4.3八位二进制码转化为八位余三码仿真及分析
4-3八位BCD码转化为八位余三码仿真图
输入一个八位二进制码01001011输出一个BCD码10101000
第五章总结
在这两周的设计过程中,除找资料外,大多时间都是在电脑上进行的,通过反复的编译,仿真,不断试验来实现所得结果。
在设计上,运用了EDA自上而下的设计思想,逐步完善所设计功能,在设计中也遇到许多困难,在自己及同学的共同努力下才完成此设计。
因此这次课设给我带来的收获主要有:
进一步熟悉QuartusII软件的使用和操作方法,以及硬件实现时的下载方法与运行方法;
对VHDL语言的自顶向下设计方法有了进一步的认识,对其中的许多语句也有了新了解、掌握。
对自己独立思考和解决问题的能力也有了很大的锻炼,同时同学间的互帮互助精神也是在课程设计中很好体现的。
不足之处也有以下几点:
在设计中,发现错误,自己纠错能力还是很欠缺,未能很好的找出,还是在老师及同学帮助下才完成;另外,对于自己想改进的地方,都能很好的指出,当要真正的去把其他改进的功能加上去,自己还是有所欠缺,尝试的过程是艰难的,当我们把我们的困难解决了就是甜蜜的,有收获的。
参考文献
[1]潘松.黄继业《EDA技术实用教程》.2005.科学出版社
[2]徐志军.徐光辉《CPLD/FPGA的开发与应用》.2001.电子工业出版社
[3]朱正伟《EDA技术及应用》清华大学出版社
[4]苏长赞.《电梯设计与应用》[M].北京:
人民邮电出版社,2008,76~91.
[5]楼然苗.《CPLD设计指导》[M].北京航空航天大学出版社,2007,223~225.
[6]彭为.《数字系统设计》[M].电子工业出版社,2006,61~71.