vhdl语言范例6篇

vhdl语言

vhdl语言范文1

【关键词】数字电路;VHDL;教学改革;设计方法

1.引言

数字电路是理工科中的电类专业和计算机专业必修的专业基础课程,也是信息类各专业的平台课程。该课程在介绍有关数字系统基本知识、基本理论、基本电路的基础上,重点讨论数字系统中各种逻辑电路分析与设计的基本方法,以及该领域的发展现状及最新的技术。设置该课程的主要目的是为了让学生了解各种基本逻辑电路,能熟练地运用有关知识和理论对各类逻辑电路进行分析设计。目前, 大多数高等院校仍是采用传统的数字电路教学模式, 以教材为中心,过于强调基本原理、公式的推导以及波形的分析,往往让学生觉得抽象,不能够很好地理解电路、集成芯片的功能及应用。而实验环节主要在实验箱上完成,开设的是一些验证性的实验,对各实验项目的电路设计以手工为主,一般遵循自底向上的设计方法,从电路的功能分析,真值表、表达式、逻辑电路图到器件的选择、连线、测试等,学生的认识仅仅停留在局部小部件上,复杂的系统设计思想受到限制。在数字电子技术飞速发展的今天,大规模以及超大规模集成电路的广泛应用,这种缺乏实用性和创新性的传统教学模式,已不再适应现代应用型人才的培养。因此,教学需要融入新技术 、突破传统教学模式,引入VHDL语言的数字电路教学改革就成为一个重要的研究课题。

2.VHDL语言及其特点

超高速集成电路硬件描述语言(VHDL) 是一种用于数字电路设计的高级语言,是被IEEE和美国国防部确认为标准的硬件描述语言,其主要用于描述数字电路的结构,行为,功能和接口。基于这种描述结合相关的软件工具,可以得到所期望的实际数字电路。利用VHDL语言进行电路设计具有以下几个特点:

(1)VHDL可用于设计复杂的、多层次的设计,并且支持设计库和设计的重复使用;

(2)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力;

(3)VHDL有丰富的仿真语句和库函数,使其在设计的早期就能查验设计系统的功能可行性,借助于相关仿真器随时可对设计进行仿真模拟;

(4)对于VHDL完成的一个确定的设计,一般可进行逻辑综合和优化,并能自动的把VHDL描述设计转变成门级网表;

(5)VHDL语言支持电路描述由高层向低层的综合变换,便于文档管理,易于理解和设计的再利用;

(6)VHDL对于设计的描述具有相对独立性,设计者可以不懂硬件的结构,最终实现的目标器件设计。

3.VHDL语言较传统设计方法的优点

通过上述特点,我们了解到VHDL语言功能强大、设计灵活、容易掌握。将VHDL语言引入数字电路教学中,有利于增强学生对电路设计的认识,掌握更多的设计方法,提高分析设计能力。本文针对六进制约翰逊计数器的设计,分别采用了传统设计方法和VHDL方法进行设计,通过对比可得出,VHDL可以显著提升数字电路的教学效果。

3.1 传统设计方法

传统电路设计采用自底向上的设计方法如图1所示。本文选用JK、D触发器及门电路来实现,采用3个触发器连接产生8个状态,六进制约翰逊计数器只有6个状态,将其中的010,011两个状态禁止掉,具体状态转换表如表1所示。

图1 自底向上设计方法

表1 状态转换表

CLK Q2n'Q1n'Q0n Q2n+1'Q1n+1'Q0n+1

1 0..0..0 0...0...1

2 0..0..1 0...1...1

3 0..1..1 1...1...1

4 1..1..1 1...1...0

5 1..1..0 1...0...0

6 1..0..0 0...0...0

由状态转换表得出状态方程:

,,

将Q2,Q1选用D触发器,Q0选用JK触发器,得出驱动方程:

,,,

根据驱动方程最终画出逻辑原理图如图2所示。

图2 逻辑原理图

在得到逻辑原路图后,还需要进行逻辑验证,验证无误后再对逻辑原理图进行逻辑验证无误后,在PCB版上完成布线、装配、焊接及调试,如有问题,再进行局部修改,直至整个电路调试完毕为止。

图3 自顶向下设计方法

3.2 VHDL设计方法

VHDL设计采用自顶向下的设计方法如图3所示。首先根据设计要求对电路功能进行行为级描述和仿真,然后再进行RTL级描述和仿真,达到预期结果后再进行逻辑综合、布局布线,最终完成电路设计。

(1)行为描述,也就是对计数器数学模型的描述,通过代码描述出输入、输出引脚和计数过程中状态变化时序及关系,具体程序如下:

LIBRARY ieee;

USE ieee.std_logic_1164.all;

entity counter6 is

port(clk,reset:in std_logic;

count_out:out std_logic_vector(2 downto 0));

end counter6;

architecture rtl Of counter6 is

signal next_count:std_logic_vector(2 downto 0);

begin count_proc:process(clk,reset)

begin if reset='0' then

next_count<="000";

elsif clk'event and clk='1' then

case next_count is

when "000"=>next_count<="001";

when "001"=>next_count<="011";

when "011"=>next_count<="111";

when "111"=>next_count<="110";

when "110"=>next_count<="100";

