HI,欢迎来到学术之家,学术咨询:400-888-7501 订阅咨询:400-888-7502 股权代码 102064

vhdl语言通用六篇

时间:2023-05-30 08:53:01

vhdl语言

vhdl语言范文1

【关键词】VHDL语言 电子设计 自动化应用

中图分类号:F407文献标识码: A

一、前言

近些年,随着电子技术及计算机技术的不断发展,使用原来的方法进行系统及芯片的设计已经不能满足要求了,需要具有更高效率的设计方法,运用VHDL语言进行电子设计就是在这种情况下开发的,而且被越来越广泛地应用到电子设计自动化中,显著地提高了开发效率及产品的可靠性。

二、电子设计自动化和VHDL语言概述

1、电子设计自动化概述。电子设计自动化又称为EDA技术,它是在上世纪70年代的集成电路技术茂盛发展下诞生的,与集成电路的复杂度是紧密相关的。在第一代电子设计自动化EDA中,其主要功能是进行图形编辑交互及设计规则检查,所要解决的问题是进行PCB布局布线或者晶体管级版图的设计;第二代电子自动化设计EDA系统,主要包括逻辑图的设计输入、逻辑综合、芯片布图、模拟验证及印刷电路的版布图等,随着集成电路尺寸越来越小、规模越来越大、速度及频率越来越高、设计越来越复杂,HDL的设计方案应运而生,随后具有描述语言的VHDL被提出来了。

2、VHDL语言概述。VHDL语言是指超高速集成电路的硬件描述语言,它是一种很快的电路设计工具,其功能主要包括电路合成、电路描述及电路仿真等电路设计工作。VHDL语言是由抽象及具体硬件级别进行描述的工业标准语言,它已经成为了一种通用硬件设计的交换媒介,很多工程软件供应商已经把VHDL语言当做了EDA或CAD软件的输入/输出标准,很多EDA厂商还提供了VHDL语言编译器,同时在方针工工具、布图工具及综合工具中对VHDL语言提供了支持。

三、VHDL语言的特点

1、VHDL语言具有较强的描述功能,能够对支持系统的行为级、门级及寄存器传输级这三个层次进行设计,和其它硬件描述语言相比,VHDL语言的行为描述能力更强,这种较强的行为描述力能够有效地避开具体器件结构。对大规模的电子系统的逻辑行为进行描述与设计,VHDL语言已经成为高层次设计中的核心,也是它成为了电子设计系统领域最好的硬件语言描述。

2、VHDL语言能够支持大规模的设计分解,及已有设计再利用,大规模的设计不可能有一个人独立地完成,需要多个项目共同的组成,VHDL语言中的设计实体概念、设计库概念、程序包概念为设计的分解及再利用提供了有力的支持。

3、VHDL语言具有较为丰富的模拟库函数及仿真语句。这使它能够在任何设计系统中,很早地就能对设计系统功能中的可行性进行查验,并随时可以对设计进行模拟仿真,将设计中的逻辑错误消除在组装前,由于大规模集成电路及应用多层的印刷技术器件组装完毕之后。很难进行修改,这就使得逻辑模拟变得不可缺少,运用逻辑模拟还能够减少成本缩短调试及设计周期。对于中小规模的集成电路,仅运用模拟就能够获得成功数字系统设计;而大规模集成电路,则需要运用逻辑模拟进行逻辑网络设计的检查与分析。逻辑模拟系统对于集成电路来说,是不可缺少的重要手段。

4、VHDL语言本身生命周期就较长,在VHDL语言设计中,并不包含和工艺相关的信息,其设计和最终工艺实现是无关的,能够使设计通过门级仿真之后,在用合适的工具映射到不同的工艺当中,当工艺进行更新时,就不需要进行原设计的修改了,仅改变映射工具就可以了,对于已经完成的设计,尤其是和工艺技术相关的参数可以运用VHDL语言所提供的类属进行描述,或者进行子程序功能的调用,可以在源程序不改变的情况下,仅修改类属的函数及参量就可以了,这样就可以改变电子设计的规模及结构了。当然在VHDL语言也有些不足之处,像没有WAIT语句、不能处理动态结构、不能等待时序等,但它整体还是有很多优点的,并为硬件设计带来了很大地方便,被很多用户所接受,也得到了很多厂商的有力支持。

四、电子设计自动化应用VHDL语言的开发流程

VHDL语言的开发流程主要为文本编辑、功能仿真、逻辑综合、布局布线、时序仿真及编程下载。其中文本编辑器能够进行VHDL语言环境的编辑,其文件保存为,功能仿真是指将文件调入VHDL的仿真软件中,并进行功能的仿真,对其逻辑功能进行检查以验证是否正确,也称为前仿真,对于那些相对简单的电子设计可以忽略这一步,在布线完成之后直接进行时序仿真:逻辑综合是指将文件进行逻辑综合并在设定的约束条件下进行综合。就是把语言综合成布尔表达式及信号连接关系,综合之后会生成,电子设计自动化的工业标准文件:布局布线则是将文件调到PLD厂家所提供的软件之中进行布局布线,这样就可以把已设计好的逻辑安放到PLD 内了;时序仿真是指利用布局布线时所获得的精确参数进行后仿真的验证:编程下载所指当确认方针没有错误后,就将文件储存到目标芯片中。

