三位的十进制加法计数器的VHDL语言_第1页
三位的十进制加法计数器的VHDL语言_第2页
三位的十进制加法计数器的VHDL语言_第3页
三位的十进制加法计数器的VHDL语言_第4页
三位的十进制加法计数器的VHDL语言_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、三位的十进制加法计数器的vhdl语言-vhdl程序如下:library ieee;use ieee.std_logic_1164.all;entity cnt1000 isport(clk: instd_logic;clr: instd_logic;en: instd_logic;count: out integer range 0 to 999; co:out std_logic);end cnt1000;architecture a of cnt1000 issignals: integer range 0 to 999;beginprocess (clk, clr)beginif clr

2、 = 0 thens = 0;elsif (clkevent and clk = 1) thenif en = 1 thenif s999 thens = s + 1;else s=0;end if;elses = s;end if;if s = 999 thenco =1;else co =0;end if;end if;end process;count = s;end a;摘要: 根据教学实践, 介绍了vhdl 硬件描述语言进行工程设计的优点。他既是一种与实际技术相独立的语言, 不束缚于某一特定的模拟程序或数字装置上, 也不把设计方法强加于设计者, 他允许设计者在其使用范围内选择工艺和方

3、法,描述能力极强, 覆盖了逻辑设计的诸多领域和层次, 并支持众多的硬件模型; 也是一种在数字电路教学中全新的理论联系实际的教学方法和全新的培养学生实际动手能力的有效工具。同时简要地说明vhdl 硬件描述语言的支撑软件m ax+ plus。并结合实例详细阐明vhdl 语言在m ax+ plus 软件的环境下对数字电路的设计、应用方法及使用时需注意的几个方面事项。关键词: vhdl; m ax+ plus; 器件配置; eda中图分类号: tp312文献标识码: b文章编号: 1004 373x (2005) 12 093 0311 11 11电子设计自动化 (eda) 的关键技术之一是要求用形

4、(3) vhdl 语句的行为描述能力和程序结构决定了式化方法来描述数字系统的硬件电路。vhdl 硬件描述语 他具有支持大规模设计的分解和已有设计的再利用功能。言在电子设计自动化中扮演着重要的角色, 他是eda 技 符合市场需求的大规模系统高效、高速地完成必须有多人术研究的重点之一。有专家认为, 在新的世纪中, vhdl 甚至多个代发组共同并行工作才能实现。语言将承担起大部分的数字系统设计任务。作为以工科为 (4) 对于用vhdl 完成的一个确定的设计, 可以利用主的普通高等院校开设“eda 技术使用教程”课程已势在 eda 工具进行逻辑综合和优化, 并自动的将vhdl 描述必行。为此, 笔者着

5、重介绍vhdl 语言在m ax+ plus 环 设计转变成门级网表。对设计的描述具有相对独立性 设计者可境下对数字电路的设计、应用方法及使用时需注意的几个 (5) vhdl ,以不懂硬件的结构 也不必管理最终设计实现的目标器件方面事项。 ,是什么, 而进行独立的设计。1vhdl 进行工程设计的优点2vhdl 语言的软件运作基地 max+ plus 简介(1) 与其他的硬件描述语言相比, vhdl 具有更强的是 提供的 开发集行为描述能力, 从而决定了他成为系统设计领域最佳的硬 m ax+ plus a ltera fpgacpld成环境, 是世界可编程逻辑器件供应商之一。件描述语言。 a lt

6、era界面友好 使用便捷 被誉为业界最易用易(2) vhdl 丰富的仿真语句和库函数, 使得在任何大 m ax+ plus , ,学的 软件。从图1 可清晰了解到 + 提供系统的设计早期就能查验设计系统的功能可行性, 随时可 eda m ax plus了一种与结构无关的设计环境, 使设计者能方便地进行设对设计进行仿真模拟。计输入、快速处理和器件编程。他包括设计输入编辑、编收稿日期: 2005 02 28 译网表提取、数据库建立、逻辑综合、逻辑分割、适配、延936结语用 语言实现数字电路的设计过程 是一个以vhdl ,软件设计为主, 器件配置相结合的过程。在以工科为主的普通高等院校对电类和非电类

7、的学生开展该课程是适应面向 世纪“电工电子学”课程体系改革的必然趋势 也21 ,是科学技术的发展对教学内容提出的新要求, 更是培养学生利用计算机先进设备进行电子设计自动化的能力。该课程在我校开设的选修课中, 一致受到学生们的好评。学生对这种软件设计与硬件设计的结合 以一片器件代替由多 ,片小规模集成数字电路组成的电路, 表示出极大的兴趣和极高的学习积极性。参考文献1 潘松, 黄继业1eda 技术实用教程 m 1北京: 科学出版社, 200212 刘明业 1集成电路计算机硬件描述语言vhdl 高等教程北京 清华大学出版社m 1 : , 200313 李国丽, 朱维勇, 栾铭 eda 与数字系统设

