格雷码余三码BCD码汇总.docx

上传人:b****8 文档编号:27646549 上传时间:2023-07-03 格式:DOCX 页数:16 大小:97.89KB
下载 相关 举报
格雷码余三码BCD码汇总.docx_第1页
第1页 / 共16页
格雷码余三码BCD码汇总.docx_第2页
第2页 / 共16页
格雷码余三码BCD码汇总.docx_第3页
第3页 / 共16页
格雷码余三码BCD码汇总.docx_第4页
第4页 / 共16页
格雷码余三码BCD码汇总.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

格雷码余三码BCD码汇总.docx

《格雷码余三码BCD码汇总.docx》由会员分享,可在线阅读,更多相关《格雷码余三码BCD码汇总.docx(16页珍藏版)》请在冰豆网上搜索。

格雷码余三码BCD码汇总.docx

格雷码余三码BCD码汇总

目录

第一章绪论1

1.1设计的目的1

1.2设计的基本内容2

1.2.1BCD码转换成余三码2

1.2.2BCD码转换为格雷码2

第二章EDA、VHDL简介3

2.1EDA简介3

2.2VHDL3

2.2.1VHDL的简介3

2.2.2VHDL语言的特点4

2.2.3VHDL的设计流程4

第三章总体设计5

3.1设计规划5

3.2各模块设计程序及原理5

3.2.1BCD码转换成余三码5

3.2.2BCD码转换成格雷码7

3.2.3整体电路框图及主程序9

第四章系统仿真10

4.1BCD码转换为余三码仿真及分析10

4.2BCD码转换为格雷码仿真及分析10

4.3整体仿真验证11

结论及辞谢12

附录13

附录一:

主程序13

附录二:

参考文献18

 

第一章绪论

随着计算机科学与技术突飞猛进地发展,用数字电路进行信号处理的优势也更加突出,自20世纪70年代开始,这种用数字电路处理模拟信号的所谓“数字化”浪潮已经席卷了电子技术几乎所有的应用领域。

BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。

这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。

相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免却使电脑作浮点运算时所耗费的时间。

此外,对于其他需要高精确度的计算,BCD编码亦很常用。

余3码是8421BCD码的每个码组加3(0011)形成的。

常用于BCD码的运算电路中。

Gray码也称循环码,其最基本的特性是任何相邻的两组代码中,仅有一位数码不同。

1.1设计的目的

学习基本触发器的设计,进一步了解VHDL语言。

巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,本次设计的目的就是学习基本代码转换器的设计,了解并掌握VHDL硬件描述语言的设计方法和思想,通过对基本代码转换器的设计,巩固和综合运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。

通过课程设计深入理解VHDL语言的精髓,达到课程设计的目标。

进一步巩固理论知识,培养所学理论知识在实际中的应用能力;掌握EDA设计的一般方法;熟悉一种EDA软件,掌握一般EDA系统的调试方法;利用EDA软件设计一个电子技术综合问题,培养VHDL编程、书写技术报告的能力。

为以后进行工程实际问题的研究打下设计基础

1.2设计的基本内容

本设计主要是利用超高速硬件描述语言VHDL对BCD码转换成余三码、格雷码的电路进行编程实现。

用原理图输入法或VHDL文本输入法设计代码转换电路,通过电路仿真和硬件验证,进一步了解代码转换器的功能。

1.2.1BCD码转换成余三码

用八位的BCD码作为输入,余三码作输出,通过输入和输出跟实际运算结果的对比以及它们之间的关系,验证转换器设计的正确性。

1.2.2BCD码转换为格雷码

用八位的BCD码作为输入,格雷码作输出,通过输入和输出跟实际运算结果的对比以及它们之间的关系,验证转换器设计的正确性

 

第二章EDA、VHDL简介

2.1EDA简介

EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可*性,减轻了设计者的劳动强度。

2.2VHDL

2.2.1VHDL的简介

VHDL超高速集成电路硬件描述语言。

因此它的应用主要是应用在数字电路的设计中。

诞生于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语言将承担起大部分的数字系统设计任务。

2.2.2VHDL语言的特点

1.用VHDL代码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算机模拟进行验证。

2.VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。

3.VHDL支持各种设计方法,自顶向下、自底向上或者混合的都可以。

4.可以进行从系统级到逻辑级的描述,即混合描述。

5.VHDL区别于其他的HDL,已形成标准,其代码在不同的系统中可交换建模。

2.2.3VHDL的设计流程

它主要包括以下几个步骤:

1.文本编辑:

用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。

通常VHDL文件保存为.vhd文件,Verilog文件保存为.v文件。

