版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南科技学院机电学院VHDL课程设计报告题目:八位数码管显示专业班级:电气工程及其自动化 102姓 名:周迎接学 号:20100344214指导教师:付广春完成日期:2012年12月27日15目录1引言 22总体设计方案 22.1输入引脚数目的计算 32.2二进制转为十进制部分程序设计 32.3数码管显示部分程序设计 43仿真显示 53.1显示3仿真图 53.2显示96的仿真图 54心得体会 6参考文献 6附录1 7摘要 随着当今社会电子技术的快速发展, 单凭借硬件已不再能满足广大人民的需求, 这时候软件就显示除了他们 突出的优点。与其他编程语言相比,VHDL语言以其超强的硬件描述能力,良好的
2、可读性和可移植性,以及其良好的用户自定义性受到了广大用户的青睐。VHDL语言在最近几年的发展及其迅猛,由此可以看出其用途已经变的越来越广泛。一个 VHDL程序由5个部分组成,包括实体( ENTITY)、结构体(architecture )、配置(coxnfiguration)、包(package)和库(library )。实体和结构体两大部分组成程序设计的最基本单元。图2.2表示的是一个 VHDL程序的基本组成。配置是用来从库中选择所需要的单元来组成该系统设计的不同规格的不同版本,VHDL和Verilog HDL已成为IEEE的标准语言,使用IEEE提供的版本。包是存放每个设计模块都能共享的设
3、计类型、常 数和子程序的集合体。库是用来存放已编译的实体、结构体、包和配置。在设计中可以使用ASIC 芯片制造商提供的库,也可以使用由用户生成的 IP 库。今天我所要设计的是基于 VHDL语言的8位数码管显示电路,其要实现的功能是把输入的二进制数转换为对 应的十进制数, 并通过数码管显示出来。 其过程大致可以分为通过程序将输入的二进制数先转换为对应的十进制 数,然后再把对应的十进制数与数码管的管脚对应起来,使其显示在数码管上。关键词: 二进制转为十进制 数码管显示 共阳数码管1引言VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware D
4、escription Language,诞生于1982 年。1987年底,VHDL被美国国防部和IEEE确认为标准硬件描述语言。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口) 和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界 面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的 概念
5、是VHDL系统设计的基本点。它自身必然具有很多其他硬件描述语言1VHDL语言程序就可以描述十分复杂的硬件电VHDL语言能够同时支持同步电路、异步电路和VHDL语言设计方法灵活多样,既支持自顶VHDL语言能够成为标准化的硬件描述语言并获得广泛应用, 所不具备的优点。归纳起来,VHDL语言主要具有以下优点:(1)VHDL语言功能强大,设计方式多样VHDL语言具有强大的语言结构,只需采用简单明确的 路。同时,它还具有多层次的电路设计描述功能。此外, 随机电路的设计实现,这是其他硬件描述语言所不能比拟的。向下的设计方式,也支持自底向上的设计方法;既支持模块化设计方法,也支持层次化设计方法。(2)VHD
6、L语言具有强大的硬件描述能力VHDL语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL语言的强大描述能力还体现在它具有丰富的数据类型。VHDL语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。(3)VHDL语言具有很强的移植能力VHDL语言很强的移植能力主要体现在:对于同一个硬件电路的VHDL语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到
7、另一个综合器上或者从一个工作平台移植到另一个工 作平台上去执行。(4)VHDL语言的设计描述与器件无关采用VHDL语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。这样做的好处 是可以使设计人员集中精力进行电路设计的优化,而不需要考虑其他的问题。当硬件电路的设计描述完 成以后,VHDL语言允许采用多种不同的器件结构来实现。(5)VHDL语言程序易于共享和复用VHDL语言采用基于库的设计方法。在设计过程中,设计人员可以建立各种可再次利用的模块,一个 大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可 以预先设计或者使用以前设计中的存档模块,将
8、这些模块存放在库中,就可以在以后的设计中进行复用。本次我所要设计的基于VHDL语言的八位数码管显示将充分体现它的部分优点。2总体设计方案2.1输入引脚数目的计算因为题目要求数码管要能显示最大的八位十进制二进制数,所以对应的二进制表示的十进制数首先要大于99999999,即2的所有n次幕之和应该大于99999999,数码管才能显示出最大的八位十进制数,所以计算可得 n的值最小为 27,所以输入二进制数的引脚应该设为27个,其二进制数输入引脚图如图1所示ModOd26022二进制转为十进制部分程序设计 二进制转为十进制的部分程序如下:architecture one of look issigna
9、l ai,bi,ci,ki,ei,fi,gi,hi:integer range 0 to 9;signal di:integer range 0 to 99999999;begindi=c onv_in teger(d);2.3数码管显示部分程序设计2.3.1程序中数码管的选择及显示的设置在本设计中按照我的程序硬件所选用的应该为共阴极数码管,且当某一位数码管不需要显示数据时,统 设定其显示0,例如需要显示1时,八个数码管的显示为 00000001。2.3.2数码管显示部分部分程序如下:variable a,b,c,k,e,f,g,h:integer range 0 to 9;begina:=d
10、i rem 10;b:=(di-a) rem 100;c:=(di-a-10*b) rem 1000;k:=(di-a-10*b-c*100) rem 10000;e:=(di-a-10*b-c*100) rem 100000; f:=(di-a-10*b-c*100-1000*e) rem 1000000; g:=(di-a-10*b-c*100-1000*e-10000*f) rem 10000000; h:=(di-a-10*b-c*100-1000*e-10000*f-100000*g)/10000000; ai=a;bi=b;ci=c;ki=k;ei=e;fi=f;gi=g;hile
11、d7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 dow nto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 dow nto 0) led7s36,.O国 O led7s46.O国 o led7$56.O+匸* led7E&6.03 匚 led7s76,r01OUTOUTTiAd7S8r6 niI 7r76 01.s lookB.-
12、d26.Oled7s16.O-dk3led7s26.Oled7s36.Obled7s46.O-:led7s56.Oled7s66.O;led7s76,.O-:led7s86.O. inst图2数码管显示部分部分引脚图2.2.4总体设计程序见附表13仿真显示3.1 显示“ 000000003 ”仿真图显示数字“ 3”的仿真图如图 3所示,因为根据程序所需数码管为共阳极数码管,所以数码管对应的“e”,f”段应该为高电平,在本次设计中,即数码管的第5,6段为高电平,为了便于观察,仿真的各项周期均取 10ns。elks醪i国dA OH(o:aj oo)(0003)(01 0 oiro)C o0:S l
13、edYsl;Xo)( )Q日D-Ifll . B-3 31-1&.-332-1*, , P33-le.-le:_ . 361&.-tz37Q led? =2-CQ 39-1,-1&.-0 40-1*, r41一d 42-1&.图3显示“ 3”电路3.2显示“96”部分仿真图,如图 4所示+ dk 00 a0JXOCToc X aooo X ajc XEj l&dTslA 世)( 1siXXX1s30-le,Air-le. n .Aa亚 le. u aA1 133=1*. .A-le, , BA35=le.A36-le. - BAiy37 ltdTs2A门)l迪YX-le, , aAir-lem
14、A40=le. u BAa 41 le.-.A-1 电,,=Aiii43-le.A图4显示“ 96”仿真图4心得体会通过这次的课程设计让我对VHDL语言以及电路设计的理论有了更加深入的了解,课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题 ,锻炼实践能力的重要环节,这次课程设计虽然很累,但我学到 了不少东西,对软件的设计过程和方法有了更深入的了解。在课程设计过程中,我学到了很多人生的哲理,懂得 怎么样去制定计划, 怎么样去实现这个计划, 并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中
15、,先有我的各个子 程序都已经编辑成功,那么这最后的程序就将是我成功的关键。这次课程设计顺利完成了, 在设计中遇到了很多问题,最后都是经过查阅相关的资料和在同学的帮助下,终于游逆而解。同时,在我学得到很多实用的知识,同时,对给过我帮助的所有同学再次表示忠心的感谢!参考文献2009【1】黄继业.EDA技术使用教程M.北京:科学出版社,2010 【2】王云亮 . 电力电子技术 M. 北京:电子工业出版社,【3】康光华电子技术基础M. 北京:高等教育出版社,2006附录1library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsign
16、ed.all;use ieee.std_logic_arith.all;entity look isport(d:in std_logic_vector(26 downto 0);clk3:in std_logic;led7s1,led7s2,led7s3,led7s4,led7s5,led7s6,led7s7,led7s8:out std_logic_vector(6 downto 0); end;architecture one of look issignal ai,bi,ci,ki,ei,fi,gi,hi:integer range 0 to 9;signal di:integer r
17、ange 0 to 99999999;begindi=conv_integer(d);process(di)variable a,b,c,k,e,f,g,h:integer range 0 to 9;begina:=di rem 10;b:=(di-a) rem 100;c:=(di-a-10*b) rem 1000;k:=(di-a-10*b-c*100) rem 10000;e:=(di-a-10*b-c*100-k*1000) rem 100000;f:=(di-a-10*b-c*100-k*1000-10000*e) rem 1000000;g:=(di-a-10*b-c*100-k*
18、1000-10000*e-100000*f) rem 10000000;h:=(di-a-10*b-c*100-k*1000-10000*e-100000*f-1000000*g)/10000000;ai=a;bi=b;ci=c;ki=k;ei=e;fi=f;gi=g;hiled7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)led7s1(6 downto 0)l
19、ed7s1(6 downto 0)led7s1(6 downto 0)led7s2(6 downto 0)led7s2(6 downto 0)led7s2(6 downto 0)led7s2(6 downto 0)led7s2(6 downto 0)led7s2(6 downto 0)led7s2(6 downto 0)led7s2(6 downto 0)led7s2(6 downto 0)led7s2(6 downto 0)led7s2(6 downto 0)led7s3(6 downto 0)led7s3(6 downto 0)led7s3(6 downto 0)led7s3(6 down
20、to 0)led7s3(6 downto 0)led7s3(6 downto 0)led7s3(6 downto 0)led7s3(6 downto 0)led7s3(6 downto 0)led7s3(6 downto 0)led7s3(6 downto 0)led7s4(6 downto 0)led7s4(6 downto 0)led7s4(6 downto 0)led7s4(6 downto 0)led7s4(6 downto 0)led7s4(6 downto 0)led7s4(6 downto 0)led7s4(6 downto 0)led7s4(6 downto 0)led7s4(6 downto 0)led7s4(6 downto 0)led7s5(6 downto 0)led7s5(6 downto 0)led7s5(6 downto 0)led7s5(6 downto 0)led7s5(6 downto 0)led7s5(6 downto 0)led7s5(6 downto 0)led7s5(6 downto
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年个人借贷协议模板指南版B版
- 2024化验室设备采购合同范本
- 2024年度佛山建筑公司工程分包合同标的物2篇
- 2024专项饭店后厨料理与清洁维护承包协议版
- 2024专业监理协议格式示例集合版B版
- 2024年学校教学仪器采购协议模板
- 2024年工程履约专项担保合同版B版
- 2024年度企业年会策划服务协议版B版
- 2024年专职驾驶员聘用协议一
- 2024年劳动合同修改范本细则版B版
- CQI-12特殊过程:涂装系统评估表(中文第三版)
- 2023年度军队文职公开招考《教育学》题库(含答案)
- 桂工10级资勘优秀灌阳实习报告
- 日本留学课件完整版
- 液冷及冷却液行业深度报告
- 田字格大字 模板
- 戏剧表演艺术十二讲智慧树知到答案章节测试2023年中央戏剧学院
- 儿童填色画大全(打印版)
- 第六单元《多位数乘一位数》(单元解读)-三年级数学上册 人教版
- 机电一体化技术专业群建设
- GB/T 28900-2022钢筋混凝土用钢材试验方法
评论
0/150
提交评论