8、计 m 北京:1 1机械工业出版社, 20041摘要: 硬件描述语言已成为当今以及未来电子设计自动化(eda)解决方案的核心,特别是对于深亚微米复杂数字系统的设计,硬件描述语言具有独特的作用。本文利用硬件描述语言中的工业标准语言vhdl,设计了一个空调机控制器电路,并通过仿真实现了预定功能。结果表明,vhdl在数字电子电路的设计中具有硬件描述能力强、设计方法灵活等优点。 关键词:vhdl;电子设计自动化;空调机控制器 近年来,随着计算机技术和半导体技术的发展,传统的硬件电路设计方法已大大落后于当今技术的发展。一种崭新的、采用硬件描述语言的硬件电路设计方法已经兴起,硬件描述语言是电子设计自动化(

9、eda)领域的一次重大变革。目前,广泛使用的硬件描述语言有vhdl(v ery high speed integrated circuit hardware description language)1和ve rilog hdl,它们先后被批准为国际标准语言。 利用硬件描述语言vhdl,数字电路系统可从系统行为级、寄存器传输级和门级三个不同层次进行设计,即上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(eda)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接着,再用专用集

10、成电路(asic)或现场可编程门阵列(fpga)自动布局布线工具 23,把网表转换为要实现的具体电路布线结构。目前,这种高层次设计(highleveldesign)的方法已被广泛采用4。据统计,目前在美国硅谷约有90%以上的asi c和fpga采用硬件描述语言进行设计。vhdl的应用已成为当今以及未来eda解决方案的核心,而且是复杂数字系统设计的核心。 笔者以maxplus 软件作为平台的一个空调机控制器的设计为例,谈谈vhdl在数字电路设计中的具体应用。 1 vhdl的特点 vhdl语言主要用于描述数字系统的结构、行为、功能和接口,与其他硬件描述语言相比,vh dl语言有如下优越之处: vh

11、dl语言支持自上而下(top down)和基于库(librarybase )的设计方法,还支持同步电路、异步电路、fpga以及其他随机电路的设计; vhdl语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路,其高层次的行为描述可以与低层次的rtl描述和结构描述混合使用,还可以自定义数据 类型,给编程人员带来较大的自由和方便;vhdl对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必关心最终设计实现的目标器件是什么;vhdl具有电路仿真与验证功能,可以保证设计的正确性,用户甚至不必编写如何测试相量便可以进行源代码级的调试,而且设计者可以非常方便地比较各种方案之间的可

12、行性及其优劣,不需做任何实际的电路实验; vhdl语言可以与工艺无关编程; vhdl语言标准、规范,易于共享和复用。 参考文献 1 冼凯仪.电子设计自动化中的硬件描述语言j.半导体技术,2003,(4):7 678.2 胡振华.vhdl与fpga设计m.北京:中国铁道出版社,2003.3 王 华,王汝传,吴凡.基于vhdl语言的fpga设计j.微型机与应用,2002,(1 1):2022.4 胡 剑,沈绪榜.部分译码方式桶式移位器及其vhdl实现j.微电子学与计算机, 2003,(2):3435.要:文章介绍了vhdl语言及其基本特点,讨论了vhdl语言在数字电路设计中的诸多优点,通过十位计数

13、器的实例介绍了在max+plus环境下运用vhdl语言设计实际电路的具体方法和步骤。结果表明vhdl语言应用于数字电路仿真的灵活性及直观性。关键词:vhdl 数字电路 max+plus 仿真0 引言vhdl是70年代末和80年代初,由美国国防部为超高速集成电路vhsic(very hight speed intergrated circuit)计划提出的硬件描述语言vhdl(vhsic hardware description language)。1983年7月,由intermetrics公司和texas instruments公司组成开发小组,承担了提出语言版本并开发其软件环境的任务。其目的

