三位的十进制加法计数器的VHDL语言
三位的十进制加法计数器的VHDL语言
--VHDL程序如下: LIBRARY ieee;
UsE ieee。std_logic_11。all;
ENTITY cnt1000 Is
PORT (
clk clr en
: IN STD_LOGIC; : IN STD_LOGIC; : IN STD_LOGIC;
: OUT INTEGER RANGE 0 TO 999;
count
co
:OUT STD_LOGIC);
END cnt1000;
ARCHITECTURE a OF cnt1000 Is
BEGIN
SIGNAL s : INTEGER RANGE 0 TO 999;
PROCESS (clk, clr) BEGIN
IF clr = '0’ THEN
s 〈= 0;
ELSIF (clk'EVENT AND clk = '1’) THEN
三位的十进制加法计数器的VHDL语言
END a;
IF en = '1' THEN ELSE
s <= s; IF s<999 THEN s <= s + 1; ELSE s<=0; END IF;
END IF;
co 〈='1’;
IF s = 999 THEN
ELSE co <=’0'; END IF; END IF;
END PROCESS;
count 〈= s;
摘 要: 根据教学实践, 介绍了VHDL 硬件描述语言进行工程设计的优点。他既是一种与实际技术相的语言, 不
束缚于某一特定的模拟程序或数字装置上, 也不把设计方法强加于设计者, 他允许设计者在其使用范围内选择工艺和方法,
三位的十进制加法计数器的VHDL语言
描述能力极强, 覆盖了逻辑设计的诸多领域和层次, 并支持众多的硬件模型; 也是一种在数字电路教学中全新的理论联系
实际的教学方法和全新的培养学生实际动手能力的有效工具。同时简要地说明VHDL 硬件描述语言的支撑软件
M ax+ Plus.并结合实例详细阐明VHDL 语言在M ax+ Plus 软件的环境下对数字电路的设计、应用方法及使用时需注 意的几个方面事项。
关键词: VHDL; M ax+ Plus; 器件配置; EDA
中图分类号: TP312 文献标识码: B 文章编号: 1004 373X (2005) 12 093 03
1 1 1 1 1 1
电子设计自动化 (EDA) 的关键技术之一是要求用形 (3) VHDL 语句的行为描述能力和程序结构决定了
式化方法来描述数字系统的硬件电路。VHDL 硬件描述语 他具有支持大规模设计的分解和已有设计的再利用功能。
言在电子设计自动化中扮演着重要的角色, 他是EDA 技 符合市场需求的大规模系统高效、高速地完成必须有多人
术研究的重点之一.有专家认为, 在新的世纪中, VHDL 甚至多个代发组共同并行工作才能实现。
三位的十进制加法计数器的VHDL语言
语言将承担起大部分的数字系统设计任务.作为以工科为 (4) 对于用VHDL 完成的一个确定的设计, 可以利用
主的普通高等院校开设“EDA 技术使用教程\"课程已势在 EDA 工具进行逻辑综合和优化, 并自动的将VHDL 描述
必行。为此, 笔者着重介绍VHDL 语言在M ax+ Plus 环 设计转变成门级网表. 对设计的描述具有相对性 设计者可
境下对数字电路的设计、应用方法及使用时需注意的几个 (5) VHDL , 以不懂硬件的结构 也不必管理最终设计实现的目标器件 方面事项。 ,
是什么, 而进行的设计。 1 VHDL 进行工程设计的优点
2 VHDL 语言的软件运作基地 Max+ Plus 简介 (1) 与其他的硬件描述语言相比, VHDL 具有更强的 是 提供的 开发集
行为描述能力, 从而决定了他成为系统设计领域最佳的硬 M ax+ Plus A ltera FPGACPLD 成环境, 是世界可编程逻辑器件供应商之一。 件描述语言。 A ltera
界面友好 使用便捷 被誉为业界最易用易
(2) VHDL 丰富的仿真语句和库函数, 使得在任何大 M ax+ Plus , , 学的 软件。从图1 可清晰了解到 + 提供
系统的设计早期就能查验设计系统的功能可行性, 随时可 EDA M ax Plus 了一种与结构无关的设计环境, 使设计者能方便地进行设 对设计进行仿真模拟。
计输入、快速处理和器件编程。他包括设计输入编辑、编
三位的十进制加法计数器的VHDL语言
收稿日期: 2005 02 28 译网表提取、数据库建立、逻辑综合、逻辑分割、适配、延 93
6 结 语
用 语言实现数字电路的设计过程 是一个以 VHDL ,
软件设计为主, 器件配置相结合的过程。在以工科为主的 普通高等院校对电类和非电类的学生开展该课程是适应 面向 世纪“电工电子学”课程体系改革的必然趋势 也 21 ,
是科学技术的发展对教学内容提出的新要求, 更是培养学 生利用计算机先进设备进行电子设计自动化的能力。该课 程在我校开设的选修课中, 一致受到学生们的好评。学生 对这种软件设计与硬件设计的结合 以一片器件代替由多 , 片小规模集成数字电路组成的电路, 表示出极大的兴趣和 极高的学习积极性。 参 考 文 献
[1] 潘松, 黄继业1EDA 技术实用教程 [M ] 1北京: 科学出版 社, 20021
[2] 刘明业 1集成电路计算机硬件描述语言VHDL 高等教程 北京 清华大学出版社 [M ] 1 : , 20031
[3] 李国丽, 朱维勇, 栾铭 EDA 与数字系统设计 [M ] 北京:
三位的十进制加法计数器的VHDL语言
1 1
机械工业出版社, 2004 1
摘 要: 硬件描述语言已成为当今以及未来电子设计自动化(EDA)解决方案的核心,特别是对于深亚微米复杂数字系统的设计,硬件描述语言具有独特的作用。本文利用硬件描述语言中的工业标准语言VHDL,设计了一个空调机控制器电路,并通过仿真实现了预定功能。结果表明,VHDL在数字电子电路的设计中具有硬件描述能力强、设计方法灵活等优点。
关键词:VHDL;电子设计自动化;空调机控制器
近年来,随着计算机技术和半导体技术的发展,传统的硬件电路设计方法已大大落后于当今技术的发展。一种崭新的、采用硬件描述语言的硬件电路设计方法已经兴起,硬件描述语言是电子设计自动化(EDA)领域的一次重大变革。目前,广泛使用的硬件描述语言有VHDL(V ery High Speed Integrated Circuit Hardware Description Language)[1]和Ve rilog HDL,它们先后被批准为国际标准语言.
利用硬件描述语言VHDL,数字电路系统可从系统行为级、寄存器传输级和门级三个不同层次进行设计,即上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接着,再用专用集成电路(ASIC)或现场可编程门阵列(FPGA)自动布局布线工具 [2~3],把网表转换为要实现的具体电路布线结构.目前,这种高层次设计(highleveldesign)的方法已被广泛采用[4]。据统计,目前在美国硅谷约有90%以上的ASI C和FPGA采用硬件描述语言进行设计。VHDL的应用已成为当今以及未来EDA解决方案的核心,而且是复杂数字系统设计的核心.
笔者以Max+plus Ⅱ软件作为平台的一个空调机控制器的设计为例,谈谈VHDL在数字电路设计中的具体应用。
1 VHDL的特点
VHDL语言主要用于描述数字系统的结构、行为、功能和接口,与其他硬件描述语言相比,VH DL语言有如下优越之处:① VHDL语言支持自上而下(Top Down)和基于库(LibraryBase )的设计方法,还支持同步电路、异步电路、FPGA以及其他随机电路的设计;② VHDL语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路,其高层次的行为描述可以与低层次的RTL描述和结构描述混合使用,还可以自定义数据 类型,给编程人员带来较大的自由和方便;③VHDL对设计的描述具有相对性,设计者可以不懂硬件的结构,也不必关心最终设计实现的目标器件是什么;④VHDL具有电路仿真与验证功能,可以保证设计的正确性,用户甚至不必编写如何测试相量便可以进行源代码级的调试,而且设计者可以非常方便地比较各种方案之间的可行性及其优劣,不需做任何实际的电路实验;⑤ VHDL语言可以与工艺无关编程;⑥ VHDL语言标准、规范,易于共享和复用。
参考文献
[1] 冼凯仪。电子设计自动化中的硬件描述语言[J]。半导体技术,2003,(4):7 6-78.[2] 胡振华。
三位的十进制加法计数器的VHDL语言
VHDL与FPGA设计[M]。北京:中国铁道出版社,2003。
[3] 王 华,王汝传,吴凡.基于VHDL语言的FPGA设计[J].微型机与应用,2002,(1 1):20-22。
[4] 胡 剑,沈绪榜。部分译码方式桶式移位器及其VHDL实现[J].微电子学与计算机, 2003,(2):34-35。
要:文章介绍了VHDL语言及其基本特点,讨论了VHDL语言在数字电路设计中的诸多优点,通过十位计数器的实例介绍了在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公司组成开发小组,承担了提出语言版本并开发其软件环境的任务.其目的在于所开发的硬件描述语言具有功能强大、严格、可读性好、通用性好、移植性好等特点,避免重复劳动,省时省力并能降低开发电子新产品的费用。利用计算机辅助设计自上而下的逐层完成相应的描述,并与大规模可编程器件相结合,使设计出的电路系统速度更快、体积更小、重量更轻、功耗更小、稳定性更高,大大提高了产品的竞争能力。VHDL语言已日益成为一种通用的硬件设计交换媒介, MAX+PLUSⅡ计算机辅助工程软件,提供了全面的逻辑设计能力,从编辑、综合、布线到仿真、下载验证一气呵成,十分方便。 1 VHDL语言特点:
传统的设计方法是基于中小规模集成电路器件进行设计(如74系列及其改进系列、CC4000系列、74HC系列等都属于通用型数字集成电路),而且是采用自底向上进行设计:①首先确定可用的元器件;②根据这些器件进行逻辑设计,完成各模块;③将各模块进行连接,最后形成系统;④而后经调试、测量观察整个系统是否达到规定的性能指标。
VHDL与电路图设计电路的方式不同,和电路图设计方式相比,具有以下特点:①易于修改;②设计能力更强;③VHDL语言很方便:于器件设计;相同的程序代码可以用于不同厂家生产的器件.④VHDL具有电路仿真与验证功能,仿真结果直观、形象。 2 VHDL程序的基本结构:
VHDL程序的基本结构可分为:①LIBRARY和PACHAGE声明区;②ENTITY定义区;③ARCHITECTURE定义区;④CONFIGURATION定义区。
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是数据类型。
2。3 ARCHITECTURE定义区:定义了实体的实现。即电路的具体描述,说明电路执行什么动作或实现功能。
三位的十进制加法计数器的VHDL语言
定义格式: Architecture 结构体名 of 实体名 is
[声明语句;(内部信号、变量、常数,元件,子程序声明)] Begin并行描述语句;End 结构体名; 2。4 CONFIGURATION定义区:当实体有多个结构体时,系统默认实体选用最后一个结构体,利用CONFIGURATION语句可以任意选择采用哪一个结构体。
定义格式:Configuration 配置名 of 实体名 is
for选用的结构体名end for;end configuration 配置名; 3 十进制计数器的VHDL程序设计:
下面以十进制计数器为例简单的介绍一下,用VHDL语言进行电路设计的具体过程。
3.1 功能:此十进制计数器的有一时钟使能输入端ENA,用于锁定计数值。当高电平时计数允许,低电平时禁止计数。
3。2 语言程序设计:library ieee;use ieee.std_logic_11。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;entity定义区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 clk’event and clk=‘1’ then if ena='1’ then if cqi<9 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 if;end process;cq〈=cqi;end behav;architecture定义区 3。3 VHDL语言的开发环境:以MAX+plusⅡ作为运行环境,支持原理图、VHDL和Verilog语言文本文件,以及波形与EDIF等格式的文件作为设计输入,并支持这些文件的任意混合设计。MAX+plusⅡ具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。在MAX+plusⅡ环境下用VHDL语言设计电路的全过程包括以下几个步骤:①源文件的编辑:点击“新建文件夹”在对话框中选择“Text Editor file \",按 “OK”按钮,即选中了文本编辑方式。然后将上述程序输入。输入完毕后,选择菜单“File→Save”,出现对话框,然后在“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Ⅱ讲弹出对话框选择型号,以便调用正确的编程器驱动程序。其选择方法是启动“Programmer\",选菜单“Options”→“Hardware Setup”,在“Hardware Type”下拉栏中选“ByteBlaster”,按“OK”即可。用鼠标双击编程器子窗口或者选择“MAX+plusⅡ”→“Programmer”菜单,可调出编程器(Programmer)窗口。在将设计文件编程配置进硬件芯片前,需连接好硬件测试系统.一切连接就绪后,方可按下编程器窗口中的“Configure”按钮,无误后,即可将所涉及的内容下载到芯片中。下载成功后弹出的小窗口中显示“Configuration Complete”。接下去就可以在实验系统上进行实验验证。 4 小结
通过对十进制计数器的VHDL的仿真实现,简单的介绍了用VHDL语言进行数字电路设计的方法、步骤,表明了VHDL在数字电子电路的设计中具有设计方法灵活、硬件描述能力强、仿真结果直观等特点。随着集成电路技术的高速发展,数字系统迅速朝着更高集成度、超小型化、高性能、高可靠性和低功耗的系统级芯片方向发展,从而使电路设计逐步向高层设计转移.作为一种设计技术,VHDL已成为数字电路设计时一种重要的方
三位的十进制加法计数器的VHDL语言
法,为我们的学习、工作提供了很大的帮助。 参考文献:
[1]曾繁泰,陈美金编著.VHDL程序设计。清华大学出版社.2000.
[2]刘润华,单亦先编著。电子设计自动化。石油大学出版社。2001。9:35—41。 [3]谭会生,张昌凡编著.EDA技术与应用。西安电子科技大学出版社.2001.
[4]王振红编著。VHDL数字电路设计与应用实践教程。机械工业出版社.2003.6。 [5]潘松,王国栋编著.VHDL实用教程。清华大学出版社。2000.