when "100"=>next_count<="000";

when others=>next_count<="000";

end case;

end if;

count_out<=next_count;

end process;

end rtl;

利用Max+plusⅡ软件对上述程序进行编译、仿真,仿真结果如图4所示,结果表明,该方案符合设计要求。

图4 仿真结果

(2)RTL描述,即用具体门电路、运算器等来描述行为部分。行为描述程序抽象程度较高,故需转化为RTL方式描述的VDHL程序,以便于映射到具体的逻辑元件,得到硬件的具体实现。对于改写后的RTL程序同样需要进行仿真,检查正确性。

(3)逻辑综合,利用MAX+PLUS II Advanced Synthsis ALtera将其转换为门级网络表,输出逻辑原理图并进行仿真、检查定时关系。最后根据需要利用门级网表做出ASIC芯片或生成FPGA码点,完成电路设计。

3.3 VHDL与传统设计方法比较

相较于传统设计方法,VHDL采用自顶向下的设计方法,可进行结构化、模块化设计,更利于分工合作,再加上各层次的仿真检查,便于早期发现错误并改正,提高了设计效率;同时设计描述的相对独立性,使得学生设计时不必写表达式、真值表,不必考虑所用器件,降低了设计难度;另外VHDL语言简单易学,MAX+PLUS II界面友好,通过仿真波形分析,学生能更形象、更深刻的理解所学内容。

4.结束语

数字电路作为专业基础课程,其教学效果的好坏,将直接影响后续相关专业课程的学习。在数字电路教学中引入VHDL描述语言,利用MAX+PLUS II进行编译、仿真、演示,不但丰富了教学内容,改进了教学手段,提高学习兴趣,还有助于学生消除“抽象感”;另外VHDL能将传统教学中较难实现的电路设计转换为软件设计,不仅简化了设计工作,还有利于增强学生对集成芯片的认识,提高分析设计能力,掌握更多的设计方法,以适应现代应用型人才培养要求。

参考文献

[1]张天瑜.基于VHDL的数字电路课程改革研究[J].湖北广播电视大学学报:2010(02):25-26.

[2]黄红霞.基于VHDL提升数字电路教学效果的研究[J].黄石理工学院学报,2010(03):66-70.

[3]谭勇,朱斌.基于EDA技术的数字电路实验教学改革[J].中国现代教育装备,2012(17):43-44.

vhdl语言范文2

关键词:VHDL,电路系统,数据选择器

 

1 引言

VHDL (Very HighSpeed Integrated Circuit Hardware Description Language)是美国国防部在20世纪80年代中期开始推出的一种通用的硬件描述语言。作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,VHDL语言在电子工程领域已成为事实上的通用硬件描述语言。VHDL为设计者提供了一种全新的数字系统的设计途径。使用VHDL语言不只是意味着代码的编写,更是为了便于建立层次结构和元件结构的设计,利用VHDL编写的电路模块可被重复利用。故可以简化设计者的设计工作,大大缩短设计时间,减少硬件设计成本,提高工作效率。

2 VHDL的优点

VHDL主要用于描述数字系统的结构、行为、功能和接口。应用VHDL进行工程设计的优点是多方面的:

(1)具有更强的行为描述能力,是系统设计领域最佳的硬件描述语言。

(2)具有丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。

(3)VHDL语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能。该功能能满足市场大规模系统高效、高速的需要,可替代多人甚至多个组共同工作。

VHDL的许多优点给硬件设计者带来了极大的方便, 自然被广大用户接受, 得到众多厂商的大力支持。使用VHDL设计数字系统已成为当今电子设计技术的必然趋势[4 ] 。

3 “自顶向下”( Top-Down) 的设计方法

随着数字系统设计规模的急剧加大,“自顶向下”的设计方法成为现代EDA设计的趋势。论文参考。传统的系统硬件设计方法是采用自下而上的设计方法。即系统硬件的设计是从选择具体元器件开始的,并用这些元器件进行逻辑电路设计,完成系统各独立功能模块设计,然后再将各功能模块连接起来,完成整个系统的硬件设计。而在VHDL的设计中,采用“自顶向下”( Top-Down) 的设计方法,设计常用流程图如图1所示,系统被分解为各个模块的集合后,可以对设计的每个独立模块指派不同的工作小组,这些小组可以工作在不同地点,甚至可以分属不同的单位,最后将不同的模块集成为最终的系统模型,并对其进行综合测试和评价。论文参考。“自顶向下”设计的基本步骤为:

(1) 分析系统的内部结构并进行系统划分,确定各个模块的功能和接口;

(2) 编写程序,输入VHDL代码,并将其编译成标准的VHDL文件;

(3) VHDL 源代码进行综合优化处理;

(4) 配置,即加载设计规定的编程数据到一个或多个LCA器件中的运行过程,以定义器件内的逻辑功能块和其互连的功能。

(5) 下载验证,通过编程器或下载电缆载入将步骤(4) 得到的器件编程文件下载到目标芯片中,以验证设计的正确性。

图1 VHDL工程设计流程图

Fig.1 The design flow based on VHDL

4 VHDL的设计举例

下面以4选1数据选择器为例说明使用VHDL的设计过程。4选1数据选择器框图如图2所示。论文参考。