五、VHDL语言在电子设计自动化应用中的作用

VHDL语言在电子设计自动化中的应用,能够有效地打破传统硬件电路的设计界限,借助硬件的描述语言设计出与相关要求相符合的硬件系统,运用VHDL语言对电子设计自动化的应用,与C语言的语法类型是相似的,具有很好的可读性,掌握起来也较为简单,运用VHDL语言进行硬件电路的设计打破了原有地先画出电路的原理图,再进行元器件及实际电路定式的搭建,可以灵活地御用VHDL语言描述的硬件电路功能进行信号的连接和定时关系,在总体行为的设计一直到最终逻辑形成网络表的文件,对于每一步都要进行仿真的检查,在仿真结果分析中,能够发现电子自动化系统的设计中所存存在的问题,这样更有利于电子设计自动化应用的完整,并且其设计效率更高,时间周期更短,VHDL语言已经被广泛地应用在电子设计自动化中了。

六、VHDL 语言在电子设计自动化应用中所要注意的问题

1、文件名和实体名要相同,其后缀均为.Vhd,程序的存储路径不能有汉字出现,变量要放在结构体之中,变量并不是全局量,仅能在进程语句及子程序中进行使用。

2、关于顺序语句和并行语句问题,要把并行语句直接放人结构体里就可以了,而顺序语句就要放在process里了,虽然process自身是并行语句,但它的内部确是顺序语句。

3、在条件语句中,条件的覆盖是不完整的,综合器会把多余的锁存器引入进来,一定要对条件所覆盖的范围进行考虑,通常的处理方法是加上else语句进行条件补全,顶层的文件在进行存盘时,其文件名是不能和底层的文件名相同的。

七、结束语

随着电子技术和计算机技术的不断发展,电子产品也在迅速发展着,电子设计自动化技术改变了传统的数字系统设计方法及实现手段,而VHDL国际标准语言与电子设计自动化技术工具的结合,能够有效地降低设计的风险,缩短设计的时间周期,提高设计效率,随着VHDL语言在电子设计自动化的应用越来越广泛,并将会给硬件的设计领域带来很大的变革。

参考文献:

[1]王锁萍.电子设计自动化教程[M].成都:电子科技大学出版社,2000

[2]丁明威.李引新.黄培中.VHDL与电子自动化[J].计算机应用与研究,1999,13(1):24-25

[3]平.张振荣.VHDL编程与仿真[M].北京:人民邮电出版社,2000

[4]万军华.刘瑞通.基于VHDL的多功能数字闹钟设计[J].湖南理工学院学报(自然科学版),2011(01)

vhdl语言范文2

关键词:教学改革 实践教学 VHDL语言

中图分类号:G642 文献标识码:A 文章编号:1674-098X(2015)09(a)-0117-02

VHDL语言[1-2](VHDL,VHSIC (Very High Speed Integrated Circuit)Hardware Description Language)是一种标准的数字系统硬件电路设计语言,于1983年由美国国防部(DOD) 为实现其高速集成电路计划发起创建的一种高速集成电路硬件描述语言,其目的是为了给数字电路的描述与模拟提供一个基本的标准。VHDL语言在1985年完成第一版,1987年成为IEEE标准(IEEE STD1076-1987),1993年增修为(IEEE STD1076-1993)标准。VHDL语言为高级硬件行为描述型语言,为所有可编程逻辑器件厂商(如Xilinx和Altera公司等)所支持,已成为电路设计人员和电子设计工程师必须掌握的工具语言。硬件逻辑设计技术[3]是电子信息类专业的重要专业课,该课程包括课堂理论教学和实验两个模块,其特点是软硬件结合,该课程的综合知识面宽及工程实践性强。电子信息类专业的学生掌握硬件逻辑设计能力无论是对学生完成毕业设计或工程创新,还是促进学生就业都有重要意义。因此,硬件逻辑设计的实践性教学在电子信息类专业实践教学中的地位日益显著,如何开设好VHDL语言及硬件逻辑设计是当前硬件设计语言课程中的一个非常重要的问题[4-6]。

1 教学目标

《VHDL语言及数字逻辑设计》课程属电子信息类专业技术类选修课,是将控制,仿真与芯片设计相结合的一门硬件设计语言。通过本课程的学习,使学生通过对VHDL语言及EDA技术的学习和实践训练,获得现代硬件数字逻辑设计的软件化设计方法,了解并初步掌握数字系统硬件电路设计领域的最新技术;通过有针对性、分层次、分阶段地实施实践教学,激发并调动学生创造性思维能力,强化学生的实践动手能力和创新能力,为学生在硬件逻辑设计领域的进一步深入探索和进行创新奠定工程基础,以及应用VHDL及EDA工具开发设计数字系统的基本方法及技术,为学生完成毕业设计及将来的工作等打下扎实的基础。

另外,本课程的教学难点是,一方面要把握学生的数字电路基础水平;另一方面要高度概括VHDL语言的专业课内容,深入浅出,还要照顾到彼此之间的联系,尤其是面向应用。因此,首先讲清楚确知学习VHDL语言的意义和FPGA的工作原理,并进一步讲清VHDL语言的基本结构和以及VHDL语言中主要描述语句的特点和用途,并设计一些基本逻辑电路实例,目的在于让学生熟悉VHDL语言的整个过程,能运用VHDL语言编程及进行仿真,并掌握其中的关键技术。这样便于学生进一步学习和理解VHDL语言的应用,增强学生在工作中的竞争能力,达到可以用VHDL语言设计数字逻辑电路和数字应用系统,并在CPLD/FPGA可编程逻辑器件上实现自己的设计。