2.使用编译工具编译源文件。

3.功能仿真:

将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)

4.逻辑综合:

将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。

逻辑综合软件会生成.edf或.edif的EDA工业标准文件。

5.布局布线:

将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放PLD/FPGA内。

6.时序仿真:

需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。

(也叫后仿真)通常以上过程可以都在PLD/FPGA厂家提供的开发工具。

第三章总体设计

3.1设计规划

本系统设计采用自顶向下的设计方案,整体程序由两部分组成,系统的整体组装设计原理图如图3-1所示,

图3-1系统组成框图

3.2各模块设计程序及原理

3.2.1BCD码转换成余三码

3-2-1BCD码转换为余三码原理框图

BCD转换为余三码过程由VHDL程序实现,下面是VHDL语言代码:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityleaf2is

port(A0,A1,A2,A3,CI:

instd_logic;

A4,A5,A6,A7,CI:

instd_logic;

CI:

instd_logic;

F0,F1,F2,F3:

outstd_logic;

F4,F5,F6,F7:

outstd_logic;

CO:

outstd_logic);

endleaf2;

architectureexampleofleaf2is

signalA,B,C,F:

std_logic_vector(8downto0);

begin

A<=('0',A7,A6,A5,A4,A3,A2,A1,A0);

B<=('0','0','0','1','1''0','0','1','1');

C<=('0','0','0','0','0','0','0','0',CI);

F<=A+B+C;

F0<=F(0);F1<=F

(1);F2<=F

(2);F3<=F(3);

F4<=F(4);F5<=F(5);F6<=F(6);F7<=F(7);

CO<=F(8);

endexample;

BCD码转换为余三码只需要将BCD码相应的加上“0011”即得到余三码,八位的BCD码和余三码之间的转换则需加上“00110011”,为了保证正确性,考虑第九位,当有进位时进位端C0=1,否则为0,程序在下一章仿真试验中验证。

3.2.2BCD码转换成格雷码

3-2-2BCD码转换为格雷码原理框图

BCD转换为格雷码过程由VHDL程序实现,下面是VHDL语言代码:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYleaf1IS

PORT(A0,A1,A2,A3:

INSTD_LOGIC;

A4,A5,A6,A7:

INSTD_LOGIC;

G0,G1,G2,G3:

OUTSTD_LOGIC;

G4,G5,G6,G7:

OUTSTD_LOGIC);

ENDleaf1;

ARCHITECTUREexampleOFleaf1IS

BEGIN

G0<=A0XORA1;

G1<=A1XORA2;

G2<=A2XORA3;

G3<=A3;

G4<=A4XORA5;

G5<=A5XORA6;

G6<=A6XORA7;

G7<=A7;

ENDexample;

根据格雷码与BCD码之间的对应关系可以看出,格雷码和BCD码的转换关系为每四位分别转换,最高位和BCD码的最高位相同,后三位依次取异或,得到格雷码,例如八位BCD码“00100010”则相应的格雷码为“00110011”,程序验证见以下仿真过程。

3.2.3整体电路框图及主程序

3-2-3总软件框图

 

第四章系统仿真

4.1BCD码转换为余三码仿真及分析

BCD码转换为余三码由VHDL程序实现后,其仿真图如图4-1所示。

4-1BCD码转换为余三码功能时序仿真图

对其仿真图进行仿真分析:

A7到A0为八位BCD码输入端,F7到F0为八位余三码输出端,C1为进位输入端,C0为进位输出端。

当输入为“00110011”且C1=0时,输出为“011001110”,符合运算法则即仿真成功。

4.2BCD码转换为格雷码仿真及分析

BCD码转换为格雷码由VHDL程序实现后,其仿真图如图4-2所示

4-2BCD码转换为格雷码功能时序仿真图

对其仿真图进行仿真分析:

A7到A0为八位BCD码输入端,G7到G0为八位格雷码输出端,。

当输入为“00110011”输出为“00100010”,符合转换法则即仿真成功

4.3整体仿真验证

整体程序仿真如图4-3所示

4-3整体功能时序仿真图

结论及辞谢

通过两星期的紧张工作,最后完成了我的设计任务——基于VHDL语言BCD码转换为余三码、格雷码代码转换器的设计。

通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性所在。

本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。

它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。

希望学校以后多安排一些类似的实践环节,让同学们学以致用。

在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。

在应用VHDL的过程中让我真正领会到了其在电路设计上的优越性。

用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。

本设计是在王俊老师的精心指导和严格要求下完成的,从课题选择到具体设计和调试,都得到王老师的悉心指导,无不凝聚着王老师的心血和汗水,他多次为我指点迷津,帮助我开拓设计思路,精心点拨、热忱鼓励。

他渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。

通过这次课程设计我从王老师那学到不少有用的知识,也积累了一定的电路设计的经验。

最后非常感谢王俊老师对我的指导与大力的帮助。

 

附录

附录一:

主程序

LIBRARYieee;

USEieee.std_logic_1164.all;

LIBRARYwork;

ENTITYmainIS

PORT(A0:

INSTD_LOGIC;

A1:

INSTD_LOGIC;

A2:

INSTD_LOGIC;

A3:

INSTD_LOGIC;

A4:

INSTD_LOGIC;

A5:

INSTD_LOGIC;

A6:

INSTD_LOGIC;

A7:

INSTD_LOGIC;

CI:

INSTD_LOGIC;

G0:

OUTSTD_LOGIC;

G1:

OUTSTD_LOGIC;

G2:

OUTSTD_LOGIC;

G3:

OUTSTD_LOGIC;

G4:

OUTSTD_LOGIC;

G5:

OUTSTD_LOGIC;

G6:

OUTSTD_LOGIC;

G7:

OUTSTD_LOGIC;

C0:

OUTSTD_LOGIC;

F7:

OUTSTD_LOGIC;

F0:

OUTSTD_LOGIC;

F1:

OUTSTD_LOGIC;

F2:

OUTSTD_LOGIC;

F3:

OUTSTD_LOGIC;

F4:

OUTSTD_LOGIC;

F5:

OUTSTD_LOGIC;

F6:

OUTSTD_LOGIC);

ENDmain;

ARCHITECTUREbdf_typeOFmainIS

COMPONENTleaf1

PORT(A0:

INSTD_LOGIC;

A1:

INSTD_LOGIC;

A2:

INSTD_LOGIC;

A3:

INSTD_LOGIC;

A4:

INSTD_LOGIC;

A5:

INSTD_LOGIC;

A6:

INSTD_LOGIC;

A7:

INSTD_LOGIC;

G0:

OUTSTD_LOGIC;

G1:

OUTSTD_LOGIC;

G2:

OUTSTD_LOGIC;

G3:

OUTSTD_LOGIC;

G4:

OUTSTD_LOGIC;

G5:

OUTSTD_LOGIC;

G6:

OUTSTD_LOGIC;

G7:

OUTSTD_LOGIC);

ENDCOMPONENT;

COMPONENTleaf2

PORT(A0:

INSTD_LOGIC;

A1:

INSTD_LOGIC;

A2:

INSTD_LOGIC;

A3:

INSTD_LOGIC;

A4:

INSTD_LOGIC;

A5:

INSTD_LOGIC;

A6:

INSTD_LOGIC;

A7:

INSTD_LOGIC;

CI:

INSTD_LOGIC;

F0:

OUTSTD_LOGIC;

F1:

OUTSTD_LOGIC;

F2:

OUTSTD_LOGIC;

F3:

OUTSTD_LOGIC;

F4:

OUTSTD_LOGIC;

F5:

OUTSTD_LOGIC;

F6:

OUTSTD_LOGIC;

F7:

OUTSTD_LOGIC;

CO:

OUTSTD_LOGIC);

ENDCOMPONENT;

BEGIN

b2v_inst:

leaf1

PORTMAP(A0=>A0,

A1=>A1,

A2=>A2,

A3=>A3,

A4=>A4,

A5=>A5,

A6=>A6,

A7=>A7,

G0=>G0,

G1=>G1,

G2=>G2,

G3=>G3,

G4=>G4,

G5=>G5,

G6=>G6,

G7=>G7);

b2v_inst1:

leaf2

PORTMAP(A0=>A0,

A1=>A1,

A2=>A2,

A3=>A3,

A4=>A4,

A5=>A5,

A6=>A6,

A7=>A7,

CI=>CI,

F0=>F0,

F1=>F1,

F2=>F2,

F3=>F3,

F4=>F4,

F5=>F5,

F6=>F6,

F7=>F7,

CO=>C0);ENDbdf_type;

附录二:

参考文献

[1]江国强编著EDA技术与实用(第三版)北京:

电子工业出版社,2011

[2]曹昕燕,周凤臣EDA技术实验与课程设计北京:

清华大学出版社,20065

[3]阎石主编数字电子技术基础北京:

高等教育出版社,2003.

[4]MarkZwolinskiDigitalSystemDesignwithVHDL北京:

电子工业出版社,2008

[5]AlanB.MarcovitzIntroductiontologicDesign北京:

电子工业出版社,2003

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1