该数据选择器的VHDL描述如下:

entity sel is

port(a,b,c,d,sel_1:IN bit;

out_1:OUT bit);

end sel;

architectureexample of sel is

begin图2 4选1数据选择器

process((a,b,c,d, sel_0, sel_1) Fig.2 The one-in-four selector

begin

if sel_0=‘0’andsel_1=‘0’then

out_1<=a;

elsef sel_0=‘0’andsel_1=‘1’then

out_1<=b;

elsef sel_0=‘1’andsel_1=‘0’then

out_1<=c;

else

out_1<=d;

end if;

end process;

end example;

利用VHDL强大的仿真功能,经过编译后运行仿真,之后可以产生信号波形,用以分析仿真结果。本例中产生波形如图3所示。仿真结果符合设计功能的要求。

图3 仿真结果

Fig.3The waveform of simulation

5 结束语

本文以4选1数据选择器设计为例,说明利用VHDL设计电路系统的基本方法和过程。用VHDL语言实现电路的设计过程,是一个以软件设计为主,器件配置相结合的过程。这种软件设计与硬件设计的结合,以一片器件代替由多片小规模集成数字电路组成的电路,其优势已经越来越明显。在进行系统设计时,如果系统比较复杂,所需器件数目多,并要求体积小、速度快、功耗低时,首先应该考虑使用VHDL进行芯片设计,然后再进行整体设计。

参考文献

[1] Stafan Sjoholm,Lennart Lindh. 边计年,薛宏熙译. 用VHDL设计电子线路[M]. 北京:清华大学出版社,1999.

[2] 潘松,黄继业. EDA技术实用教程[M]. 科学出版社,2002.

[3] 侯伯亨,顾新. VHDL硬件描述语言与数字逻辑电路设计[M].西安: 西安电子科技大学出版社, 2004.

[4] 赵晨光等. VHDL语言在电子设计实践中的应用. 沈阳航空工业学院学报[J]. 2004,21(1):57-59.

[5] 张利萍, 胡玉兰. 硬件描述语言VHDL应用设计及实例[J]. 沈阳工业学院学报,2002,21(2):70-73.

vhdl语言范文3

Sun Bing; Qi Xiaomei

(China University of Petroleum College of Computer and Communication Engineering,Dongying 257061,China)

摘要: 结合工程实际应用和现代硬件系统的设计方法,应用VHDL对组成原理实验中的主要器件进行逻辑设计,将现有的计算机组成原理实验课程的实验内容、实验方式、实验过程进行设置与优化。在计算机组成原理实验教学环节中引入VHDL及FPGA技术,能够起到促进课程内容学习及培养专业能力的双重效果。

Abstract: Combined with engineering application and design method of modern hardware system, VHDL was used to make logic design for the main component in principles of computer composition to design and optimize experimental content, method, and process of existing experiment course of computer composition principle. The introduction of VHDL and FPGA technology into experimental teaching can both promote to learn course content and cultivate professional ability.

关键词: VHDL语言 实验教学 计算机组成原理

Key words: VHDL Language;experimental teaching;principles of computer composition

中图分类号:TP39 文献标识码:A文章编号:1006-4311(2011)27-0110-02

0引言

计算机组成原理是计算机科学与技术专业的一门骨干课程,也是最重要的专业基础课程之一[1]。本校的计算机组成原理实验课程已经突破传统,引入了较新的FPGA技术,实践证明,引入FPGA技术的组成原理实验课程已经取得很好的效果,但在计算机部件实验过程中多数采用已有的器件,这样就减少了学生对关键器件的设计过程。而VHDL语言的最大特点就是描述能力极强,较其他硬件描述语言有很多优点,给学生充分提供想象和设计空间,灵活使用不同算法来实现电路的逻辑功能,并根据自己所编写的代码进行各种仿真及测试,以达到最优编译效果,这样的实验过程可以更好的激发学生学习和实践的兴趣,进一步提高学生实践能力和创新能力。

1VHDL语言简介

VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。

VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一个设计实体分成外部和内部,外部就是该实体的接口,内部就是该实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内部和外部的概念是VHDL系统设计基本点。

VHDL作为标准化的硬件描述语言并得以广泛应用,具有很多其他硬件描述语言所不具备的优点:①VHDL语言具有强大的语言结构,需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。②VHDL语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路。③VHDL语言具有很强的移植能力,不受设计平台及开发环境的限制。④VHDL语言的设计描述与器件无关,允许采用多种不同的器件结构来实现同一种设计实体。⑤VHDL语言采用基于库(library)的设计方法,设计出的程序易于共享和复用,从而减小硬件电路设计的工作量,缩短开发周期。

2基于VHDL计算机组成原理实验内容的设置与优化

2.1 实验内容的基本设置以往的计算机组成原理实验课的项目主要是计算机部件实验和模型机实验,模型机作为课程设计的主要内容。部件实验主要有运算器、存储器、总线、控制器等16个学时的验证性实验。基于VHDL计算机组成原理实验的实验方式,实验项目可以设置得灵活一些,实验所用的电路可以与现有的教材保持一致,实验类型均改为设计性实验,开发软件采用QUARTUSII,硬件描述语言选用VHDL,要求学生使用VHDL语言设计实验电路,通过仿真进行验证。

2.2 实验内容的优化计算机组成原理实验的目的是让学生能够自己设计CPU,首先让学生清楚CPU各个部件如何工作,以及各个部件之间如何进行数据传输,如何协调配和构成一个完整的CPU。因此,教师必须要设计出一个针对课程并且难度适中的教学用模型机,来贯穿整个教学过程。根据这个简单模型机设计出部件实验的内容见表1。

2.3 实验方式的优化考虑到如果单纯从实验类型,由验证型改为设计型,完成实验对学生的要求提高了,但由于现有的教学大纲并没有针对计算机科学与技术专业学生的硬件描述语言的课程,而且VHDL语言与学生较为熟悉的C语言有较大差距,不是很直观,学生不易掌握。因此,要求学生用VHDL语言设计实验电路中所有代码难度有些偏大。因此,为了保证在有限的实验学时下,能让学生通过实验掌握计算机组成原理课程的相关内容,我们将实验步骤进行调整,可以由教师预先写好实验代码,生成相应的位流文件,让学生先下载所做实验的位流文件进行功能验证,然后再进行相应的代码设计。在代码设计阶段,不要求学生写出所有原代码,在每个实验中,由教师提供设计好的框架,定义要输入、输出端口,让学生完成部件实验中的逻辑设计。这样经过部件实验,学生也可以基本完成计算机组成原理中硬件电路的描述。

3实验过程

文章以计算机组成原理实验中的“加法运算电路实验”为例说明实验过程。

图1是4位二进制加法运算电路实验。电路由一个4位二进制加法运算器,两个数据输入寄存器,一个数据输出寄存器构成。该实验以总线方式进行数据传输,为了使数据传输过程中不发生冲突,在电路中增加了两个三态门,一个用于控制加法器的输出,一个控制外部数据的输入。

加法器是运算电路的核心[2]。计算机中实现减法、乘法和除法最终都要转化成加法来进行运算。本实验中的4位二进制加法器由VHDL语言实现。参考代码如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY ADDER4B IS

PORT(C4:IN STD_LOGIC;

A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

CO4:OUT STD_LOGIC);

END ENTITY ADDER4B;

ARCHITECTURE ART OF ADDER4B IS

SIGNAL S5:STD_LOGIC_VECTOR(4 DOWNTO 0);

SIGNAL A5,B5:STD_LOGIC_VECTOR(4 DOWNTO 0);

BEGIN

A5

B5

S5

S4

CO4

END ARCHITECTURE ART;

加法运算器仿真波形结果如图2所示。图中设定的数据是在第2节拍将数据“0001”送到寄存器A,在第4节拍将数据“0011”送到寄存器B,在第6节拍让加法运算结果输出,在第9节拍让带进位的运算结果输出。从总线上数据的变化可以见到,加法运算的结果是“0100”,带进位加法运算结果是“0101”,可见所设计的加法器进行计算的结果是完全正确的。

4结束语

将VHDL应用到现有的计算机组成原理实验课程中,不仅加深了学生对计算机组成原理课程的掌握程度,还能够学到VHDL硬件语言及其先进的开发技术,起到了传统实验方式难以取得的效果;它不受专业实验室的硬件约束,在设计过程中只需要有软件开发环境即可,这种将硬件实验课程“软化”的方法将有着很好的教学前景。同时,这种新型实验模式对实验指导教师也提出了更高要求,实验教师更需要不断充实自己的知识,提高自身的专业素质。

参考文献:

vhdl语言范文4

关键词:EDA技术,项目化教学方法,课程改革

 

EDA技术是以数字电子技术课程知识为基础,具有较强实践性、工程性的专业课程。将数字电路设计从简单元器件单元电路设计,EWB软件仿真提到了更高一级的可编程操作平台上,进一步巩固和提高学生电子电路综合设计能力。但是,传统的教学模式是将两门课程分开,先上数字电路,后上EDA技术,分两学期授课。这样的教学模式存在弊端,减弱了课程之间的联系,降低了学生对数字电路理论的认识程度。通过对EDA技术课程的教学改革,以实训的方式采用项目教学法,使学生在较短的时间内掌握EDA技术基础及其实验系统,从数字系统的单元电路,如译码器、计数器等入手,加深对数字电路基础理论的认识,逐渐完成数字系统设计。

1. EDA技术及其在教学中的应用

1.1 EDA技术

EDA技术即电子设计自动化(Electronic DesignAutomation)是以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果而形成的一门新技术毕业论文格式,是一种能够设计和仿真电子电路或系统的软件工具。采用”自顶向下”的层次化设计,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。图1为一个典型的EDA设计流程。

图1 EDA设计流程图

1.2 EDA技术在教学中的应用

在教学过程中,EDA技术利用计算机系统强大的数据处理能力,以及配有输入输出器件(开关、按键、数码管、发光二极管等)、标准并口、RS232串口、DAC和ADC电路、多功能扩展接口的基于SRAM的FPGA器件EDA硬件开发平台,使得在电子设计的各个阶段、各个层次可以进行模拟验证,保证设计过程的正确性。从而使数字系统设计起来更加容易,让学生从传统的电路离散元件的安装、焊接、调试工作中解放出来,将精力集中在电路的设计上。同时,采用EDA技术实现数字电路设计,不但提高了系统的稳定性,也增强了系统的灵活性,方便学生对电路进行修改、升级,让实验不在单调的局限于几个固定的内容,使教学更上一个台阶,学生的开发创新能力进一步得到提高。

2.课程教学改革实施

2.1课程改革思路

课程改革本着体现巩固数字电路基础,掌握现代电子设计自动化技术的原则来处理和安排EDA技术教学内容。打破传统的从EDA技术概述、VHDL语言特点、VHDL语句等入手的按部就班的教学方法,以设计应用为基本要求,开发基于工作过程的项目化课程,以工作任务为中心组织课程内容,让学生在完成具体项目的过程中来构建相关理论知识。将EDA技术分为四个方面的内容,即:可编程逻辑器件、硬件描述语言、软件开发工具、实验开发系统,其中,可编程逻辑器件是利用EDA技术进行电子系统设计的载体,硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段,软件开发工具是利用EDA技术进行电子系统设计的智能化的自动设计工具,实验开发系统则是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。采用项目化教学方法,以实训的方式展开,让学生在“学中做,做中学”。

2.2课程改革措施

以电子线路设计为基点,从实例的介绍中引出VHDL语句语法内容。在典型示例的说明中,自然地给出完整的VHDL描述,同时给出其综合后的表现该电路系统功能的时序波形图及硬件仿真效果。通过一些简单、直观、典型的实例毕业论文格式,将VHDL中最核心、最基本的内容解释清楚,使学生在很短的时间内就能有效地掌握VHDL的主干内容,并付诸设计实践。这种教学方法突破传统的VHDL语言教学模式和流程,将语言与EDA工程技术有机结合,以实现良好的教学效果,同时大大缩短了授课时数。表1为课程具体内容及实训学时分配。

 

能力

目标

学习情境

项目载体

课时

QuartusⅡ开发工具使用能力

QuartusⅡ开发环境、实验系统

二选一音频发生器设计

6

VHDL语言编程能力

VHDL语言基本结构

计数器电路设计

6

VHDL语言并行语句

8位加法器设计

8

VHDL语言顺序语句

7段数码显示译码器设计

8

VHDL语言综合运用

数控分频器的设计

8

层次化调用方法

4位加减法器的设计

4

综合开发调试能力

8位16进制频率计设计;

十字路口交通灯设计;

数字钟设计;

波形信号发生器设计,等。

(任选一题)

20

总计

 

vhdl语言范文5

电子测频仪是一种基本的测量仪器,是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。因此,它被广泛应用与航天、电子、测控等领域。它的基本测量原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED数码显示管显示出来。根据数字频率计的基本原理,本文设计方案的基本思想是分为五个模块来实现其功能,即整个数字频率计系统分为分频模块、防抖电路、计数模块、锁存器模块和显示模块等几个单元,并且分别用VHDL对其进行编程,实现了闸门控制信号、计数电路、锁存电路、位选电路、段选电路、显示电路等。本文详细论述了利用VHDL硬件描述语言设计,并在EDA(电子设计自动化)工具的帮助下,用大规模可编程器件(CPLD)实现数字频率计的设计原理及相关程序。该设计方案对其中部分元件进行编程,实现了闸门控制信号、多路选择电路、计数电路、位选电路、段选电路等。频率计的测频范围:10KHz~9.9MHz。该设计方案通过了Max+plusⅡ软件仿真、硬件调试和软硬件综合测试。

关键词:数字频率计电子设计自动化大规模可编程器件硬件描述语言

目录

摘要i

目录ii

第1章绪论1

第2章电子测频仪的设计原理5

2.1电子测频仪的基本组成5

2.2电子测频仪的分类6

2.4电子测频仪的基本工作原理6

2.5电子测频仪技术指标及误差分析8

第3章CPLD简介10

3.1CPLD器件结构简介10

3.2典型CPLD器件简述12

3.3CPLD的编程工艺14

3.4新技术的应用15

第4章电子测频仪设计环境简介17

4.1QuartusⅡ开发软件简介17

4.1.1图形用户界面设计流程18

4.1.2EDA工具设计流程18

4.1.3QuartusⅡ软件的主要设计特性18

第5章电子测频仪的设计21

5.1电子测频仪设计任务及要求21

5.2设计实现21

5.3功能模块设计23

5.4下面分别介绍各模块基于VHDL的设计方法23

5.5顶层文件的编写41

5.6程序说明44

5.7系统仿真44

第6章结论46

致谢47

参考文献48

第1章前言

软件编程对其器件的结构和工作方式进行重构,能随时进行设计调整而满足产品升级。使得硬件的设CPLD是一种新兴的高密度大规模可编程逻辑器件,它具有门阵列的高密度和PLD器件的灵活性和易用性,目前已成为一类主要的可编程器件。可编程器件的最大特点是可通过计可以如软件设计一样方便快捷,从而改变了传统数字系统及用单片机构成的数字系统的设计方法、设计过程及设计概念,使电子设计的技术操作和系统构成在整体上发生了质的飞跃。

采用CPLD可编程器件,可利用计算机软件的方式对目标期进行设计,而以硬件的形式实现。既定的系统功能,在设计过程中,可根据需要随时改变器件的内部逻辑功能和管脚的信号方式,借助于大规模集成的CPLD和高效的设计软件,用户不仅可通过直接对芯片结构的设计实现多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量及难度,同时,这种基于可编程芯片的数量,缩小了系统的体积,提高了系统的可靠性。EDA(电子设计自动化)技术就是以计算机为工具,在EDA软件平台上,对硬件语言HDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合及优化、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作(文本选用的开发工具为Altera公司的MAX+PLUSII)。EDA的仿真测试技术只需要通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,大大提高了大规模系统电子设计的自动化程度。设计者的工作仅限于利用软件方式,即利用硬件描述语言(如VHDL)来完成对系统硬件功能的描述。

VHDL语言(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,超高速集成电路硬件描述语言)诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,1985年正式推出是目前标准化程度最高的硬件描述语言。IEEE(TheInstituteofElectricalandElectronicsEngineers)于1987年将VHDL采纳为IEEE1076标准。VHDL经过十几年的发展、应用和完善以其强大的系统描述能力、规范的程序设计结构、灵活的语言表达风格和多层次的仿真测试手段在电子设计领域受到了普遍的认同和广泛的接受成为现代EDA领域的首选硬件描述语言。目前流行的EDA工具软件全部支持VHDL它在EDA领域的学术交流、电子设计的存档、专用集成电路(ASIC)设计等方面担任着不可缺少的角色。有专家认为在21世纪VHDL与VerlogHDL语言将承担起几乎全部的数字系统设计任务。显然VHDL是现代电子设计师必须掌握的硬件设计计算机语言。

1.具有一下几个特点:VHDL具有强大的功能覆盖面广描述能力强。VHDL支持门级电路的描述也支持以寄存器、存储器、总线及运算单元等构成的寄存器传输级电路的描述还支持以行为算法和结构的混合描述为对象的系统级电路的描述。

2.VHDL有良好的可读性。它可以被计算机接受也容易被读者理解。用VHDL书写的源文件既是程序又是文档既是工程技术人员之间交换信息的文件又可作为合同签约者之间的文件。

3.VHDL具有良好的可移植性。作为一种已被IEEE承认的工业标准VHDL事实上以成为通用的硬件描述语言可以在各种不同的设计环境和系统平台中使用。

4.使用VHDL可以延长设计的生命周期。用VHDL描述的硬件电路与工艺无关不会因工艺而使描述过时。与工艺有关的参数可以通过VHDL提供的属性加以描述工艺改变时只需要修改相应程序中属性参数即可。

5.VHDL支持对大规模设计的分解和已有设计的再利用。VHDL可以描述复杂的电路系统支持对大规模设计的分解由多人、多项目组来共同承担和完成。标准化的规则和风格为设计的再利用提供了有利的支持。

6.VHDL有利于保护知识产权。用VHDL设计的专用集成电路(ASIC)在设计文件下载到集成电路时可以采用一定保密措施使其不易被破译和窃取。

目前已成为IEEE(TheInstituteofElectricalandElectronicsEngineers)的一种工业标准硬件描述语言,相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(ToptoDown)和基于库(Library-based)的设计的特点,因此设计者可以不必了解硬件结构设计,从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件去,从而实现可编程的专用集成电路(ASIC)的设计。

基于EDA技术的设计方法为自顶向下设计,其步骤是采用可完全独立于目标器件芯片物理结构的硬件描述语言,在系统的基本功能或行为级上对设计的产品进行行为描述和定义,结合多层次的仿真技术,在确保设计的可行性与正确性的前提下,完成功能确认,然后利用EDA工具的逻辑综合功能,把功能描述转换为某一具体目标芯片中(如CPLD芯片),使该芯片能够实现设计要求的功能,使电路系统体积大大减少,可靠性得到提高。

vhdl语言范文6

关键词:ASIC;硬件描述语言;芯片系统

中图分类号:TN8 文献标识码:E 文章编号:1006-0510(2008)12084-03

现在,随着系统级FPGA以及系统芯片的出现。软硬件协调设计和系统设计变得越来越重要。传统意义上的硬件设计越来越倾向于与系统设计和软件设计结合。硬件描述语言为适应新的情况,迅速发展,出现了很多新的硬件描述语言,像Superlog、SystemC、cynlib c++等等。究交选择哪种语言进行设计,整个业界正在进行激烈的讨论。因此,完全有必要在这方面作一些比较研究,为EDA设计做一些有意义的工作,也为发展我们未来的芯片设计技术打好基础。

1、目前HDL发展状况

目前,硬件描述语言可谓是百花齐放,有VHDL、Superlog、Verilog、SystemC、Cynlib C++、C Level等等。虽然各种语言各有所长,但业界对到底使用哪一种语言进行设计,却莫衷一是,难有定论。

而比较一致的意见是,HDL和C/C++语言在设计流程中实现级和系统级都具有各自的用武之地。问题出现在系统级和实现级相连接的地方:什么时候将使用中的一种语言停下来,而开始使用另外一种语言?或者干脆就直接使用一种语言?现在看来得出结论仍为时过早。

在2001年举行的国际HDL会议上,与会者就使用何种设计语言展开了生动、激烈的辩论。各方人士各持己见:为Verilog辩护者认为,开发一种新的设计语言是一种浪费;为SystemC辩护者认为,系统级芯片SoC快速增长的复杂性需要新的设计方法;C语言的赞扬者认为,Verilog是硬件设计的汇编语言,而编程的标准很快就会是高级语言,Cynlib c++是最佳的选择,它速度快、代码精简;Supedog的捍卫者认为,Superlog是Verilog的扩展,可以在整个设计流程中仅提供一种语言和一个仿真器,与现有的方法兼容,是一种进化,而不是一场革命。

当然,以上所有的讨论都没有提及模拟设计。如果想设计带有模拟电路的芯片,硬件描述语言必须有模拟扩展部分,像Verilog HDL-A,既要求能够描述门级开关级,又要求具有描述物理特性的能力。

2、几种代表性的HDL语言

2.1 VHDL

早在1980年,因为美国军事工业需要描述电子系统的方法,美国国防部开始进行VHDL的开发。1987年。由IEEE(In,stitute of Electrical and Electro-nics Engineers)将VHDL制定为标准。参考手册为IEEE VHDL语言参考手册标准草案1076/8版,于1987年批准,称为IEEE 1076-1987。应当注意,起初VHDL只是作为系统规范的一个标滞,而不足为设计而制定的。第二个版本是在1993年制定的,称为VHDL-93,增加了一些新的命令和属性。

虽然有“VHDL是一个4亿美元的错误”这样的说法。但VHDL毕竟是1995年以前唯一制订为标准的硬件描述语言,这是它不争的事实和优势;但同时它确实比较麻烦,而且其综合库至今也没有标准化,不具有晶体管开关级的描述能力和模拟设计的描述能力。目前的看法是,对于特大型的系统级数字电路设计,VHDL是较为合适的。

实质上,在底层的VHDL设计环境是由Verilog HDL描述的器件库支持的,因此,它们之间的互操作性十分重要。目前,Verilog和VDHL的两个国际组织OVI、Ⅵ正在筹划这一工作,准备成立专门的工作组来协调VHDL和Verilog HDL语言的互操作性。OVI也支持不需要翻译,由VHDL到Verilog的自由表达。

2.2 Verilog HDL

Venlog HDL是在1983年,由GDA(GateWay Design Au-tomation)公司的Phil Moorby首创的。Phil Moorby后来成为Verilog-XL的主要设计者和Cadence公司的第一合伙人。在1984“1985年,Phil Moorby设计出了第一个名为Venlog-XL的仿真器;1986年,他对Verilog HDL的发展义作出了另一个巨大的贡献:提出了用于快速门级仿真的XL算法。

随着Verilog-XL算法的成功,Verilog HDL语言得到迅速发展。1989年,Cadence公司收购了GDA公司,Verilog HDL语言成为Cadence公司的私有财产。1990年,Cadence公司决定公开Verilog HDL语言,于是成立了OVI(Open Verilog InternaUonal)组织,负责促进Verilog HDL语言的发展。基于Verilog HDL的优越性,IEEE于1995年制定了Verilog HDL的IEEE标准,即Verilog HDL 1364-1995;2001年了Verilog HDL 1364-2001标准。在这个标准中,加入了Verilog HDL-A标准,使Verilog有了模拟设计描述的能力。

2.3 Superlog

开发一种新的硬件设计语言,总是有些冒险,而且未必能够利用原来对硬件开发的经验。能不能在原有硬件描述语言的基础上,结合高级语言c、c++甚至Java等语言的特点,进行扩展,达到一种新的系统级设计语言标准呢?

Superlog就是在这样的背景下研制开发的系统级硬件描述语言。Verilog语言的首创者Phil Moorby和Peter Flake等硬什描述语言专家,在一家叫Co-Design Automation的EDA公司进行合作,开始对Verilog进行扩展研究。1999年,Co-Design公司了SUPERLOGTM系统设计语言,同时了两个开发工具:SYSTEMSIMTM和SYSTEMEXTM。一个用于系统级开发,一个用于高级验证。2001年,Co-Design公司向电子产业标准化组织Accellera了SUPERLOG扩展综合子集ESS,这样它就可以在今天Verilog语言的RTL级综合子集的基础上,提供更多级别的硬件综合抽象级,为各种系统级的EDA软件工具所利用,

至今为止。已超过15家芯片设计公司用Superlog来进行芯片设计和硬件开发。Superlog是一种具有良好前景的系统级硬件描述语言。但是不久前,由于整个IT产业的滑坡,EDA公司进行大的整合,Co-Design公司被Synopsys公司兼并,形势又变得扑朔迷离。

2.4 SystemC

随着半导体技术的迅猛发展,SoC已经成为当今集成电路设计的发展方向。在系统芯片的各个设计中,像系统定义、软硬件划分、设计实现等,集成电路设计界一直在考虑如何满足SoC的设计要求,一直在寻找一种能同时实现较高层次的软件和硬件描述的系统级设计语言。

systemC正是在这种情况下,由Synopsys公司和CoWare公司积极响应目前各方对系统级设计语言的需求而合作开发的。1999年9月27日,40多家世界著名的EDA公司、lP公司、半导体公司和嵌入式软件公司宣布成立“开放式SystemC联盟”。著名公司Cadence也于2001年加入了systemC联盟。SystemC从1999年9月联盟建立初期的0.9版本开始更新,从1.0版到1.1版,一直到2001年10月推出了最新的2,0版。

3、各种HDL语言的体系结构和设计方法

3.1 SystemC

实际使用中,systemc由一组描述类库和一个包含仿真核的库组成。在用户的描述程序中,必须包括相应的类库,可以通过通常的ANSI c++编译器编译该程序。SystemC提供了软件、硬件和系统模块。用户可以在不同的层次上自由选择。建立自己的系统模型,进行仿真、优化、验证、综合等等。

3.2 Supeflog

Superlog集合了Verilog的简洁、c语言的强大、功能验证和系统级结构设计等特征,是一种高速的硬件描述语言。

①Verilog 95和Verilog 2K。Superlog是Verilog HDL的超集,支持最新的Verilog 2K的硬件模型。

②c和c++语言。Superlog提供c语言的结构、类型、指针,同时具有C++面对对象的特性。

③Superlog扩展综合子集ESS。ESS提供一种新的硬件描述的综合抽象级。

④强大的验证功能。自动测试基准,如随机数据产生、功能覆盖、各种专有检查等。

Superlog的系统级硬件开发工具主要有Co-Design Au-mmation公司的SYSTEMSIMTM和SYSTEMEXTM,同时可以结合具它的EDA工具进行开发。

3.3 Verilog和VHDL

这两种语言是传统硬件描述语言,有很多的书籍和资料叫以查阅参考,这里不多介绍。

4、目前可取可行的策略和方式

按传统方法,我们将硬件抽象级的模型类型分为以下五种:

(1)系统级(system)-用语言提供的高级结构实现算法运行的模型:

(2)算法级(aIgorithm)-用语言提供的高级结构实现算法运行的模型:

(3)RTL级(Register Transfer Level)-描述数据在寄存器之间流动和如何处理、控制这些数据流动的模型。

(4)门级(gate-level)-描述逻辑门以及逻辑门之间的连接模型。

(5)开关级(swish-level)-描述器件中三极管和存储节点以及它们之间连接的模型。

根据目前芯片设计的发展趋势。验证级和综合抽象级也有可能成为一种标准级别。因为它们适合于IP核复用和系统级仿真综合优化的需要,而软件(嵌入式、固件式)也越来越成为一个和系统密切相关的抽象级别。

目前,对于一个系统芯片设计项目,可以采用的方案包括以下几种:

①最传统的办法是,在系统级采用VHDL,在软件级采用c语言,在实现级采用Verilog。目前,VHDL与Verilog的互操作性已经逐步走向标准化,但软件与硬件的协凋设计还是一个很具挑战性的工作。因为软件越来越成为SOC设计的关键。该力案的特点是:风险小,集成难度大,与原有方法完全兼容,有现成的开发工具:但工具集成由开发者自行负责完成。

②系统级及软件级采用Superlog,硬件级和实现级均采用Verilog HDL描述,这样和原有的硬件设计可以兼容。只要重新采购两个Superlog开发工具SYSTEMSIMTM和SYSTEMEXTM即可。该方案特点是风险较小,易于集成,与原硬件设计兼容性好。有集成开发环境。

③系统级和软件级采用SystemC,硬件级采用SystemC与常规的Verilog HDL互相转换,与原来的软件编译环境完全兼容。开发者只需要一组描述类库和一个包含仿真核的库,就可以在通常的ANSI c++编译器环境下开发;但硬件描述与原有方法完全不兼容。该方案特点是风险较大,与原软件开发兼容性好,硬件开发有风险。

5、未来发展和技术方向

微电子设计工业的设计线宽已经从0.251um向0.18um变迁,而且正在向0.13um和90nm的目标努力迈进。到0.13um这个目标后,90%的信号延迟将由线路互连所产生:为了设计工作频率近2GHz的高性能电路,就必须解决感应、电迁移和衬底噪声问题(同时还有设计复杂度问题)。

未来几年的设计中所面临的挑战有哪些?标准组织怎样去面对?当设计线宽降到0.13um,甚至更小尉,将会出现四个主要的趋势:设计再利用;设计验证(包括硬件和软什);互连问题将决定剥时间、电源及噪声要求;系统级芯片设计要求。

满足来来设计者需要的设计环境将是多家供应商提供解决方案的模式,因为涉及的问题面太广且太复杂,没有哪个公司或实体可以独立解决。实际上,人们完全有理由认为,对下一代设计问题解决方案的贡献,基础研究活动与独立产业的作用将同等重要。

以后EDA界将在以下三个方面开展工作。

①互用性标准。所有解决方案的基础,是设计工具开发过程的组件一互用性标准。我们知道。EDA工业采用的是工业上所需要的标准。而不管标准是谁制定的。但是,当今市场的迅速发展正在将优势转向那些提供标准时能做到快速适应和技术领先的组织。处于领先的公司正在有目的地向这方面投资,那些没有参加开发这些标准的公司则必须独自承担风险。

上一篇圣诞公主

下一篇我的心愿

相关精选