2 教学内容

VHDL语言如今已经广泛被应用到FPGA/CPLD和ASIC中的设计。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件逻辑设计任务,提高了硬件设计效率和可靠性。而且VHDL语言具有与具体硬件电路无关和与硬件设计平台无关的特性,并具有良好的电路行为描述的能力,在语言易读性和层次化结构化设计方面表现了强大生命力和应用潜力。因此,我们选择VHDL语言作为这门课的课堂教学内容。

《VHDL语言及硬件逻辑电路设计》课程内容的主要教学思路是,以VHDL硬件描述语言为硬件设计表达手段,以Xilinx公司的ISE软件为硬件设计开发工具,并以FPGA/CPLD可编程逻辑器件开发系统为教学实践平台,来实现学生对数字电路系统的开发设计,培养学生自顶而下的层次化设计思想,提高学生应用实践创新能力。

在教学内容上,删去了一些FPGA/CPLD可编程器件结构内容的过多讲解,重点讲解VHDL语言内容,并利用有限的课时补充了硬件逻辑电路设计方面的一些最新进展,以利于学生开阔视野和提高学习兴趣;针对VHDL语言语法丰富的特点,增加了大量课堂实例,并结合应用对VHDL语言中关键要点进行详细说明,便于学生理解和掌握VHDL课程内容;在开发软件方面以Xilinx公司的ISE软件作为平台,并针对硬件仿真,重点是让学生学会并熟练掌握用ISE软件进行数字系统仿真的基本过程和操作;在实践训练方面,精心设计了课堂练习/课后习题和配套实验,提高学生实践动手能力,从而达到良好的教学效果。

3 多层次式教学模式

《VHDL语言及硬件逻辑电路设计》课程是一门工程实践性很强的课程,我们提出以实践训练为主,边学边练的硬件逻辑设计教学模式,重点加大对学生实践能力、解决实际问题能力及团体合作精神等综合素质的培养,使“数字逻辑电路设计实践教学”在本科培养中发挥更重要的作用。在教学过程中,提出多层次的实践教学模式,通过大量的多层次实例教学让学生主动建构知识、增长技能、发展能力。

我们将《VHDL语言及硬件逻辑电路设计》课程的实践教学分为三个层次。

第一层次是课堂实验教学,这一阶段主要培养的是学生的主动学习能力,通过课堂实验练习使学生掌握和熟练使用开发工具,具备基本的硬件编程能力。课堂实验教学是针对教师在讲授理论内容后,对应设计相应知识内容的实验项目,并编写课堂实验指导书。在理论课部分内容方面,首先讲解VHDL语言的基本单元,如VHDL语言设计的基本单元、构成、子结构描述(元件说明,元件安装)等,在VHDL语言的数据类型方面,主要讲解VHDL语言的客体及分类、整数类型和数组类型,表达式与运算符;其次,介绍VHDL语言主要描述语句,如顺序描述语句和并发描述语句;最后介绍基本逻辑电路的设计,如组合逻辑电路的设计,时序电路的设计,存储器和有限状态机设计等。那么针对课程的理论内容,设计的实验主要有:(1)ISE工具的使用;(2)编码器和译码器等组合逻辑电路的设计;(3)有限状态机和计数器等时序电路的设计;(4)RAM和FIFO等存储器的设计。通过这些基础知识点的实验练习,能让学生较好的熟悉VHDL语言的基础知识和语句的基本应用,从而较好的掌握VHDL语言中的关键内容,加深了对VHDL语言知识点的感性认识和全面掌握,达到可以用VHDL语言设计数字逻辑电路和数字应用系统。在课堂上通过对算法实例的程序执行仿真模拟。

第二个层次是综合性设计实验,这一层次的实验要求学生已经掌握基本的VHDL语言知识并能综合地运用所学内容,主要培养学生动手实践能力、解决实际问题能力及团队合作能力。综合性设计实验以硬件开发板实验为主,主要包括跑马灯、VGA显示、波形发生器、通用异步收发器、SRAM接口设计等题目。在实验中,教师要求学生每4人为一组进行实践练习。在实验过程中,要求学生能上机编写代码并调试VHDL程序,每组学生对实验过程和实验结果进行分析和总结,并提交硬件实验报告。在实验课中,教师根据各个小组提交的实验报告,首先安排各小组进行实践动手经验交流,然后选择一些优秀小组中的代表上台做实验心得汇报,并现场进行问题分析和技术总结,加深了对VHDL语言中知识点的感性认识和全面掌握。通过这些活动,不但让学生熟悉了硬件设计的开发环境,提高了硬件设计编程技巧,而且还能激励学生主动学习VHDL语言的兴趣,提高学生的分析和解决实际问题的能力,并培养学生团体合作能力。