14、在于所开发的硬件描述语言具有功能强大、严格、可读性好、通用性好、移植性好等特点,避免重复劳动,省时省力并能降低开发电子新产品的费用。利用计算机辅助设计自上而下的逐层完成相应的描述,并与大规模可编程器件相结合,使设计出的电路系统速度更快、体积更小、重量更轻、功耗更小、稳定性更高,大大提高了产品的竞争能力。vhdl语言已日益成为一种通用的硬件设计交换媒介, max+plus计算机辅助工程软件,提供了全面的逻辑设计能力,从编辑、综合、布线到仿真、下载验证一气呵成,十分方便。1 vhdl语言特点:传统的设计方法是基于中小规模集成电路器件进行设计(如74系列及其改进系列、cc4000系列、74hc系列等

15、都属于通用型数字集成电路),而且是采用自底向上进行设计:首先确定可用的元器件;根据这些器件进行逻辑设计,完成各模块;将各模块进行连接,最后形成系统;而后经调试、测量观察整个系统是否达到规定的性能指标。 vhdl与电路图设计电路的方式不同,和电路图设计方式相比,具有以下特点:易于修改;设计能力更强;vhdl语言很方便:独立于器件设计;相同的程序代码可以用于不同厂家生产的器件。vhdl具有电路仿真与验证功能,仿真结果直观、形象。2 vhdl程序的基本结构:vhdl程序的基本结构可分为:library和pachage声明区;entity定义区;architecture定义区;configuratio

16、n定义区。2.1 library和package声明区:library(库)是用于存放预先编译好的package(程序包)。package(程序包)中定义了基本的常数,数据类型,元件及子程序等。作用:声明在实体和结构体定义中将用到的数据类型、元件或子程序等。声明格式:library 库名;use 库名. package名.all;2.2 entity定义区:entity(实体)用于定义电路的外观,即i/o端口的类型和数量。定义格式:entity 实体名 is。port(a:inbit;b:in bit;c:out bit);end 实体名;其中a、b、c是端口名,in、out是端口模式,bit

17、是数据类型。2.3 architecture定义区:定义了实体的实现。即电路的具体描述,说明电路执行什么动作或实现功能。定义格式:architecture 结构体名 of 实体名 is 声明语句;(内部信号、变量、常数,元件,子程序声明)begin并行描述语句;end 结构体名;2.4 configuration定义区:当实体有多个结构体时,系统默认实体选用最后一个结构体,利用configuration语句可以任意选择采用哪一个结构体。 定义格式:configuration 配置名 of 实体名 isfor选用的结构体名end for;end configuration 配置名;3 十进制计数

18、器的vhdl程序设计:下面以十进制计数器为例简单的介绍一下,用vhdl语言进行电路设计的具体过程。3.1 功能:此十进制计数器的有一时钟使能输入端ena,用于锁定计数值。当高电平时计数允许,低电平时禁止计数。3.2 语言程序设计:library ieee;use ieee.std_logic_1164.all;library声明区;entity cnt10 isport(clk,clr,ena:in std_logic;计数、清零、计数使能信号;co:out std_logic;计数进位;cq:out integer range 0 to 15);4位计数结果输出end cnt10;entit

19、y定义区architecture behav of cnt10 is signal cqi:integer range 0 to 15;begin process(clk,clr,ena)begin if clk=1 then cqi=0;计数器异步清零elsif clkevent and clk=1 then if ena=1 then if cqi9 then cqi=cqi+1;等于9,则清零else cqi=0;end if;end if;end if;end process;process(cqi)beginif cqi=9 then co=1;进位输出else co=0;end i

20、f;end process;cq=cqi;end behav;architecture定义区 3.3 vhdl语言的开发环境:以max+plus作为运行环境,支持原理图、vhdl和verilog语言文本文件,以及波形与edif等格式的文件作为设计输入,并支持这些文件的任意混合设计。max+plus具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。在max+plus环境下用vhdl语言设计电路的全过程包括以下几个步骤:源文件的编辑:点击“新建文件夹”在对话框中选择“text editor file ”,按 “ok”按钮,即选中了文本编辑方式。然后将上述程序输入。输入完毕后,选择

21、菜单“filesave”,出现对话框,然后在“file name”框中输入文件名,然后按“ok”,文件即被存入。系统的编译:在编译系统文件f_adder.gdf前,需要设置该文件为顶层文件project。选择菜单“file”“project”“set project to current file”,当前的工程即被设为f_adder。选择“max+plus”“compiler”菜单,可运行编译器,检验程序是否正确。系统仿真:选择菜单“file”“new”,在对话框中选择“waveform editor file”,按“ok”后将出现波形编辑器子窗口。选择菜单“node”“enter nodes from snf”,在出现的对话框中选择“list”键,然后按“=”按钮,在按下“ok”键,选中的信号将出现在波形编辑器中。编辑好输入信号保存,再按下“max+plus”“simulator”出现仿真结果。cnt10的仿真波形如图1:该仿真波形,很直观的将十位计数器的计数过程展现出来,同时也验证了vhdl程序设计的可实现性。系统下载:程序设计成功后,就可以下载到芯片上进行实验操作了。如果max+plus是安装后第一次调用编程器,则max+plus

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论