vhdl语言范文
时间:2023-04-05 09:52:02
导语:如何才能写好一篇vhdl语言,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
中图分类号:TP391 文献标识码:A 文章编号:1007-9599 (2012) 13-0000-02
数字电路分为组合逻辑电路和时序逻辑电路。组合逻辑电路的输出只与当前输入有关,时序逻辑电路的输出不仅与当前输入有关,还与过去的输入有关。状态机是一种广义的时序电路,它的输出不仅与当前输入信号有关,还与当前的状态有关。
一、状态机有三个基本要素:状态、输入、输出
状态是状态机中最根本的要素。状态机的最基本特点就是寄存器中存储的状态按照一定的条件或规律进行转移,并输出特定信号。
输入信号作为状态机状态转移的条件,即状态机根据输入信号和当前状态决定下一个转移的状态。
输出信号一般由当前状态和当前输入信号决定,也可只由当前状态决定。
二、状态机的特点
(1)状态机的结构模式相对简单,设计方案相对固定。
(2)状态机的VHDL设计层次分明,结构清晰,易读易懂。
(3)就运行速度而言,状态机的每一个状态中可以完成许多并行的运算和控制操作。
(4)就可靠性而言,状态机也具有明显的优势。
三、状态机的分类
状态机可分为有限状态机和无限状态机,在这里只讨论有限状态机。按照输出信号是否与输入信号有关,可将有限状态机分为Moore型和Mealy型。Moore型状态机的输出只与当前状态有关,Mealy型状态机的输出不仅与当前状态有关,还与当前输入有关。Moore型和Mealy型状态机示意图分别如图一和图二所示。
从输出的时序上看,Mealy型状态机的输出是当前状态和所有输入信号的函数,它的输出是在输入变化之后立即发生的,不依赖时钟的同步。Moore型状态机的输出仅为当前状态的函数,状态机的输入发生变化还必须与状态机的时钟同步。由于Mealy型状态机的输出与时钟不同步,因此很容易在输出端产生毛刺,造成不可预料的结果。因此从稳定性的角度讲,Moore型状态机比较好;但是从相应时间角度讲,Mealy型状态机对输入的响应最多可比Moore型状态机早一个时钟周期.在工程实践中,具体电路有具体的设计要求,根据实际情况选择相应的状态机。
四、基于状态机的8路彩灯设计
在我们的生活中,电子彩灯已成为我们装点生活常用的电器,电子彩灯控制电路的设计要求也越来越高。要求我们设计的彩灯花灯品种更多,控制更加方便,灵活性高,可靠性高。采用传统数字电路设计的彩灯控制器电路复杂,设计周期长,精度不高。基于FPGA的电子彩灯设计设计灵活,功能完善。
8路彩灯控制系统分为分频模块和花型循环控制模块。
(1)分频模块:我们在这里选择的时钟脉冲信号是50MHz,由于时钟脉冲的频率太高,所以我们未分频时看到的是8个LED灯全亮,而看不到LED灯闪烁的状态。我们这时将50MHz分频,达到人视觉能感觉的频率,即可看到LED闪烁的效果。
分频程序如下:
(2)花型循环控制模块:花型循环控制模块是系统的核心部分,它主控着8路彩灯的花型。循环彩灯控制模块主要由状态机设计,用状态机设计灵活性强。
按设计的要求实现8种花型:00001111、10000000、01100011、01001111、11000000、11101111、11111111和10010011。用S0,S1,S2,S3,S4,S5,S6,S7来表示8种不同的状态。状态图如下所示。
用状态机设计语句type states来实现,8路彩灯控制模块程序如下:
五、设计拓展
8路彩灯设计系统在实际应用中还可以灵活地修改。如果要改变循环灯的控制花型,可改变s0,s1,s2,s3,s4,s5,s6,s7中所设的数值;如果要改变循环灯的花型数量,可改变状态机中s的数量,如12种花型,可改为s0—s11;还可以修改频率来控制花型闪烁的速度。
六、小结
使用VHDL语言进行8路彩灯电路设计,思路简单,功能明了,灵活性强。在控制电路中采用状态机设计,电路控制灵活,功能便于实现,思路简洁便于修改。比起用常规的单片机设计8路彩灯电路更简单实用。此系统可在分频前在ISE软件下的ISE simulator上进行仿真和验证,并可加上适当的约束条件后,在Spatan3E的开发板验证试验结果。
参考文献:
[1]Kleitz.W.VHDL数字电子学[M].北京:北京希望电子出版社,2008
篇2
关键词:VHDL;教学改革;项目化教学
作者简介:周殿凤(1978-),女,江苏宝应人,盐城师范学院物理科学与电子技术学院,讲师;康素成(1966-),男,江苏滨海人,盐城师范学院物理科学与电子技术学院,副教授。(江苏 盐城 224002)
基金项目:本文系盐城师范学院高校发展研究项目(项目编号:13YCFZ006)的研究成果。
中图分类号:G642 文献标识码:A 文章编号:1007-0079(2014)09-0111-02
VHDL语言及应用是电子信息工程专业的一门重要的技术类应用型课程,主要讲解VHDL语言以及它的应用。但在多年的教学实践中,笔者发现要想让学生在短时间内接受大量的语法知识,学生很难充分理解与掌握,这样在随后的编程过程中非常容易犯错,并感觉难以入手,更不用说形成良好的编程习惯和程序风格。[1]大多数大学生毕业后或许精通C语言,可是由于各方面的原因,精通VHDL语言的少之又少,但是企业单位对此方面的人才的需求却越来越多,笔者出于对VHDL语言的挚爱及多年教学经验,探索了该课程项目化教学的具体实施方法。
一、改变传统教学方法
VHDL语言及应用这门课程的终极目标是使学生掌握VHDL语言并能用之进行相关的电子设计。如果教师将大量的时间用于讲解枯涩的语法、语句、复杂的算法,学生在学习时也不知它们有何用途,学、用脱节,只是为学而学,不能激发学生学习和应用知识的兴趣和积极性,效果很差,[2]因此教师不能按部就班地讲解知识。教师可以通过多个实例讲解语法,效果会好得多。这就要求老师上课全部现场编写程序,并且故意犯一些学生经常犯的错误,编程中的错误基本上都是语法和语句使用不当引起的,教师恰好可以利用这些错误来讲解语法、语句。这门课程的硬件基础是FPGA和CPLD芯片,CPLD/FPGA内部没有CPU,只需要用1课时简单讲解即可,并不需要详细分析。因为对于设计者而言只要会用这些芯片即可,而且CPLD/FPGA芯片本身就像一张白纸,只要学生的单片机和硬件描述语言足够好,学生就可以任意发挥,所以本课程的关键还是掌握VHDL语言本身。
二、理论教学环节的项目化实施
1.通过最简单的例子引导学生入门
以二极管闪烁为例,分成几个层次,一步一步引导学生入门。
先问学生:如何让一个二极管亮?学生学过数字电路,知道当二极管的阳极为高电平且阴极为低电平时二极管亮。然后讲解在VHDL语言里是如何实现的,接着现场编写程序,最后下载到开发板上并且演示。
接着问:如何让二极管闪烁呢?当阴极接地且阳极的高、低电平等间隔出现时二极管闪烁,在VHDL里如何实现呢?在刚才程序里稍作修改即可,同样要演示给学生看,并可顺势讲一点这个程序里出现的语法和学习VHDL语言的一些注意事项,如工程名、顶层文件名和实体名要一致,命名时字母的大小写没有区别等。做到在不知不觉中自然而然地讲解语法知识,学生记得也牢固。[2]
为了让学生语法学得更扎实,所有程序教师都随堂编写,一边编程序一边讲解语法语句,还可以插入算法的讲解。经过实践,笔者发现现场编程的讲解方法可以让学生较好地记住一些难以理解的语法、词法和算法。
2.设计巧妙的项目引导学生深入学习
在开展项目化教学时,项目的设计非常关键,设计的好坏直接影响教学效果。项目设计应遵循如下原则:一是围绕课程的重点展开,项目内容应覆盖基本的教学知识点。二是为了调动学生的积极性,应尽量选择学生感兴趣的项目。三是难度适中,项目过于简单,学生会很快完成,达不到思考的效果;太难,支撑的理论知识就会过多,教学组织比较困难,不能达到预期的教学效果。VHDL语言及应用共48课时,其中12节为实验课,理论学时只有36课时,需要用4课时按照传统的教学方式讲解一些在项目中不好讲解的知识,如CPLD/FPGA的硬件知识、VHDL语言的部分语法等,故选择9个小项目讲解各种知识。
在9个项目讲解的过程中,还要教会学生如何阅读英文datasheets。在进行真正的项目设计时,必定要用到不少陌生的芯片,要想会用这些芯片,必须看它们的datasheets。datasheets总是长达几十页,学生不容易看懂,需要教师引导他们如何抓住其中的重点,快速准确阅读。
在项目的讲解和设计后期,教师作为领队将学生分成小组学习,分组合作的学习方法激发了学生学习的动力,增强了各成员的责任感。互相之间积极配合、互动,培养学生多角度、多渠道获得信息,有利于促进学生发展,完善自我,也将学生评价变成了主动参与、自我反思、自我教育的过程。[3]
三、实践教学环节的项目化改革
1.布置型教学改为开放式教学
传统的实验教学是教师讲解实验原理,然后演示一下实验,学生只需按实验讲义中的步骤进行,“依葫芦画瓢”,通过反复训练让学生形成一定的基本技能。这种实验教学模式,学生动手机会少,不能自主学习,不利于个性发展,阻碍了学生的学习积极性、主动性、创造性以及现代科学思维方式的形成。[4]学生进入实验室后,教师可以提供大量实验,让学生根据各自兴趣选择想做的实验。也可以由学生根据教学要求自己拟定实验内容,教师加以适当指导,减少实验的盲目性,使学生真正参与到实验中来,提高实验教学效果,培养学生的动手能力和创新思维能力。
学生的实验成绩采取过程记录法,教师为每一位学生准备一张记录卡,实时记录学生的实验情况。
2.统一实验变为层次化实验
另外传统的实验教学中,所有学生做的实验是一样的。实际上学生到了大三,基础已各不相同,可以根据学生的基础采取层次化实验教学。教师可以根据学生的具体情况将一个班分为4组,假设1组的学生基础最好,2组次之,4组最差;每组的学生人数可以不一样多,该课程成绩想得优秀的学生必须选择1组或2组。针对4组学生要求教师准备4套实验内容供学生选择,每组的要求不一样,具体安排如表2所示。因为盐城师范学院要求一次实验为25人左右(半个班级),所以教师需要同时指导2组学生,实际操作时可以1组和4组一起做实验,2组和3组一起做实验。如果教师愿意加班,第一次实验可以只辅导一组学生,第二次及以后就可以2个组同时做实验,交叉辅导了。
对于基础较差的第4组同学,实验难度不宜太大,要留给学生一定的思考空间。同样是设计性实验,不同组别的具体内容也可以不同,1组难度加大,而4组则简单一些。如此训练下来,学生各有所得,不管基础好坏,总能学到一定的知识,甚至有助于基础差的学生学到更多的知识。
四、考核方式改革
项目化教学需要改变传统教学中一张试卷定成绩的考核办法,[5]学生成绩主要由项目的设计决定,要注意到学生的设计思路。理论知识学完后教师可以选择几个综合性项目,学生从中任选一个进行设计,这样可以培养学生发现问题和解决问题的能力,也可提高其设计能力。
五、小结
本文根据VHDL语言及应用的特点,探索了适于它的项目化教学。通过项目化教学,废除注入式教学方法,建立以学生为本,教师启发引导的教学方法。通过一个个项目和层次化实验,学生不仅可以熟悉VHDL语言的基本语法和常用语句,还对硬件描述语言的本质有了深刻的认识,对所设计的电路有深刻理解,在此基础上才能更好地使用VHDL语言进行电路设计。通过多个项目的训练,学生的设计能力、创造能力和团队合作能力都可以得到很大提高,因此说项目化教学是应用性强的课程的首选教学方法。
参考文献:
[1]胡小玲,翟秀艳,袁颖.VHDL的模块化教学方法反思与总结[J].中国电力教育,2013,29(2):112-113.
[2]周殿凤.片上可编程系统项目化教学探讨[J].轻工科技,2013,
15(5):190-191.
[3]姚培.教师在理实一体化教学学生评价中的角色研究[J].中国电力教育,2013,29(25):180-181.
篇3
关键词:VHDL; Max+Plus Ⅱ; 计数器; EDA技术
中图分类号:TP311文献标识码:B
文章编号:1004-373X(2010)08-0070-03
Medical Application of EDA Technology Taking VHDL Language as Core
TAN Xiao-ling, DUAN Xin-wen
(Qinghai Normal University, Xining 810008, China)
Abstract: As a new hardware description language, VHDL is mainly used for the description, simulation and automatic design of digital circuits and systems. It is the core technology of current clectronic design automation (EDA) and can be more widely used in the medical speciality and other relative fields along with the development of information technology. In this study, the counter designed with VHDL was applied to human pulse measurement. Compared to the artificial method, the results measured by such counter is more accurate and can be displayed intuitively by the digital tubes. It shows the close contact between the digital system designed with VHDL and medicine, as well as its great prospects on the medical practice. It had proved that the combination of EDA and medicine not only promotes the further application of EDA technology, but also boosts the development of medicine greatly.
Keywords:VHDL; Max+Plus Ⅱ; counter; EDA technology
0 引 言
VHDL超高速集成电路硬件描述语言是随着集成电路系统化和高度集成化逐步发展起来的,是一种用于数字系统设计、测试,面向多领域、多层次的IEEE标准硬件描述语言。它从20世纪70年代作为电路设计工具诞生于美国国防部至今,已经成为十分流行的硬件描述工具,并且为大多数EDA工具所支持\。随着电子技术的不断进步,数字系统的设计正朝着高速度、大容量、小体积的方向发展。 传统的自底而上的模式已不能满足芯片和系统的设计要求。为了提高设计效率,能够简化设计流程,大幅降低设计难度的VHDL设计方法受到广泛关注。VHDL与其他传统集成电路描述语言相比,具有明显优势\:
(1) 功能强大,描述力强。可用于门级、电路级甚至系统级的描述、仿真和设计。
(2) 可移植性好。对于设计和仿真工具及不同的平台均可采用相同的描述。
(3) 研制周期短, 成本低。
(4) 可以延长设计的生命周期。
(5) 具有电路仿真与验证功能,用户甚至不必编写相量测试即可进行源代码级调试。设计者能够跳过电路实验,直接对各种方案进行比较和选择,使设计效率得以提高。
(6) 对设计的描述具有相对独立性。
(7) 语言标准、规范,易于共享和复用。
目前,VHDL渗透了电子技术及其相关的各个工业领域,在工业设计中发挥着日益重要的作用。在世界范围内,关于VHDL在多个领域尤其在芯片,系统设计方面的应用研究已经取得众多瞩目成果。
而将VHDL与医学相结合,势必成为电子自动化设计(EDA)一个全新的研究方向,本文主要研究将EDA通过VHDL应用于医学,以对脉搏的测量为例,以实现数字系统对人体多种生理活动及生理反应的直观精确测量。
1 实验设计
1.1 EDA技术在医学教学中脉搏测量中的应用探讨
在临床诊断,护理学等中介绍脉搏的测量时认为脉搏很容易在手腕掌面外侧跳动的桡动脉上摸到,也可测量颈部的颈动脉或腹股沟的股动脉。其测量方法是病员手臂放于舒适位置,用食指,中指,无名指的指腹端按压在桡动脉表面,一般病员默数半分钟,将所测的脉率乘以2便是一分钟的脉数,异常病人测一分钟。成年人的脉搏在安静状态下每分钟是60~80次。如少于60次是心动过缓。但训练有素的运动员,脉搏有时也在60次以下,这正是心脏健康有力的表现。如超过100次是心动过速。体力活动或情绪激动时,脉搏可暂时增快,发烧时脉搏也增快。一般是体温每升高1 ℃,脉搏就增加10~20次。此法只能粗略计算脉搏跳动,如将VHDL语言应用其中,便可以通过EDA实验箱中的七段数码管直观准确地看到一分钟的计数结果,并与之前通过医学教材讲授方法测出结果相比对,从而判定测量的正确与否。
1.2 设计思路
将脉搏信号通过脉搏传感器采集进入计算机,而后作为输入信号,而此信号作为脉冲信号,即如时钟信号一般,当输入时计数器开始计数,如下面设计一个十进制计数器的VHDL描述便可用来对所采集的脉搏信号计数\。
1.3 VHDL设计流程
VHDL流程设计\如图1所示。
图1 VHDL流程设计图
现在,计算机辅助工程软件的供应商已把日益通用的硬件描述语言VHDL作为其CAD 或EDA 软件输入与输出的标准, 其中ALTEKA公司提供的综合工具Max+Plus Ⅱ,具有全面的逻辑设计能力, 从编辑、综合、布线到仿真、下载都十分方便。
2 设计方案与结果分析
VHDL 语言设计十进制计数器的源程序\:
library ieee;
use ieee.stdlogic1164.all;
use ieee.stdlogicunsigned.all;
entity jsq is
port(cp,rst:in stdlogic;
cp1:out stdlogic;
q:out stdlogicvector(3 downto 0));
end jsq;
architecture behave of jsq is
begin
process(cp,rst)
variable q1:stdlogicvector(3 downto 0);
begin
if rst=′1′ then q1:=(others=>′0′);
elsif cp′event and cp=′1′then
if q1
else q1:=(others=>′0′);
end if;
q
end if;
if q1="1001" then cp1
else cp1
end if;
end process;
end behave;
在程序输入完成后, 经Max+Plus Ⅱ中的Compiler编译通过后,可用Stimulator进行仿真,查看仿真结果,如图2所示。
图2 经Max+Plus Ⅱ编译,通过Stimulator得到的仿真结果
也可以加入七段显示译码器的VHDL设计来通过实验箱的七段数码管扫描显示计数结果\仿真结果如图3所示。
图3 译码器的仿真结果
代码如下:
library IEEE;
use ieee.stdlogic1164.all;
use ieee.stdlogicunsigned.all;
entity huay is
port( q1:in stdlogicvector(3 downto 0);
light:OUT stdlogicvector(6 downto 0));
end huay;
architecture behave of huay is
begin
process(q1)
begin
case q1 is
when"0000"=>light
when"0001"=>light
when"0010"=>light
when"0011"=>light
when"0100"=>light
when"0101"=>light
when"0111"=>light
when"1000"=>light
when"1001"=>light
when others=>light
end case;
end process;
end behave;
最终实现的顶层文件原理图如图4所示。
图4 顶层文件原理图
顶层文件设计如图4所示,通过该文件可以实现译码,下载到EDA实验箱时,便可于实验箱的数码管上读出相应的脉搏数,如图5所示。
图5 通过数码管得到的最终仿真图
VHDL语言与医学内容的结合,除了应用于脉搏的测量,还可应用于心跳及呼吸等的测量,以及受人体对声、光刺激后的生理反应时间的测定\等。电子自动化设计(EDA)及其相关技术,在医学领域具有巨大的应用前景,有待进一步的研究和发掘。
3 结 语
VHDL是一种随着电子技术的不断发展,为满足电路系统化和高度集成化要求而发展起来的一种新型硬件描述语言。VHDL具有广泛的应用范围,在芯片及电路系统设计等方面发挥着日益重要的作用\。以VHDL为核心的EDA技术应用于医学,能直观准确的测量人体的脉搏心跳,呼吸等生理活动,以及受到外界刺激的生理反应等,在医学领域存在广阔的发展空间,随着进一步的探索和实践,必将对医学的发展起到极大的推动作用。
参考文献
[1]陈耀和. VHDL语言设计技术[M]. 北京: 电子工业出版社, 2004.
[2]汪国强. EDA技术及应用[M]. 北京: 电子工业出版社, 2006.
[3]潘泽强. VHDL语言在数字电路教学中的应用[J]. 科技资讯, 2008(35): 15.
[4]张顺兴. 数字电路与系统设计[M]. 南京: 东南大学出版社, 2004.
[5]余孟尝. 数字电子技术简明教程[M]. 3版. 北京: 高等教育出版社, 2006.
[6]朱正伟. EDA技术及应用[M]. 北京: 清华大学出版社, 2005.
[7]周政新. 电子设计自动化实践与训练[M]. 北京: 中国民航出版社, 1998.
[8]江晓安. 数字电子技术[M]. 西安: 西安电子科技大学出版社, 2002.
篇4
【关键词】Silverlight WCF CAD 分布线
在水电、建筑、土木施工、环境艺术设计、工业设计、服装设计等各行各业从设计、实施、维护整个过程中会产生大量的CAD图形文件,依靠传统的文件存储,会产生如下问题:
(1)CAD图形文件存储到一定级别的数量,查询特别困难。
(2)CAD图形文件无法直接在Web进行查询和无失真的展示、放大、缩小。
(3)工程用户无法在CAD图形文件上直接结合实时数据,进行动态展示和交互。
为了解决工程上的实际问题,通过对Silverlight(银光)技术深入研究,结合CAD、Expression Design等软件能较好的实现CAD图形文件在Web端进行无失真的展示和交互,同时跨平台、跨浏览器,完全满足用户需求。
1 系统开发环境
本文是Silverlight富客户端技术与WCF服务技术结合应用于CAD图形文件展示与交互的尝试,使用C#语言结合XAML描述模式开发。系统采用Expression Blend 4.0 作为Web 前端开发工具,通过CAD2010和Expression Design 4.0处理CAD图形原文件,Visual Studio 2010 作为后台开发工具。
Visual Studio 是微软推行的一套完整的开发工具,用于完成桌面应用程序或Web 应用程序等的设计、开发和部署,能够进行工具共享,创建基于混合语言的解决方案。
Expression Blend 是在 Silverlight 和 .NET 平台上进行互动设计的工具。它使得用户体验概念可能在从最初的原型到最终的实现中都得到忠实的w现。
Expression Design 是一个专业的设计工具。它可以创建图形资源,并在 Expression Studio:Expression Blend 和 Expression Web 中创建的应用程序中使用。
2 CAD图形的展示与实现
2.1 图形的处理
通过CAD2010打开CAD图形原始文件(*.dwg),点击文件-》输出,保存为图元文件(*.wmf)。该文件为矢量文件,放大和缩小不变形、不失真。
打开Expression Design 4.0软件,点击文件-》打开,查找上一步处理过的图元文件(*.wmf),选中打开。处理过的CAD图形文件就显示在Expression Design画布上。点击文件-》导出,为XAML文件,即可在Silverlight和WPF平台上展示,如图1。
可以将处理过的CAD图形文件以及CAD图形文件的一些索引信息放入数据库,方便CAD图形的管理和索引工作,能快速实现CAD图形的查询和其它信息系统的使用。
2.2 后台服务
Silverlight所有后台服务通过WCF服务完成,Silverlight前台获取用户请求,传递给WCF服务,WCF服务通过后台处理后,异步返回给Silverlight前台用户。
WCF服务包括CAD图形文件信息管理和下载、用户通过关键字查询CAD图形文件、查询到的CAD图形文件下载到Silverlight前台。同时WCF服务还提供CAD文件热点坐标信息、以及用户与CAD图形文件交互信息、热点实测数据、热点历史数据等等。
2.3 Silverlight前端处理
Silverlight通过后台服务下载到所需CAD图形XAML文件,放入画布上。通过Silverlight提供的放大、缩小、平移等功能,方便用户对CAD图形进行各种操作。
Silverlight具有丰富的绘图功能,可以以CAD图形文件为地图,根据各种业务需求,在CAD图形文件上绘制各种图形,同时结合后台服务,查询各种信息,在CAD图形文件上进行展示。
Silverlight还具有丰富的动画功能,可以结合后台服务,查询CAD图形文件上热点实测、历史数据,在CAD图形上绘制各种生动、形象、直观的动画。
3 应用
在大坝设计、施工、维护中会产生了大量的CAD图形文件,并且在这些CAD图形文件中会标注大量的监测仪器。通过Silverlight技术结合WCF服务,实现了CAD图形文件在Web端快速查询、展示和日常操作,以及基于CAD图形文件为底图的分布线绘制。
3.1 监测布置图
监测布置图实现了大量CAD图形文件查询、展示、放大、缩小、移动等功能,提高了工程用户的工作效率,节省了大量时间,如图2。
3.2 分布线
大坝日常维护人员迫切希望能在CAD图形文件直接看到监测仪器实测数据,同时可以查询一段时间各个测点测值,并且通过动画动态展示每个测点测值变化趋势,从而判断每个测点变化情况,为后期采取相应措施提供依据。Silverlight提供了丰富的动画功能,能快速实现用户需求,通过WCF服务查询各测点测值,供Silverlight前端调用,为用户在前端提供丰富的交互体验,如图3。
4 结语
本文研究了基于Silverlight技术下的CAD图形文件应用开发,并在此基础上实现了CAD图形文件在Web端的查询、放大、缩小、移动等操作,同时基于CAD文件为底图开发了分布线动画功能,实现了用户与CAD图形间交互,满足了用户对CAD图形的各种需求,极大的提高了用户工作效率和使用体验。
同时基于矢量图形在Silverlight的展示和动画功能技术研究,可以结合各行各业、各种需求开发出丰富多彩的富客户端插件,在各行各业、各个平台进行应用。
参考文献
[1]魏永超. Silverlight 3.0开发详解与最佳实践[M].北京:清华大学出版社,2003
[2](美)西尔伯沙茨等著,杨冬青等译.数据库系统概念[M].北京:机械工业出版社,2005.
篇5
利用硬件描述语言VHDL,数字电路系统可从系统行为级、寄存器传输级和门级三个不同层次进行设计,即上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用EDA工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接着,再用专用集成电路(ASIC)或现场可编程门阵列(FPGA)自动布局布线工具,把网表转换为要实现的具体电路布线结构。目前,这种高层次设计的方法已被广泛采用。据统计,目前在美国硅谷约有90%以上的ASIC和FPGA采用硬件描述语言进行设计。VHDL的应用已成为当今以及未来EDA解决方案的核心,而且是复杂数字系统设计的核心。
一、VHDL的特点
VHDL是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的设计,支持结构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力强,因此在实际应用中越来越广泛。VHDL的主要特点有:
1.功能强大。与其他的硬件描述语言相比,VHDL具有更强的描述能力和语言结构,可以用简洁的源代码描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后直接生成电路级描述。
2.系统硬件描述能力强。VHDL具有丰富的数据类型,丰富的仿真语句和库函数,在任何大系统的设计早期就能查验设计系统功能的可行性,随时可对设计进行仿真模拟。
3.设计与工艺无关。用VHDL进行硬件电路设计时,并不需要首先考虑选择完成设计的器件。VHDL的硬件描述与具体的工艺和硬件结构无关,因此VHDL设计程序的硬件实现目标器件有广阔的选择范围。
4.设计方法灵活,易于修改。VHDL语言标准、规范,大多数EDA工具都支持VHDL。在硬件设计过程中,用VHDL语言编写的源程序便于管理,VHDL易读、结构模块化,方便修改、交流和保存。
5.支持广泛,移植能力强。VHDL是一个标准语言,在电子设计领域,为众多的EDA工具支持,因此移植能力好。
二、VHDL的结构和设计方法
1.VHDL的基本结构
VHDL的结构模型包括五个部分:实体、结构体、配置、程序包、库。前四种可分别编译,编译后放入库中,以备上层模块调用。
(1)实体定义了器件的输入输出端口,设计实体是VHDL的基本单元,可以表示整个系统、一块电路板、一个芯片或一个门电路。
(2)结构体定义实体的实现,即描述系统内部的结构和行为。
(3)配置用于从库中选取所需单元来组成系统设计的不同版本,为实体选定某个特定的结构体。
(4)程序包存放各设计模块都能共享的数据类型、常数和子程序等。
(5)库用来存放编译结果,包括实体、结构体、配置、程序包。
2.VHDL的设计方法
VHDL将层次化的设计方法引入到硬件描述中,自上向下的设计是从系统级开始,将整个系统划分为子模块,然后对这些子模块再进行进一步的划分,直到可以直接用库中的元件来实现为止。在设计方法上,将传统的“电路设计硬件搭试调试焊接”模式转变为“功能设计软件模拟仿真下载”方式。数字系统的设计采用自顶向下的方法,最顶层电路设计是指系统的整体要求,最下层是指具体逻辑电路的实现。一般的电子系统设计可分为两个阶段,第一阶段是系统的逻辑设计和仿真,得出的是门级电路的原理图或网表;第二阶段设计如印刷电路板的布局布线,集成电路的版图设计等,得出的是最终的物理设计。
三、VHDL的应用实例
笔者以Max+plusⅡ软件作为平台的一个空调机控制器的设计为例,谈谈VHDL在数字电路设计中的具体应用。
实现一个控制器,常用有限状态机方法实现。传统的设计方法主要包括5个过程:确定原始状态图,状态简化,状态编码,触发器类型的选择及控制逻辑方程和输出方程的确定,画出电路原理图。采用这种方法设计复杂状态机将会十分繁杂。
利用VHDL来设计有限状态机,可以充分发挥硬件描述语言的抽象能力,进行功能描述,而具体的逻辑化简和电路设计可由计算机自动完成,从而提高了设计的工作效率,并且条理清晰,修改起来也更方便,所以很适合复杂时序电路的设计。应用VHDL设计状态机的步骤如下:第一,根据系统要求确定状态数量、状态转移的条件和各状态输出信号的赋值,并画出状态转移图;第二,按照状态转移图编写有限状态机的VHDL程序;第三,利用EDA工具进行功能仿真验证;第四,编程下载。
空调机控制器的设计。它的两个输入来自温度传感器,用于监测室内温度。如果室内温度正常,则temp-high和temp-low均为‘0’;如果室内温度过高,则temp-high为‘1’,temp-low为‘0’;如果室内温度过低,则temp-high为‘0’,temp-low为‘1’。根据temp-high和temp-low的值来决定当前的工作状态,并给出相应的制冷和制热输出信号。
按照绘制好的状态转移图编写VHDL程序,编程中采用case语句来描述状态的改变,它具有直观、条理清晰及易于修改等特点。也可以采用不同进程来实现状态的改变,所以编程方法多种。
功能仿真。利用Max+plusⅡ软件工具对所编程序进行编译、仿真。当temp-low为“1”,即温度过低,则heat为“1”(制热);当temp-high为“1”,即温度过高,则cool为“1”(制冷)。经综合后的仿真分析表明,该方案是合理可行的。通过仿真后,即可编程下载。
四、使用VHDL应注意的一些问题
由于VHDL语言是描述硬件行为的,相对其它开发软件的高级语言而言,在编程过程中有一些特殊性,所以经常会出现语法正确但无法综合的问题。其原因多半因为编程者对硬件内部的工作原理了解不够,写出的代码硬件无法实现。在此总结出一些应注意的问题:
篇6
1.1设计背景
随着出租车行业的发展,对出租车计费器的要求也越来越高。二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的过程。同时为了提高系统的可靠性与通用性,微处理器和专业集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。目前,业界大量可编程逻辑器件(PLD),尤其是现场可编程逻辑器件(FPLD)被大量地应用在ASIC的制作当中。在可编程集成电路的开发过程中,以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果的电子设计自动化(EDA)技术主要能辅助进行三方面的设计工作:IC设计,电子电路设计以及PCB设计
理想的可编程逻辑开发系统能符合大量的设计要求:它能够支持不同结构的器件,在多种平台运行,提供易于使用的界面,并且有广泛的特征。此外,一个设计系统应该能给设计师提供充分自由的设计输入方法和设计工具选择。Altered公司开发的MAX+PLUSⅡ开发系统能充分满足可编程逻辑设计所有要求。
MAX+PLUSⅡ设计环境所提供的灵活性和高效性是无可比拟的。其丰富的图形界面,辅之以完整的、可及时访问的在线文档,使设计人员能够轻松、愉快地掌握和使用MAX+PLUSⅡ软件。
编程器是一种专门用于对可编程器(如EPROM,EEPROM,GAL,CPLD,PAL等)进行编程的专业设备
PLD器件的逻辑功能描述一般分为原理图描述和硬件描述语言描述,原理图描述是一种直观简便的方法,它可以将现有的小规模集成电路实现的功能直接用PLD器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练;硬件描述语言描述是可编程器件设计的另一种描述方法,语言描述可能精确和简练地表示电路的逻辑功能,现在PLD的设计过程中广泛使用。常用的硬件描述语言有ABEL,VHDL语言等,其中ABEL是一种简单的硬件描述语言,其支持布尔方程、真值表、状态机等逻辑描述,适用于计数器、译码器、运算电路、比较器等逻辑功能的描述;VHDL语言是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。
VHDL就是超高速集成电路硬件描述语言。覆盖面广,描述能力强,是一个多层次的硬件描述语言。在VHDL语言中,设计的原始描述可以非常简练,经过层层加强后,最终可成为直接付诸生产的电路或版图参数描述。具有良好的可读性,即容易被计算机接受,也容易被读者理解。使用期长,不会因工艺变化而使描述过时。因为VHDL的硬件描述与工艺无关,当工艺改变时,只需修改相应程序中的属性参数即可。支持大规模设计的分解和已有设计的再利用。一个大规模的设计不可能由一个人独立完成,必须由多人共同承担,VHDL为设计的分解和设计的再利用提供了有力的支持。
1.2EDA发展概况
电子设计技术的核心就是EDA技术,EDA是指以计算机为工作台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。EDA技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。80年代为计算机辅助工程(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE的主要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。90年代为电子系统设计自动化(EDA)阶段。
中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PC主板和小型ASIC领域,仅有小部分(约11%)的设计人员开发复杂的片上系统器件。为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购入一些最新的EDA技术。
在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。开展“数控化”工程和“数字化”工程。自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方向发展。外设技术与EDA工程相结合的市场前景看好,如组合超大屏幕的相关连接,多屏幕技术也有所发展。
中国自1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计活动以应对亚太地区其它EDA市场的竞争。
在EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有ASIC设计工具,但不对外开放。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具有各地开花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了50%和30%。
EDA技术发展迅猛,完全可以用日新月异来描述。EDA技术的应用广泛,现在已涉及到各行各业。EDA水平不断提高,设计工具趋于完美的地步。EDA市场日趋成熟,但我国的研发水平还很有限,需迎头赶上。
可编程逻辑器件自70年代以来,经历了PAL、GALGPLD、FPGA几个发展阶段,其中CPLD/FPGA高密度可编程逻辑器件,目前集成度已高达200万门/片,它将各模块ASC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易地转换掩模ASIC实现,因此开发风险也大为降低。
硬件描述语言(HDL)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个32位的加法器,利用图形输入软件需要输人500至1000个门,而利用VHDL语言只需要书写一行“A=B+C”即可。而且VHDL语言可读性强,易于修改和发现错误。早期的硬件描述语言,如ABEL、HDL、AHDL,由不同的EDA厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。为了克服以上不足,1985年美国国防部正式推出了高速集成电路硬件描述语言VHDL,1987年IEEE采纳VHDL为硬件描述语言标准(IEEESTD-1076)。
VHDL是一种全方位的硬件描述语言,包括系统行为级。寄存器传输级和逻辑门多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件俄语言的功能,整个自顶向下或由下向上的电路设计过程都可以用VHDL来完成。VHDL还具有以下优点:(1)VHDL的宽范围描述能力使它成为高层进设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而花较少的精力于物理实现。VHDL可以用简洁明确的代码描述来进行复杂控制逻辑设计,灵活且方便,而且也便于设计结果的交流、保存和重用。(3)VHDL的设计不依赖于特定的器件,方便了工艺的转换。(4)VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。传统的硬件电路设计方法是采用自下而上的设计方法,即根据系统对硬件的要求,详细编制技术规格书,并画出系统控制流图;然后根据技术规格书和系统控制流图,对系统的功能进行细化,合理地划分功能模块,并画出系统的功能框图;接着就进行各功能模块的细化和电路设计;各功能模块电路设计、调试完成后,将各功能模块的硬件电路连接起来再进行系统的调试,最后完成整个系统的硬件设计。采用传统方法设计数字系统,特别是当电路系统非常庞大时,设计者必须具备较好的设计经验,而且繁杂多样的原理图的阅读和修改也给设计者带来诸多的不便。为了提高开发的效率,增加已有开发成果的可继承性以及缩短开发周期,各ASIC研制和生产厂家相继开发了具有自己特色的电路硬件描述语言(HardwareDescriptionLanguage,简称HDL)。但这些硬件描述语言差异很大,各自只能在自己的特定设计环境中使用,这给设计者之间的相互交流带来了极大的困难。因此,开发一种强大的、标准化的硬件描述语言作为可相互交流的设计环境已势在必行。于是,美国于1981年提出了一种新的、标准化的HDL,称之为VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage,简称VHDL。这是一种用形式化方法来描述数字电路和设计数字逻辑系统的语言。设计者可以利用这种语言来描述自己的设计思想,然后利用电子设计自动化工具进行仿真,再自动综合到门电路,最后用PLD实现其功能。
覆盖面广,描述能力强,是一个多层次的硬件描述语言。在VHDL语言中,设计的原始描述可以非常简练,经过层层加强后,最终可成为直接付诸生产的电路或版图参数描述。
具有良好的可读性,即容易被计算机接受,也容易被读者理解。
使用期长,不会因工艺变化而使描述过时。因为VHDL的硬件描述与工艺无关,当工艺改变时,只需修改相应程序中的属性参数即可。
支持大规模设计的分解和已有设计的再利用。一个大规模的设计不可能由一个人独立完成,必须由多人共同承担,VHDL为设计的分解和设计的再利用提供了有力的支持。
当电路系统采用VHDL语言设计其硬件时,与传统的电路设计方法相比较,具有如下的特点:
即从系统总体要求出发,自上而下地逐步将设计的内容细化,最后完成系统硬件的整体设计。在设计的过程中,对系统自上而下分成三个层次进行设计:
第一层次是行为描述。所谓行为描述,实质上就是对整个系统的数学模型的描述。一般来说,对系统进行行为描述的目的是试图在系统设计的初始阶段,通过对系统行为描述的仿真来发现设计中存在的问题。在行为描述阶段,并不真正考虑其实际的操作和算法用何种方法来实现,而是考虑系统的结构及其工作的过程是否能到达系统设计的要求。
第二层次是RTL方式描述。这一层次称为寄存器传输描述(又称数据流描述)。如前所述,用行为方式描述的系统结构的程序,其抽象程度高,是很难直接映射到具体逻辑元件结构的。要想得到硬件的具体实现,必须将行为方式描述的VHDL语言程序改写为RTL方式描述的VHDL语言程序。也就是说,系统采用RTL方式描述,才能导出系统的逻辑表达式,才能进行逻辑综合。
第三层次是逻辑综合。即利用逻辑综合工具,将RTL方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表)。此时,如果需要,可将逻辑综合的结果以逻辑原理图的方式输出。此后可对综合的结果在门电路级上进行仿真,并检查其时序关系。
应用逻辑综合工具产生的门网络表,将其转换成PLD的编程码,即可利用PLD实现硬件电路的设计。
由自上而下的设计过程可知,从总体行为设计开始到最终的逻辑综合,每一步都要进行仿真检查,这样有利于尽早发现设计中存在的问题,从而可以大大缩短系统的设计周期。
系统可大量采用PLD芯片。
由于目前众多制造PLD芯片的厂家,其工具软件均支持VHDL语言的编程。所以利用VHDL语言设计数字系统时,可以根据硬件电路的设计需要,自行利用PLD设计自用的ASIC芯片,而无须受通用元器件的限制。
EDA系统框架结构EDA系统框架结构(FRAMEWORK)是一套配置和使用EDA软件包的规范。目前主要的EDA系统都建立了框架结构,如CADENCE公司的DesignFramework,Mentor公司的FalconFramework,而且这些框架结构都遵守国际CFI组织制定的统一技术标准。框架结构能将来自不同EDA厂商的工具软件进行优化组合,集成在一个易于管理的统一的环境之下,而且还支持任务之间、设计师之间以及整个产品开发过程中的信息传输与共享,是并行工程和自顶向下设计施的实现基础。
EDA技术的每一次进步,都引起了设计层次上的一次飞跃,从设计层次上分,70年代为物理级设计(CAD),80年代为电路级设计(CAE),90年代进入到系统级设计(EDA)。物理级设计主要指IC版图设计,一般由半导体厂家完成,对电子工程师没有太大的意义,因此本文重点介绍电路级设计和系统级设计。
仿真通过后,根据原理图产生的电气连接网络表进行PCB板的自动布局布线。在制作PCB板之前还可以进行PCB后分析,其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反标回电路图,进行第二次仿真,也称为后仿真。后仿真主要是检验PCB板在实际工作环境中的可行性。
由此可见,电路级的EDA技术使电子工程师在实际的电子系统产生前,就可以全面地了解系统的功能特性和物理特性,从而将开发风险消灭在设计阶段,缩短了开发时间,降低了开发成本。
篇7
【关键词】现代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技术的兴趣和动力。
篇8
【关键词】MATLAB;傅里叶变换;频域分析;VHDL
频谱分析在生产实践和科学研究中有着广泛的应用。其中,快速傅里叶变换(Fast Fourier Transform,FFT)是数字信号处理的最基本技术之一。近年来,随着现场可编程门阵列FPGA(Field Programmable Gate Array)技术的迅猛发展,利用高并行度、高速度的FPGA芯片来实现FFT已成为必然趋势。
本文将以MATLAB为工具,对信号与系统在联系时间系统的频域进行分析。
一、Matlab编程实现FFT实践频谱分析
步骤如下:
1.用Matlab产生正弦波,矩形波,以及白噪声信号,并显示各自时域波形图。
2.进行FFT变换,显示各自频谱图,其中采样率,频率、数据长度自选。
3.做出上述三种信号的均方根图谱,功率图谱,以及对数均方根图谱。
4.用IFFT傅立叶反变换恢复信号,并显示恢复的正弦信号时域波形图。
正弦波、矩形波以及白噪声三种信号的FFT变换(傅里叶变换)及IFFT变换(傅里叶反变换恢复信号)。
图1-1 正弦波
图1-2 矩形波
图1-3 白噪声信号
二、FFT算法在基于VHDL的FPGA下实现
1.基于VHDL的FPGA设计流程
本小节以Xilinx公司的FPGA系统开发为实例,FPGA的设计流程一般包括系统功能设计定义、设计输入、功能仿真、逻辑综合、前仿真、设计实现(包括翻译、映射、布局布线)、时序仿真与验证、下载配置与器件编程、测试验证等几个步骤。
本设计运用ISE和ModelSim与Matlab联合仿真的设计方法。
ISE的简称为集成综合的环境,是Xilinx公司的配套设计软件,这种工具可完成上述FPGA/CPLD的整个开发过程
2.FPGA的基本原理和结构
FPGA即现场可编程门阵列,相对其他可编程器件具有更高的集成度、更强的逻辑实现能力和更好的设计灵活性。
FPGA的基本结构如图2-1所示。CLB阵列实现用户指定的逻辑功能,它们以阵列的形式分布在FPGA中;IOB为内部逻辑与器件封装引脚之间提供了可编程接口,它通常排列在芯片四周;可编程互连资源分布在CLB的空隙,互连资源可以编程配置在模块之间传递的信号网络,用于实现各个CLB之间、CLB与IOB之间以及全局信号与CLB和IOB之间的连接。FPGA利用可编程查找表实现逻辑块;程序控制多路复用器实现其功能选择。
图2-1 FPGA的基本结构
3.FFT 处理器的设计
本设计用于基于IEEE 802.11a协议的OFDM系统的OFDM调制,根据IEEE802.11a协议规定,OFDM调制采用64点FFT变换,采样速率20M/s,即采样周期为50ns,即64点FFT数据输入的时间为64*50ns=3200ns。
本系统采用的时域抽取算法中要对输入的所有数据进行倒序以后才开始蝶形运算,FFT可以分为数据输入、蝶形运算两个阶段,蝶形运算结束后,将最终结果存储到另一个单独的结果存储器另行读取,而为了能对输入数据实现连续的FFT变换,就需要蝶形运算的总时间小于3200ns,这样就可以用两个FFT模块去轮换做FFT,实现连续的FFT处理。如图2-2所示。
64点的基2的时域抽取FFT算法总共有6级蝶形运算,每级32次蝶形运算,总共需要32*6=192个蝶形运算,如果采用单蝶形设计,需要192次蝶形运算,蝶形运算的极限时钟周期为3200ns/192=16.67ns,在本设计的蝶形运算时钟周期采用16ns。
开发环境:Quartus II 6.0
选择FPGA芯片:Altera公司Stratix系列中的EP1S10484C5
语言:VHDL
图2-2 两个FFT模块
三、MATLAB到VHDL转换工具Simulink
Simulink程序包是MathWorks公司提供的一个非常有吸引力的高水平设计、仿真工具。
1.高效地从Simulink到VHDL的转换工具
目前为止,设计者经常遇到的最大问题是怎样完成从算法设计到物理实现的转换。在这个问题的研究发展过程中,设计者首先使用的是一种高层次的设计仿真工具,最通常的就是Matlab的Simulink。首先利用Mathworks的Matlab/Simulink完成顶层系统设计,然后通过转换工具配置Simulink中的IP核,即将静态参数传递给基于VHDL的IP,将Simulink模型文件(.md1)转换成VHDL的RTL表述和工具命令语言(Tcl)脚本,同时还可进行RTL级的功能仿真;然后通过SOPC设计工具进行综合、适配与时序仿真;最后形成对指定FPGA进行编程配置的POF和SOF文件,实现硬件系统的仿真测试。转换的工作可以描述成以下几步:
(1)分析并确定Simulink模型。
(2)产生VHDL环境。
(3)生成对应网表文件或示意图进行布局、布线和硬件的下载测试。
2.从Simulink到VHDL的自动转换
为了简单化转换程序,在最初的Simulink模块中设定一些约束条件(如图3-1所示):
(1)运行高字节的信号或变量;
(2)整个设计只有一种取样率;
(3)系统只由入口、常数、端口及总线组成。
这些能够使相关的VHDL结构描述比较容易地产生。工具箱的下一部分就可以允许不同的变量类型和生成可应用的结构和行为的VHDL。
图3-1 从Simulink到VHDL转换流程
从MDL(主要数据程序)模型到VHDL的转换的初步翻译由定制的Matlab程序完成。由于对Simulink描述的分析比较困难,生成的VHDL代码需要额外的编辑。例如,一些基本模块如标准逻辑门和双相位时钟等的行为描述被手动设计成标准模块库中的一部分。
四、Matlab/Simulink到VHDL代码的转换研究
1.Xilinx System Generator
Matlab中的Simulink是一种对动态系统进行建模、仿真及分析的交互式工具。Xilinx公司新推出的System Generator是一种高性能的设计工具,他可以嵌入作为Simulink的一部分运行。在Simulink中System Generator打包为Xilinx Blockset,从Simulink的库中可以浏览。System Generator设计流程图如图4-1所示。
转换的操作也很简单,在System Generator的模型参数设置对话框,选择一个输出路径并选择“Create Test bench”,单击“Generate”就可以生成VHDL代码和设计的testbench变量。当选择生成testbench变量后,Simulink将重新运行刚才的仿真。这次由于将经历代码生成过程,他将在testbench变量中保存所有输入和输出信息供VHDL和post-PAR仿真调用。
图4-1 System generator设计流程图
2.基于System Generator的FFT算法的实现
System Generator for DSP是Xilinx公司开发的基于Simulink图形环境的DSP开发工具。利用System Generator工具,即使是没有多少FPGA设计经验的设计人员也能够快速开发出高性能的FPGA来实现DSP算法。
FFT算法实现流程:
根据FFT算法的原理以及System Generator工具的特点,可以在System Generator中完成FFT算法的设计,然后自动生成HDL代码,通过ISE软件生成位流文件下载到FPGA中,从而完成整个设计。
实验环境:matlab 2010b、ISE 12.3、System Generator for DSP 12.3
(1)系统模型设计
在Simulink环境中建立一个mdl模型文件,用图形方式调用System Generator和其它的Simulink原图形模块,构成系统级或算法级设计框图如图4-2所示。
图4-2 设计框图
Gateway in和Gateway out模块:用于双浮点精度数据和定点数据之间的转换。
System Generator模块:提供Matlab和硬件设计环境ISE的接口,可在指定目录中产生可在ISE软件下实现的硬件描述语言。
Delay模块:构成一个时延环节,可以配置其延迟时钟周期的整数倍。
FIFO模块:用于实现一组FIFO列。
FFT v3_2模块:为离散傅立叶变换(DFT)提供了一种有效算法。该模块根据不同的结构和实现方式有三种模式可供选择:1)流水线,Streaming I/O结构;2)基4,BurstI/O结构;3)基2,Burst I/O结构。
(2)验证与仿真
为了证明模型设计的正确性,需要对模型进行测试试验,将FFT模型的仿真结果与MATLAB的理论计算结果进行比较,完成对所建立模型的测试工作。
1)信号在MATLAB中的处理
系统的输入函数为,点数N=512,采样周期为1s,在MATLAB中实现FFT处理的程序描述如下:
n=512;
n=0:511;
t=1*n;
k=n;
x=sin(2*pi/25*t);
y=fft(x,N);
r=real(y);
i=imag(y);
subplot(1,1,1);
plot(k,r);
subplot(1,1,1);
plot(k,i);
通过以上程序得到正弦信号通过512点FFT处理后的MATLAB理论计算结果如图4-3所示。
a)实部结果 b)虚部结果
图4-3 MATLAB理论计算结果
2)信号在FFT模型中的处理
在仿真前先对Gateway in模块和FFT v3_2模块进行一下参数配置:
Gateway in模块
Output type:Signed
Number of bits:16
Binary point:15
Quantization:Round
Overflow:Saturate
Sample period:1
FFT v3_2模块:
Impliment:Pipelined Streaming I/O
Number of sample points:512
Output ordering:Natural order
Scaling:Unscaled
Rounding mode:Truncation
Phase factor bit width:8
将参数配置好后在Simulink的FFT模型的输入端输入正弦信号,然后选择simulink/start,待仿真结束后查看scope模块所显示的仿真结果如图4-4所示。
a)实部结果 b)虚部结果
图4-4 FFT模型仿真结果
比较图5-3和图5-4的波形,可以看出FFT模型处理后的结果和Matlab的理论计算结果的波形基本一致,得到的都是频率单一的实部和虚部。
需要说明的是:在图5-5中实部和虚部的输出都是从横坐标的1118点开始的,这是因为FFT模型中的FFT v3_2模块参数选择的是Pipelined Streaming I/O模式,在该模式下输出需要延迟一段处理时间然后才能连续输出,这里横坐标的1118点实际上就是输出的起始点,也就是输出的的k=0的位置。
3.自动代码生成
通过上面的测试实验,证明所建立的FFT模型是满足要求的,下面就需要将FFT模型转换成HDL代码。双击打开System Generator模块的系统设定对话框,在该对话框中设定好目标器件的型号(Virtex6 xc6vsx315t-3ff1156)、综合工具(XST)、产生语言种类(VHDL)等参数(如图4-5所示),并且选中“Createtest bench”选项,之后启动System Generator模块,将在指定目录中产生可在ISE软件下实现的硬件描述语言,并且自动生成设计的测试代码。
图4-5 System generator的参数设置
Gateway in模块的参数设置如图4-6所示:
图4-6 Gateway in模块的参数设置
五、总结
本文的研究工作主要是以下几个部分:
1.介绍了傅里叶变换及其在频谱分析中的应用;
2.研究了利用MATLAB实现谱分析的傅里叶变换,其中包括基于MATLAB的连续信号与离散信号的频域分析;另外,本文实现了基于MATLAB的快速傅里叶变换(FFT)以及信号的采样——重构操作;
3.探讨FPGA的结构,其中主要涉及基于VHDL的FPGA设计流程;
4.讨论了由Matlab生成VHDL代码的原理,并介绍了利用System Generator及DSP Builder将Simulink模型转换为VHDL代码的方法。
下一步的研究工作在于对转换研究进行细化和拓展,其中细化部分集中于调试优化,而拓展部分在于各种功能器件的转换实现。
参考文献:
[1]石海,毛哲.基于DSP实现RFID实时信号频谱分析[J].武汉工业学院学报,2008,9(3):69-72.
[2]Agilent Technologies Inc,Agilent N9340A Handheld Spectrum Analyzer TechnicalOverview.
[3]刘树堂.2006.数字信号处理——使用MATLAB.西安:西安交通大学出版社,252-255.
[4]胡广书著.数字信号处理——理论、算法与实现[M].北京:清华大学出版社,2003,2:93-210.
[5]Joyce Van de Vegte著.侯正信,王国安等译.数字信号处理基础[M].北京:电子工业出版社,2004.249-255,328-361.
篇9
关键词:DDS;直接数字频率合成;调频;扫频;VHDL
中图分类号:TN99 文献标识码:B 文章编号:1004373X(2008)1503002
Generation of Linear Frequency Modulation Signal Based on DDS
ZHANG Xianzhi
(Unit 63891 PLA,Luoyang,471003,China)
Abstract:DDS is a new technology which advanced theory and method of digital processing into frequency synthesis.VHDL is a kind of hardware description language,it is used to describe the function of circuit hardware,the connection relationship of signal and the timing relationship.So,it is applied broadly in the field of electron engineering.The fundamental and modulation characteristics of DDS are introduced.Besides,DDS is implemented by programming in VHDL language.A sort of linear FM signal based on DDS technology is implemented.Then,simulation result of the main part of them is given,and its correctness is verificated.
Keywords:DDS;direct digital frequency synthesis;FM;sweep frequency;VHDL
1 DDS(直接数字式频率合成器)的基本原理
直接数字频率合成是从相位概念出发直接合成所需波形的一种频率合成技术。DDS把一系列数字量形式的信号通过数模转换器(DAC)转换成模拟量形式的信号,其基本结构如图1所示。
图1 DDS结构示意图DDS由相位累加器、加法器、波形存储器(ROM)、数字乘法器、D/A转换器和低通滤波器(LPF)组成。DDS的核心是相位累加器,由一个加法器和一个相位寄存器(REG)级联构成。在参考时钟fc的控制下,相位累加器对频率控制字K进行线性累加,输出的和再与相位控制字P相加后作为地址,对ROM进行寻址。ROM中存放的是经过采样、量化处理后的某种周期性连续信号一个周期波形的幅度值,也就是与一个周期的相位采样相对应的函数波形查找表,不同的相位地址对应这种周期信号的不同幅度值编码。ROM输出的幅度值编码通过数字乘法器被幅度控制字A加权,加权后的幅度值编码经D/A转换器变成相应的阶梯波,再经低通滤波器平滑后就可以得到所合成信号的模拟波形。合成的信号波形取决于ROM中存放的幅度值数据,因此用DDS可以产生任意波形。
设相位累加器的字长为N,则DDS的输出频率fo和频率分辨率(即最小输出频率)Δfmin分别为:fo=K・fc2N
Δfmin=fc2N 只要N足够大,DDS可以得到很小的频率分辨率。要改变DDS的输出频率,只要改变频率控制字K即可。
值得注意的是,根据Nyquist采样定理,在对连续信号进行采样的一个周期内,采样频率不能改变,故利用DDS进行信号合成时,在信号合成的一个周期内,频率控制字K不能发生变化,也就是K在每次改变之前至少应该持续2N/K个DDS时钟周期,即2N/K/fc。
通过改变相位控制字P可以控制输出信号的相位参数,设相位加法器的字长为M,当相位控制字由0变到P(P≠0)时,ROM的输入为相位累加器的输出与相位控制字P之和,因此其输出的幅度值相位会增加2πP/2M,从而使最后输出的模拟信号产生相移。
DDS输出信号的幅度可以通过在ROM之后加入一个数字乘法器来实现,幅度控制字A起到对ROM所输出的幅度值编码进行加权的作用。
由此可见,当DDS的相位累加器字长和相位加法器字长确定后,通过改变K,P,A就可以有效地控制DDS输出的模拟信号的频率、相位和幅度,这就是DDS技术的调制特性。
2 VHDL语言实现的DDS
为简单起见,下面所描述的DDS仅设置了频率控制字K,相位控制字P和幅度控制字A都未予以考虑,其处理可以类推。DDS的输出为正弦波信号。
由于正弦波关于π奇对称,关于π/2与3π/2偶对称,因此波形存储器(ROM)中只需存储其1/4个周期的幅度值编码。具体地,ROM中存储正弦波0~π/2相位范围内的256个采样点的幅度值,采用8位编码。而DDS的输出为9位,最高位作为符号位,用以区分幅度值的正负,“0”表示正,“1”表示负。ROM为8位地址寻址,而相位累加器的字长采用10位。最高位用以区分正弦波的前、后半周期,“0”为前半周期,幅度值为正,“1”为后半周期,幅度值为负。次高位用以区分正弦波前、后半周期的前、后1/4周期,“0”为前1/4周期,寻址地址为相位累加器的低8位,“1”为后1/4周期,寻址地址为相位累加器低8位的取反。
用VHDL实现DDS的源程序的核心部分如下:
process (clk)
begin
if clk′event and clk = ′1′ then
if addr (8) = ′1′ then
taddr
else
taddr
end if;
if taddr = x"00" then
dsin (8)
else
dsin (8)
end if;
case taddr is
when x"00" => dsin (7 downto 0)
when x"01" => dsin (7 downto 0)
when x"02" => dsin (7 downto 0)
…… ……
when x"FE" => dsin (7 downto 0)
when x"FF" => dsin (7 downto 0)
when others => dsin (7 downto 0)
end case;
addr
end if;
end process;
在Xilinx ISE 8.2i开发环境中对其进行仿真的结果,如图2所示。
图2 DDS仿真结果3 扫频信号的产生
利用DDS技术的调制特性可以方便地产生扫频信号,仅需控制DDS的频率控制字K,让其随预期设计的规律变化即可。
为了采用DDS实现扫频信号扫频带宽范围内的各个频点fi,需要为其确定相应的频率控制字Ki,从而很容易地计算出所需的一系列Ki值。与DDS的基本原理类似,将符合设计要求的一系列Ki值存储在一张查找表中。再利用一个计数器循环计数,将其输出作为查找表的寻址地址,以此不断地循环读取查找表中的各个Ki。这样就可以使受Ki控制的DDS的输出始终在所预期设计的各个频点fi上变化,达到扫频的目的。其中,计数器循环一次的时间就是所要实现的扫频信号的扫频周期,而计数器的计数范围则与扫频信号扫频带宽范围内的频点个数相对应。
以上就是利用DDS实现扫频信号的基本思路,以下是实现此思路的VHDL源程序的主要部分:
process (clk)
begin
if clk′event and clk = ′1′ then
case t is
when o"0" => dcs
when o"1" => dcs
when o"2" => dcs
when o"3" => dcs
when o"4" => dcs
when o"5" => dcs
when o"6" => dcs
when o"7" => dcs
when others => dcs
end case;
t
end if;
end process;
在Xilinx ISE 8.2i开发环境中对其进行仿真的结果如图3所示。
图3 产生频率控制字的仿真结果4 结 语
VHDL是IEEE的工业标准硬件描述语言,可以描述硬件电路的功能、信号连接关系及定时关系,在电子工程领域用来描述、验证和设计电子线路得到了广泛的接受和应用。利用DDS技术的调制特性产生各种调制信号简单方便,容易实现。从文中不难看出,将VHDL语言与DDS技术结合起来设计生成调频信号,直观快捷,可操作性很强,必将得到更加广泛的应用。
参 考 文 献
[1]张顺兴.数字电路与系统设计[M].南京:东南大学出版社,2004.
[2]黄智伟.射频电路设计[M].北京:电子工业出版社,2006.
[3]姜宇柏,游思晴.软件无线电原理与工程应用[M].北京:机械工业出版社,2006.
[4]谭会生,瞿遂春.EDA技术综合应用实例与分析[M].西安:西安电子科技大学出版社,2004.
[5]潘松,黄继业,王国栋.现代DSP技术[M].西安:西安电子科技大学出版社,2003.
[6]邓延安.直接数字频率合成单象限存储结构的VHDL语言实现[J].安徽工程科技学院学报,2006,21(1):37-39.
[7]李逢玲,郑飞.基于EDA技术的调频信号发生器的设计[J].现代电子技术,2006,29(8):10-12.
[8]DDS原理简介[EB/OL]..cn.
篇10
【关键词】项目化教学;FPGA开发与应用;VHDL
1 基于FPGA的数字系统设计简介
FPGA是Field Programmable Gate Array的缩写,即现场可编程门阵列,它完全由用户通过软件进行编程和配置,从而完成某种特定的功能,且可以反复擦写的新型器件。传统的数字系统设计方法是自底向上的设计方法,它是以各种不同的中小规模集成电路芯片为基础,按照功能要求在印刷电路板上将不同的芯片连接起来,构成实现某种功能的电子系统。基于FPGA[1]的数字系统设计方法采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层次的基本单元。它以FPGA芯片为核心,通过编程的方式完成系统功能的设计并将设计写入FPGA芯片内,使芯片具有设计的功能。设计过程中通过不同阶段的仿真可以及时检查设计的正确性,电路的修改只需要通过修改程序并重新下载到FPGA中即可。因此基于FPGA的数字系统设计易于测试和修改,设计周期短,便于移植。
2 项目化教学实施过程
“FPGA开发与应用”这门课是针对大三计算机网络工程专业学生开设的一门专业课,学生在前期已学过《电路》、《数字电路》、《模拟电路》、《C语言程序设计》等课程。通过该门课,使学生掌握VHDL语言(超高速集成电路硬件描述语言)的编程方法,能熟练应用ISE平台进行数字系统设计,理解自顶向下的系统设计方法,积累数字系统设计经验。
传统的教学方法重在介绍VHDL语言的语法规则和语句,知识点较零散,学起来较枯燥,而且不知如何应用这些语句。而项目化教学重在将知识点融在项目中理解,学生通过做一个小项目可以掌握相应的知识点,并通过3-4人一组协作完成,培养其团队合作能力、沟通能力和语言表达能力等。项目化教学真正实现了三个转变:以教师为中心转变为以学生为中心;以课本为中心转变为以项目为中心;以课堂为中心转变为以实际经验为中心[2]。
下面将通过“点亮两位数字”项目分析如何实施项目化教学[3][4]。“点亮两位数字”项目即利用Xilinx公司的ISE软件平台进行系统设计,通过VHDL语言编程实现显示两位数字的功能,并最终生成二进制文件,下载到Basys2开发板上验证。
2.1 项目立项阶段
教师先向学生展示最终要完成的效果,讲明项目任务,再对学生进行分组,尽量采取自愿原则,教师可对小组成员适当调整,保证每组中至少有一人学习情况较好,并任命一人为组长。
2.2 需求分析阶段
根据项目要求,分析最终要呈现的效果,确定程序的功能模块和性能需求。比如要用两个数码管显示、动态扫描问题、译码问题等。
2.3 系统设计阶段
首先每个小组要确定总体方案设计,例如分哪几个模块、每个模块要实现什么功能,再进行详细设计,包括用Visio软件绘制系统功能结构图(如图1所示)、每个模块如何用VHDL语言实现等。在详细设计中,涉及每个模块具体的功能,写出详细的系统设计报告,以此进行编码和测试,从而保证系统设计的可靠性。可以由组长分配任务,让每个组员完成一个模块的编写工作。
2.4 编码、测试阶段
教师检查每组的系统功能结构图,若无问题,则可以开始编程。在用VHDL语言编程阶段,学生可根据系统功能结构图分模块进行调试,先将底层三个模块(分频器、控制模块、译码器)都编好后,通过ISE软件编译检查语法错误、并进行仿真,若无问题,再进行顶层文件编写;若有问题,则需修改源代码,直至无错误为止。顶层文件主要是通过元件例化语句将底层三个模块进行连接,编好后,也需要经过ISE软件编译检查语法错误。
2.5 下载、验证阶段
最后将生成的二进制文件下载到basys2开发板上验证,若能正确显示两位数字,即成功。若不能正常显示,则需返回到ISE软件中,修改底层文件或顶层文件,直至验证成功为止。
2.6 验收阶段
在编写代码的过程中,教师可适当给予指导,给学生提供一些参考资料或相似的例子,帮助学生完成项目。教师要检查各组最终能否实现“显示两位数字”,协助并指导各组,完成编写“显示两位数字”项目文档,并对各组进行成绩评定。各组组长向全班汇报、展示本组的作品,并列举项目开发中遇到的各种问题,其他组的学生可以提问,最后教师对各组进行点评。各组组长根据小组成员的贡献对小组成员进行打分,教师根据小组成绩和组长对各成员的打分,确定每位学生的成绩。
3 总结
由于传统的教学方法重在介绍VHDL语言的语法和语句,学生学起来较枯燥,因此结合《FPGA开发与应用》课程的特点,通过“显示两位数字”项目,展示如何在《FPGA开发与应用》课程中实施项目化教学。通过项目化教学,不但能使学生掌握VHDL语言的编程方法和自顶向下的系统设计方法,熟悉真实项目的实施过程,而且通过分组协作完成一个项目,可以锻炼学生的团队协作能力、沟通能力、语言表达能力等,从而激发学生的学习兴趣,提高学生的自主学习能力。
【参考文献】
[1]陈学英,李颖.FPGA应用实验教程[M].国防工业出版社,2013,05.
[2]张学琳,陈齐超,段珊,胡波.项目教学法在“C语言课程设计”中的研究与应用[J].实验技术与管理,2011,28(02):164-167.