第三个层次是课程设计实验,这一阶段要求学生独立完成硬件工程课题的设计与实现,在强调学生独立设计实现的同时,更加注重学生综合能力的培养。课程设计题目采取开放式选题,可由教师提供背景明确和启发性强的题目,也可以由学生自主选择题目并提交相应的课程题目设计目标、任务和方法,经教师审核批准后作为课程设计题目。另外学生也可以根据个人兴趣选择不同类型的课程设计题目后,由学生自行拟定实验方案,查阅文献资料和编写VHDL程序,自主解决实验问题,并对对实验结果进行分析总结,撰写课程设计研究报告。通过这些课程设计实验设计,在培养学生自主学习及主动学习的同时,也锻炼学生的动手能力和表达能力。

4 结语

VHDL语言及数字逻辑设计课程是一门工程实践性很强的课程,通过有多层次地实施实践教学,充分发挥实践教学的优势,激发了学生的学习热情,强化学生的实践动手能力和创新能力,并培养学生独立思考、自主创新的学习习惯,取得了较好的教学效果。该实践教学体系遵循人才培养的客观规律,将多层次实验从简单到复杂、从基础实验练习到综合创新实验,贯穿于整个VHDL语言及数字逻辑设计课程学习过程,使学生在循序渐进的实践教学过程中成长。

参考文献

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

[2] 谭会生,张昌凡,EDA技术及应用[M].西安:西安电子科技大学出版社,2011.

[3] 曾志廉,何清平,通用FPGA试验系统的设计与应用[J].计算机信息,2007(11):234-235.

[4] 叶波,赵倩.“集成电路系统设计”课程教学改革探讨[J].中国电力教育,2010(16):109-110.

vhdl语言范文3

【关键词】数字频率计;VHDL;状态机

1.引言

数字频率计是通讯设备、计算机、电子产品等生产领域不可缺少的测量仪器。由于硬件设计的器件增加,使设计更加复杂,可靠性变差,延迟增加,测量误差变大。通过使用EDA技术对系统功能进行描述,运用VHDL语言,使系统简化,提高整体的性能和可靠性。采用VHDL编程设计的数字频率计,除了被测信号的整形部分,键输入和数码显示以外,其他都在一片FPGA上实现,从而让整个系统非常精简,让其具有灵活的现场更改性,在不改变硬件电路的基础上,进一步改进提高系统的性能,使数字频率计具有高速,精确度高,可靠性强,抗干扰等优点,为数字系统进一步的集成创造了条件[1]。

2.数字频率计的工作原理

频率测量方法中,常用的有直接测频法、倍频法和等精度测频法[2]。其中直接测频法是依据频率的含义把被测频率信号加到闸门的输入端,只有在闸门开通时间T(以ls计)内,被测(计数)的脉冲送到十进制计数器进行计数。直接测频法比其他两个方案更加简单方便可行,直接测频法虽然在低频段测量时误差较大,但在低频段我们可以采用直接测周法加测量,这样就可以提高测量精度了。直接周期测量法是用被测周期信号直接控制计数门控电路,使主门开放时间等于Tx,时标为Ts的脉冲在主门开放时间进入计数器。设在Tx期间计数值为N,可以根据Tx=N×Ts来算得被测信号周期。因此本文采用低频测周,高频测频的方法来提高精度,减小误差[3]。

3.主要功能模块的实现

该系统设计的控制器是由状态机实现,通过在不同测量档位,选择合理的时基信号频率降低误差,确定各状态转移条件和状态名,采用低频档位测周,高频档位测频的方法。20MHz晶振送入分频器,分出各档时基信号和其它模块所需的触发信号,分频器将各档时基信号传给状态机,同时待测信号进入状态机,状念机进行状态转换,将量程溢出信号和状态显示信号表征在发光二极管上。如图表1所示。

表1 频率量程状态

3.1 状态机模块

首先对系统复位,如果此时状态机的初始状态为Fl00k,若超量程信号送入状态机,则状态转换到FlM,如果仍有超量程信号则状态转换到F10M,如果仍有超量程信号则状态转换到F100M,如果还有超量程信号则状态转换到Overflow H产生高溢出信号;若欠量程信号送人状态机,则状态转换到P1ms,如果有超量程信号则状态转换到P10ms,如果仍有超量程信号则状态转换到P100ms,如果仍有超量程信号则状态转换到P1s,如果还有超量程则状态转换到OverflowL产生低溢出信号[4]。如图1所示。

3.2 计数器模块

在“待计数信号”的两个时钟周期内完成计数与控制信号(Over与Low)的传输,在量程合适的情况下,还将计数值输出。这两个时钟周期内,第1个时钟周期完成计数,第2个时钟周期完成控制信号的传输与计数值输出。这样做的好处是稳定,将计数与控制信号传输分开进行。避免了一些可能遇到的“时钟跳变”。但这种做法的缺点也很明显,那就是在测周期模式下,假如待测信号是1Hz的,那么系统可能需要2s(两个时钟周期)才能显示正确的数值。

3.3 十分频模块

由于1kHz~10kHz的信号无论用测频法还是测周期法都是不可行的,可以采用预分频的方法[5],将1kHz~10kHz的信号十分频,然后用测周期法测出周期,再计算出频率。

3.4 同步整形电路模块

通过同步整形电路处理外部的异步信号,超量程和欠量程。源程序如下:

library ieee;

use ieee.std_logic_1164.all;

entity SignalLatch is

4.系统的功能仿真和验证分析

据状态转换图,这里将状态机的程序分成两个进程,进程1完成状态转移过程,进程2控制各状态下的输出值如下图2所示,timecounter=clocktested为50KHz。为了方便观察,将数值改小,计数值大于100且小于或等于1000时输出!将clock1设为50K,clock2计数时钟设为5M,得出仿真如图3所示Result为100符合计数要求。如图4所示给clk1一个5KHz的频率,经过十分频后clk2输出0.5KHz,clk1的周期是0.2ms,经过十分频后是2ms.。同步整形电路仿真如图5所示。

由以上模块进行仿真得出了频率的测量。如图6、7、8所示。

图8

5.结论

采用此方法设计的数字频率计占用FPGA芯片资源较少,成本较低,减少了电路的尺寸,具有一定的参考实用价值。利用Quartus II平台进行了仿真和硬件测试,基本达到了设计的要求。系统具有较好可靠性,灵活性。

参考文献

[1]王本有,孟坚,苏守宝.一种基于FPGA的数字IC设计[J].电子技术.

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

[3]黄任.AVR单片机与CPLD/FPGA综合应用入门[M].北京:北京航空航天大学出版社,2004.

[4]韩威,徐火生,方湘艳.EDA与集成电路工程设计[M].北京:科学出版社,2009.

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

vhdl语言范文4

【关键词】EDA; VHDL;彩灯控制器;MAX+plusⅡ

0 引言

电子设计自动化(EDA)技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑优化和仿真测试,直至实现既定的电子线路系统功能[1]。由美国国防部主持开发的VHDL语言是一种可用于数字电路描述和综合的高级语言[2],如果结合VHDL语言仿真电路进行仿真和验证,可以尽早发现电路设计中的错误,从而缩短开发的周期,降低开发成本,提高系统的设计效率。

VHDL语言是目前应用最广泛的硬件描述语言之一。它是一种人和机器都能理解的高级语言,与具体的硬件电路没有关系,具有较高的易读性。它支持层次化结构设计,从系统整体要求出发,从上至下逐层设计直到最终生成器件,完成电路系统。一个完整的VHDL程序包括有库、包集合、实体、结构体,另外还有配置块[3]。它的最大特点是将一项工程设计分成了内部和外部,工程可以是目标系统、电路模块甚至一个元件。其中外部是系统的端口;内部则是不可视部分,其功能用程序设计好后可直接调用。

1 彩灯控制器的功能分析与设计

彩灯在生活中经常能够看到,并且给我们的生活增添了许多色彩。尤其在节假日,不仅闪烁着美丽耀眼的光芒,还能够烘托出节日的气氛。本文采用EDA技术,使用VHDL语言实现彩灯的控制。

在美国ALTERA公司的MAX+PLUSⅡ平台上,使用VHDL硬件描述语言实现的彩灯控制电路的设计如下:在电路中以1代表灯亮,以0代表灯灭,由0、1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。彩灯控制器的元件,Y[15..0]是彩灯控制器的输出端。reset是彩灯控制器的复位信号输入端,当复位信号reset=‘1’时,彩灯状态会和s0相同;否则,当有时钟信号来临时,会根据程序设置显示出彩灯的亮灭状态。en是彩灯循环方式控制信号输入端,当en=‘0’时,彩灯自左边第一个灯和中间分别向右边循环闪烁;当en=‘1’时,彩灯自右边第一个灯和中间分别向左边循环闪烁;否则,彩灯会呈现熄灭状态。

2 彩灯控制器VHDL语言设计

3 仿真结果

利用MAXPLLUS2的原理图输入,以原理图的形式形成最后的十六路彩灯显示系统器件并且进行仿真。图1分别是彩灯自右边第一个灯和中间分别向左边循环闪烁,彩灯自左边第一个灯和中间分别向右边循环闪烁的仿真时序图(如图1)。

4 结束语

通过上述实验可知,本设计是可行的。仿真正确后通过下载电缆下载到CPLD/FPGA芯片上即可。芯片可以重复使用无数次。只要拥有计算机,配上相应的软件就可以随心所欲的改变彩灯的方式,而且不受时间的限制。

【参考文献】

[1]赵刚,编.EDA技术简明教程[M].成都:四川大学出版社,2004.

vhdl语言范文5

关键词:数字逻辑;实验教学;实验课题设计;教学改革;VHDL

自20世纪90年代以来,随着电子科学技术的进步,大规模集成电路PLD芯片逐渐取代了数字系统中传统的分离元件和小规模集成电路。同时,数字系统和计算机系统的设计方法向“硬件设计软件化”转变。用硬件设计语言设计数字系统和计算机系统的技术日益成熟且越来越广泛地得到应用。虽然,高校数字逻辑课程的教学内容也有一些相应的调整,但是实验教学的改革往往明显落后。

数字逻辑是计算机科学与技术专业重要的基础课之一,也是学生感觉学习比较困难的课程之一。我校计算机专业的数字逻辑课程的实验教学过去一直是在实验箱上插接集成电路芯片和连接线的方式,实验内容以验证性实验为主,实验效果很不理想,实验教学与理论教学的衔接不好,没有真正起到“通过实验加深对理论知识的理解”和“理论与实际相结合”的作用。学生虽然在课堂上学习了VHDL编程并做了一些习题,但是并不知道究竟什么样的程序才是正确的,而要想知道VHDL程序是否正确的唯一方法是编译和仿真。为了提高数字逻辑课程的教学效果,并且与新增加的VHDL语言教学内容相呼应,笔者进行了数字逻辑课程的实验教学改革探索。通过“做中学”[1],使学生真正掌握用VHDL进行逻辑设计的方法。放弃在实验箱上插接集成电路芯片和连接线的方式,改变为在Quartus软件平台上用VHDL语言编程和仿真实验。从以验证性实验为主转变为以设计性实验为主,不仅使学生学到了最新的技术,而且为后继课程计算机组成原理的进一步教学改革奠定了基础。

1实验课题的设计

根据教学计划,本课程的实验为12学时,安排6个实验。除第1个实验是熟悉Quartus系统的使用外,其余5个实验都是设计性实验。

1.1设计思想

实验课题的设计是开展设计性实验教学必须妥善处理的关键问题之一。实验课题应该有合适的难度,使得大部分学生在现有基础上通过自己的分析和努力能够做出设计(不一定是完全正确的设计)。实验课题应该在本课程教学的重要知识点范围内,通过实验可以使学生更好地掌握相关知识点,实现理论教学与实验教学相辅相成。实验课题应该在书本或网络等其他信息源上没有现成的解答,学生必须自己进行分析设计才能得到解答。

在高度网络化和信息化的今天,各种教材、参考书和网络上已经有很多的VHDL语言程序的实例,为了保证学生是真正做设计,笔者在设计实验课题时也广泛查找了资料。有几个设想的课题就因为发现有相同的VHDL语言程序实例存在而被否定。最后确定的5个实验课题,到目前为止还没有发现有相同的VHDL语言程序实例。这5个实验课题包括2个组合逻辑设计实验课题和3个时序逻辑设计实验课题。实验课题的难度和复杂程度是逐渐增加的。除了基本实验外,还为少数学有余力的学生设计了选做题目。

1.2实验课题

1) 实验课题一。

设计一个代码转换逻辑电路。把7位的ASCII码转换成7段字符显示代码。能显示数字0~9,字母A、b、C、d、E、F、H、L、o、P、U、Γ和一些符号(-、_、=、┫、┣、、)等。用VHDL语言编程并仿真。

2) 实验课题二。

设计一个多功能的运算器,有控制信号M、S2、S1、S0。当M=1,在S2、S1、S0的控制下能完成两个1位二进制数A、B的以下算术运算:A加B,A加1,A加B和低位来的进位,B加1,A加 ,A加0,A加A,A加 加1。当M=0,作逻辑运算。在S2、S1、S0的控制下能完成两个1位二进制数A、B的以下逻辑运算:A+B,A•B, , , , , , ,等。用VHDL语言编程并仿真。

3) 实验课题三。

设计一个自动售饮料机的控制逻辑电路。该机器有一个投币口,每次只能投入1枚1元或5角的硬币。当投入了1元5角的硬币,机器自动给出1杯饮料。当投入了2元的硬币,机器在自动给出1杯饮料时,还找回1枚5角的硬币。

确定输入/输出变量、电路的状态并化简,做出状态转换图、状态转换表。在完成以上逻辑设计后,用VHDL语言编程并仿真。

4) 实验课题四。

用74HC163设计一个十九进制计数器。用VHDL层次结构设计方法设计程序并仿真,底层器件是74HC163。

完成以上题目后,还可以选做题:用74HC163设计一个余3码计数器。用VHDL层次结构设计方法设计程序并仿真,底层器件是74HC163。

5) 实验课题五。

实验课题五有两个题目,学生可以任选一个。

题目一:设计一个可控计数器,当控制信号S=0时,是五进制计数器,当控制信号S=1时,是十五进制计数器。设计出逻辑图。分别用两种不同的方法设计(行为描述,结构描述),用VHDL语言编程并仿真。

题目二:设计一个数字钟电路,要求能用7段数码管显示从0时0分0秒到23时59分59秒之间的所有时间。做出逻辑图。用VHDL语言编程并仿真。

2教学效果分析

实验课题一的目的是强化译码器、7段字符显示代码和ASCII码等知识点。学生可以参考书上的BCD码-7段字符显示译码器的VHDL程序做这个设计,但是要实现那些特殊符号的显示还是需要动脑筋的。实验结果显示,学生基本上都能做出数字和字母的显示代码设计,但是极少有能做出那些特殊符号的显示代码设计的。

实验课题二的目的是强化加法器、全加器、算术运算、进位和逻辑运算等知识点,并且考虑到与后继课程计算机组成原理的ALU等知识点教学的衔接。学生做设计时可以参考1位全加器的VHDL程序。很多学生在做实验之前认为这个题目很简单,只要用VHDL语言的算术运算符就可以了。开始做实验才发现根本不是那样,必须先推导出每个运算功能的逻辑表达式才能编程,而相当多的学生忘记了算术运算还有进位的逻辑表达式。这个实验确实达到了强化上述知识点的目的。

实验课题三的目的是强化状态机和Mealy型时序逻辑电路设计等知识点。学生做设计时可以参考状态机的VHDL程序。经过这个实验,大部分学生真正懂得了什么是状态机,时序逻辑电路是在时钟信号的作用下发生状态转变的,另外还有怎样确定有哪些状态和做状态化简。

实验课题四的目的是强化计数器、用集成计数器实现任意进制计数器和Moore型时序逻辑电路设计等知识点,也是学生第一次用VHDL结构描述的方法做设计。学生做设计时可以利用书上的74HC163的VHDL程序例子。通过这个实验学生进一步理解了触发器和计数器,掌握了用集成计数器实现任意进制计数器的方法和用VHDL结构描述做逻辑电路设计的基本方法。选做题是为少数学习好、能力强的学生准备的,使这部分学生有机会得到更多的训练和提高。选做题还可以使学生掌握余3码的概念,确实也有很少的几个学生完成了选做题。

实验课题二和实验课题三都是用行为描述的方法进行逻辑电路设计,比较容易掌握,实验成功率较高,而实验课题四要求用结构描述的方法做逻辑电路设计。在实验中间发现,相当多学生并没有理解结构描述的概念,也不知道应该怎样做。因此,实验课题五继续强化用结构描述的方法做逻辑电路设计。

实验课题五题目中的第一个,目的是巩固用集成计数器实现任意进制计数器和Mealy型时序逻辑电路设计等知识点。同时,也使学生进一步掌握用行为描述和结构描述进行设计的方法。虽然这个题目相对第二个题目要简单一些,但是由于要求分别用行为描述和结构描述两种方法进行设计,所以总的工作量比实验课题四要多。这两个题目中的第2个不仅难度更大、更复杂,而且其设计还要考虑如何仿真的问题,是一个有挑战性的题目。然而,选择这个题目的学生却出乎意料得多,而且有若干种不同的设计思想,既有用结构描述的也有用行为描述的。虽然在2个小时的时间内,几乎没有学生完全正确地完成这个高难度实验的设计和仿真,但是有个别学生在以后的几个星期里仍然继续探讨并最终正确地完成了这个实验。像数字钟这样的复杂实验,在过去想要用中小规模集成电路在实验箱上插接连线的方式完成是不可想象的,但是现在用Quartus系统上设计和仿真的方式却是可以完成的。

设计性实验比验证性实验的难度有明显提高,学生也要花更多的时间做预习、设计和写实验报告。在学习数字逻辑之前的各课程(物理、电路、模拟电子)实验都是验证性实验,大部分学生已经养成不做实验预习的习惯。在做第一个实验(熟悉Quartus系统)时就发现很多学生基本上是进了实验室才开始看实验指导。结果是两个小时过去了,一部分学生并没有掌握VHDL程序调试和仿真的基本方法,个别学生输入的源程序甚至连编译都没有通过。针对这个问题,我们采取了要求学生提前做实验预习,写出实验设计和程序才允许进实验室做实验的措施,并且在逐位点名时逐个检查实验预习。实验教学改革也在一定程度上调动了学生的积极性。

3结语

用VHDL语言设计组合逻辑电路和时序逻辑电路的方法与传统的用逻辑代数和逻辑图设计的方法有很大不同,特别是行为描述的方法很容易掌握。用软件工具对所做设计进行仿真以检验设计的正确性比在面包板上插接、连线、调试要方便容易,避免了接触不良造成的故障和连线错误损坏器件等问题,实验成功率高、消耗低。学生不仅要做逻辑设计,还要做仿真输入波形设计。仿真输出波形直观地表现了逻辑功能的正确与否。部分学生自己有计算机,可以提前做出设计并编程,在进入实验室后能够在比较短的时间里完成实验;也有一些学生由于设计错误,在实验室没有完成实验,是回去以后继续用自己的计算机改正程序、完成仿真的。

从实际教学效果看,上述实验课题的设计是成功的。大部分学生通过设计和实验都有不同程度的提高,基本上理解了有关的知识点,掌握了VHDL程序设计、调试和仿真方法。从后来的调查问卷的结果看,大部分学生认为数字逻辑实验“不是很难”(4个选项分别是太难、不是很难、很简单、不能理解),只有少数学生不喜欢这种设计性实验。

数字逻辑课程的实验教学改革探索取得了初步成功,今后还将继续改进,也希望与其他学校的教师交流教学改革的经验和教训,共同提高。

参考文献:

[1] 黎忠文,向兆山.“做中学”模式在计算机教学中的探索[J]. 计算机教育,2006(10):30-32.

Exploration of Experiment Teaching of Digital Logic

SHENG Jian-lun

(School of Computer, Qingdao Technological University, Qingdao 266033, China)

vhdl语言范文6

【关键词】现代EDA技术教学内容改革

【中图分类号】G【文献标识码】A

【文章编号】0450-9889(2012)05C-Otqt3--OA

现代EDA技术是一门相对前沿和复杂的课程,该课程要求学生具备一定的嵌入式技术知识,而且课程的内容对学生的理解能力和知识的综合应用能力提出了较高的要求。在传统的现代EDA技术课程授课过程中,由于对课程的教学任务和目标不是很明确,因此在授课过程中往往是强调该课程的一些基本概念和基本原理的介绍。然而,从以往的教学经验进行统计分析发现,仅仅对学生进行一些相关概念和原理的介绍,远不能满足当前社会企业对EDA技术应用的需求。这就对现代EDA技术的教学内容及教学组织形式提出了新的要求。为此,本文将在现有的现代EDA技术课程教学内容及教学实施方案的基础上,对当前教学过程中存在的问题和不足进行深入分析,结合当前现代电子设计企业对EDA技术应用的需求,制定符合高职嵌入式专业学生基础条件的教学内容及组织形式,以提高高职院校学生掌握和应用现代EDA技术设计关键技术的能力。

一、传统的教学内容分析

现代EDA技术课程经过近年来的实践,已经形成了一套相对完整的教学内容及教学方法,是在传统的教学过程中现代EDA技术课程的教学内容及课时安排。在该表中同时也给出了对不同教学内容的教学要求。通过对传统的教学内容进行分析可以发现,在传统的教学内容中,占整个教学学时最多的一部分是VHDL程序开发部分。在实际的教学过程中,VHDL语言的教学内容分两个部分来开展,前半部分是VHDL语言的基础部分,主要介绍VHDL的常用语句、形式。在

在课程的教学内容中还包括FPGA开发简介、ISE开发环境介绍,以及电路仿真配置下载。从整个教学内容来看,传统的现代EDA技术课程中介绍的内容非常多,涉及的面也很广,在实际的教学过程中,学生也普遍反映该课程的信息量非常大,但是,现代EDA技术课程在实际教学后一阶段是VHDL程序开发的高级阶段,主要给学生介绍VHDL环境下的建模方法,以比较典型常用的门级建模、行为级建模、结构建模等三种方式分别阐述VHDL程序的开发方法和开发过程,这两部分的内容都开设了一定的实验教学时间。

过程中所取得的教学效果却并不是很理想。分析其原因,在于教学内容的课程设置上存在比较大的问题。虽然表l所给出的教学内容及课时安排,单纯从每一个章节来看似乎都是很有必要的,而且课时安排也很合理,但是纵观整个教学内容就可以发现,传统的教学过程中对教学内容更多的偏重于现代EDA技术中的相关核心知识的介绍,主要是给学生灌输EDA设计的一些基本概念和基本方法,在各个章节的知识内容中并没有形成一个有机的整体,更没有将所学习的这些知识与具体的实践应用结合起来,因此学生在学习过程中,越到课程后期越会发现学习非常枯燥,而且直到整个课程完成之后,也不能够体会EDA技术的设计理念,更不能够将所学习的知识与EDA的工程应相结合起来,造成了学生的学习效果与行业应用需求想脱离的现状。因此,对该课程的教学内容进行研究和分析之后需要针对所存在的问题,结合当前电子设计及嵌入式行业对EDA技术的实际应用需求情况,合理地对该课程的内容进行调整和优化,将整个教学的内容组织成一个整体,并把教学内容与提升学生实践应用能力紧密结合起来。

二、改革后的教学内容组成

针对目前在开展现代EDA技术课程教学过程中所存在的教学内容与提升学生能力不一致的现状,本文经过深入的调研分析,结合高职院校学生的基础条件以及今后就业过程中的岗位需求,对现代EDA技术课程的教学内容进行了彻底的改革与优化。整个改革过程中,所遵循的原则有:

第一,紧贴任职岗位需求,优化课程教学内容,提高内容的针对性。在传统的教学过程中,有相当一部分的教学时间是在给学生灌输EDA技术的相关概念和常识,而这些概念和常识在学生今后的任职岗位应用中,未必都会用得到。而对于那些不常用的概念和知识是完全没有必要在课堂上为学生反复介绍的。而学生在今后任职岗位中可能会用到的一些常用方法和技巧,以及一些工具软件的使用方法则应该在课程的教学内容中予以体现。

第二,增加实验教学的比重,提升学生动手实践的能力。在传统的现代EDA技术教学内容过程中,教学时间是50学时,其中实验占14学时,实验所占的学时比重偏少不足以提升学生的实践动手能力。因此,在对教学内容改革过程中,应该加大实验教学内容的比重。

第三,引入EDA设计的典型案例,加强理论知识与实际工程之间的结合程度,既让学生充分认识到所学习的知识在今后任职岗位中的具体应用情况,同时也提高了学生所学习知识与任职需求结合的紧密程度。在传统教学过程中,所介绍的内容都是教科书式的独立知识点介绍,没有将这些知识点与一个完整的EDA设计案例相结合起来。因此在对教学内容改革过程中,需要引入一系列的经典教学案。

首先,在开展EDA教学的基础部分,花了10个学时给学生介绍EDA技术的发展概论、VHDL语言的基础知识,以及ISE实验开发环境。相对传统的教学过程,变化最为突出的是VHDL语言基础部分的课时量大幅度减少,而且在VHDL语言设计部分没有安排专门的实验教学。这样设计的目的是尽可能减少学生对于基础知识的学习时间,也许学生通过4个学时的VHDL语言基础的学习不能够完全掌握VHDL语言的开发方法,但是后面还将会给学生介绍一系列EDA的开发例,让学生通过各种实际的教学案例,去体会EDA技术的应用方法和应用价值,提高学生学习EDA技术的兴趣和动力。

免责声明:以上文章内容均来源于本站老师原创或网友上传,不代表本站观点,与本站立场无关,仅供学习和参考。本站不是任何杂志的官方网站,直投稿件和出版请联系出版社。

相关文章