论文部分内容阅读
摘 要:数字电路课程设计中引入EDA技术,改革传统的课程设计方法,已经成为一种趋势。本文通过多功能数字钟的设计实例,说明了基于VHDL语言和CPLD/FPGA器件进行数字系统设计的方法和改进数字电路课程设计的必要性。
关键词:EDA;数字电路课程设计;多功能数字钟
1.EDA技术[1]
EDA技术即电子设计自动化技术,英文全称Electronic Design Automation,它是以功能强大的计算机为工具,在EDA软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动完成逻辑编译、简化、分割、综合、布局布线及逻辑优化、仿真测试的电子产品自动化设计过程。
利用EDA技术进行电子系统的设计,具有以下几个特点:
(1)用软件的方式设计硬件,且用软件的方式设计的系统到硬件系统的转换是由相关的开发软件自动完成的;
(2)设计过程可用相关软件进行各种仿真;
(3)系统可现场编程,在线升级;
(4)整个系统可以集成在一个芯片上,具有体积小、功耗低及可靠性高的特点。
2.用EDA技术改进数字电路课程设计的必要性
数字电路课程设计是建立在数字电子技术基础上的一门综合实践性课程[2],有利于培养学生的系统综合能力和创新能力,对提高办学档次,满足社会对高素质人才的需求,培养学生对未来社会的适应能力都是受益匪浅的。通过这一课程的学习,学生能够熟练地利用EDA技术掌握较复杂数字系统的设计方法,进一步增强学生分析问题、解决问题的能力,充分挖崛和激发学生的创新潜能。
目前在数字电路实践教学中,大部分学校仍然采用中小规模的集成电路来实现设计功能,当设计的系统比较复杂,需要多个集成芯片和大量连线时,就增加了设计电路板的难度和故障调试难度,延长了设计周期,降低了学生的学习兴趣;同时,常用中小规模集成芯片的大量重复使用也大大增加了设计成本;因此,在数字电路课程设计中引入EDA技术,采用当前国际先进的设计方法和理念,改革传统的课程设计方法,已经成为一种趋势[3]。用中小规模集成电路设计的数字系统存在以上诸多缺点,而运用EDA技术、可编程逻辑器件设计数字系统就成为行之有效的方法。这种设计方法从系统总体要求出发,自上而下地将设计细化,将功能具体化、模块化;直到最低层的模块适合用硬件描述语言或原理图描述为止,最后形成数字系统的顶层文件;再经EDA软件的自动处理而完成设计。
QuartusII是Altera公司的第四代EDA开發软件,此软件提供了一种与结构无关的全集成化环境,将设计、综合、布局和布线、系统的验证都整合到一个无缝的环境中,使设计者能方便地对Altera公司的PLD系列产品进行设计输入、快速处理和器件编程。是应用广泛的EDA开发软件之一。CPLD/FPGA通称为可编程逻辑器件,其中FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程逻辑器件的基础上进一步发展的产物。目前,QuartusII开发软件和CPLD/FPGA器件作为EDA开发工具被越来越广泛的应用到大型数字系统的设计中。
3. EDA技术在数字电路课程设计中的应用
多功能数字电子钟的设计是数字电路设计中的一个典型应用,用中小规模集成电路实现时,用到的器件较多,连线比较复杂,可靠性差。下面就以基于ALTERA公司的FPGA器件CycloneII240C8芯片和QuartusII9.0EDA开发系统进行多功能数字钟的设计为例来介绍数字电路系统的一般设计方法。运用此种方法进行课程设计时,需要先掌握QuartusII软件开发环境的使用和硬件描述语言VHDL语言的编程,掌握相关CPLD/FPGA实验开发系统的使用。
(一)数字钟的设计要求
(1)具有时,分,秒计数显示功能,以24小时循环计时,由6个7段共阴极数码管显示;
(2)能够通过手动按键实现清零和调节小时、分钟功能;
(3)具有整点报时功能,当时钟计数为59’51”、59’53”、59’55”、59’57”时,扬声器发出频率为1024Hz的声音,在59’59”即到整点时,扬声器发出最后一声整点报时,频率为4096Hz。
(4)用VHDL语言来完成上述电路功能的软件设计和软件仿真,仿真结果正确后,在实验系统上进行由硬件电路的下载和调试。
(二)数字钟的设计方案
多功能数字钟电路的系统结构框图如图1所示,由系统时钟、控制电路、秒计数器、分计数器、小时计数器、译码器、显示器和扬声器组成;控制电路负责控制计数器计时、校时和扬声器报时,译码器将各计数器输出的BCD码计数值转换成七段码送到显示器,显示器显示时、分、秒计时结果。
介于所使用的实验系统中有现成的译码器和显示器部分硬件电路,故只对图1所示控制电路和时、分、秒计数器模块进行软件设计,由VHDL语言编写源代码来实现。
(三)数字钟的实现
在设计过程中采用层次化设计方法进行设计,编写源程序,为了简化设计把控制计时和调时部分功能放到计数模块中,报时部分专门用一个模块,故将数字钟的实现分成秒、分、时三个计数模块和一个报时模块构成,报时模块同时完成对报时输入信号的分频。
通过系统分析论证后,在QuartusII9.0环境下,用VHDL硬件编程语言编写数字钟的报时模块、秒计数模块、分计数模块和时计数模块源代码,即分别对应alert.vhd、second.vhd、minute.vhd、hour.vhd文本文件,对这四个模块分别进行编译、综合和仿真测试无误后,生成这四个模块的符号图,最后通过原理图连接的方式把以上各模块生成的图形符号连在一起形成顶层的原理图,实现多功能的数字钟。下面给出通过原理图的形式所设计的顶层原理图如图2所示,顶层设计文件为clock.bdf,顶层实体图如图3所示,当然也可以通过元件例化语句来生成顶层实体。
(四)功能仿真与下载
以上各个模块设计好以后,都可以利用软件进行仿真,得到正确的功能仿真结果后,在顶层的设计中调用各功能模块,完成顶层原理图或实体的设计,最后针对顶层的实体再进行功能仿真,仿真结果如图4所示,从仿真结果的部分截图中可以得到该数字钟能够实现正常计时的功能。
仿真正确后,选定好所选用的实验系统的配置芯片,锁定引脚,完成引脚配置,重新进行编译综合后,即可生成下载文件clock.sof,将此文件下载到选定的目标芯片,接上外围器件,完成整个系统的设计。经过在杭州康芯电子有限公司生产的GW48EDA/SOPC实验开发系统下载验证,该设计完全符合数字钟的功能要求。
4.结束语
通过将EDA技术应用于数字电路课程设计提升了学生对数字电路的认识,在设计过程中可以预先进行仿真,仿真有误可以修改设计,在这个过程中不必搭接电路,做到有错就随时修改,不用担心设计实验失败的风险。通过EDA技术不仅可以很好地锻炼学生的综合设计开发能力和动手能力,从而激发他们的学习兴趣,还可以大大节约数字电路课程设计实验的成本,提高设计效率,培养了他们解决问题的综合能力,因此,使用EDA技术必将是数字电路实践课程改革的新动向。
参考文献
[1] 潘松,黄继业. EDA技术实用教程.北京:科学出版社,2010.
[2] 曲伟建. EDA技术在数字电子电路设计中的应用[J]. 电测与仪表,2004(05).
[3] 范春凤,张珂. EDA在数字电路课程设计中的应用[J]. 济南职业学院学报,2007(12).
关键词:EDA;数字电路课程设计;多功能数字钟
1.EDA技术[1]
EDA技术即电子设计自动化技术,英文全称Electronic Design Automation,它是以功能强大的计算机为工具,在EDA软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动完成逻辑编译、简化、分割、综合、布局布线及逻辑优化、仿真测试的电子产品自动化设计过程。
利用EDA技术进行电子系统的设计,具有以下几个特点:
(1)用软件的方式设计硬件,且用软件的方式设计的系统到硬件系统的转换是由相关的开发软件自动完成的;
(2)设计过程可用相关软件进行各种仿真;
(3)系统可现场编程,在线升级;
(4)整个系统可以集成在一个芯片上,具有体积小、功耗低及可靠性高的特点。
2.用EDA技术改进数字电路课程设计的必要性
数字电路课程设计是建立在数字电子技术基础上的一门综合实践性课程[2],有利于培养学生的系统综合能力和创新能力,对提高办学档次,满足社会对高素质人才的需求,培养学生对未来社会的适应能力都是受益匪浅的。通过这一课程的学习,学生能够熟练地利用EDA技术掌握较复杂数字系统的设计方法,进一步增强学生分析问题、解决问题的能力,充分挖崛和激发学生的创新潜能。
目前在数字电路实践教学中,大部分学校仍然采用中小规模的集成电路来实现设计功能,当设计的系统比较复杂,需要多个集成芯片和大量连线时,就增加了设计电路板的难度和故障调试难度,延长了设计周期,降低了学生的学习兴趣;同时,常用中小规模集成芯片的大量重复使用也大大增加了设计成本;因此,在数字电路课程设计中引入EDA技术,采用当前国际先进的设计方法和理念,改革传统的课程设计方法,已经成为一种趋势[3]。用中小规模集成电路设计的数字系统存在以上诸多缺点,而运用EDA技术、可编程逻辑器件设计数字系统就成为行之有效的方法。这种设计方法从系统总体要求出发,自上而下地将设计细化,将功能具体化、模块化;直到最低层的模块适合用硬件描述语言或原理图描述为止,最后形成数字系统的顶层文件;再经EDA软件的自动处理而完成设计。
QuartusII是Altera公司的第四代EDA开發软件,此软件提供了一种与结构无关的全集成化环境,将设计、综合、布局和布线、系统的验证都整合到一个无缝的环境中,使设计者能方便地对Altera公司的PLD系列产品进行设计输入、快速处理和器件编程。是应用广泛的EDA开发软件之一。CPLD/FPGA通称为可编程逻辑器件,其中FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程逻辑器件的基础上进一步发展的产物。目前,QuartusII开发软件和CPLD/FPGA器件作为EDA开发工具被越来越广泛的应用到大型数字系统的设计中。
3. EDA技术在数字电路课程设计中的应用
多功能数字电子钟的设计是数字电路设计中的一个典型应用,用中小规模集成电路实现时,用到的器件较多,连线比较复杂,可靠性差。下面就以基于ALTERA公司的FPGA器件CycloneII240C8芯片和QuartusII9.0EDA开发系统进行多功能数字钟的设计为例来介绍数字电路系统的一般设计方法。运用此种方法进行课程设计时,需要先掌握QuartusII软件开发环境的使用和硬件描述语言VHDL语言的编程,掌握相关CPLD/FPGA实验开发系统的使用。
(一)数字钟的设计要求
(1)具有时,分,秒计数显示功能,以24小时循环计时,由6个7段共阴极数码管显示;
(2)能够通过手动按键实现清零和调节小时、分钟功能;
(3)具有整点报时功能,当时钟计数为59’51”、59’53”、59’55”、59’57”时,扬声器发出频率为1024Hz的声音,在59’59”即到整点时,扬声器发出最后一声整点报时,频率为4096Hz。
(4)用VHDL语言来完成上述电路功能的软件设计和软件仿真,仿真结果正确后,在实验系统上进行由硬件电路的下载和调试。
(二)数字钟的设计方案
多功能数字钟电路的系统结构框图如图1所示,由系统时钟、控制电路、秒计数器、分计数器、小时计数器、译码器、显示器和扬声器组成;控制电路负责控制计数器计时、校时和扬声器报时,译码器将各计数器输出的BCD码计数值转换成七段码送到显示器,显示器显示时、分、秒计时结果。
介于所使用的实验系统中有现成的译码器和显示器部分硬件电路,故只对图1所示控制电路和时、分、秒计数器模块进行软件设计,由VHDL语言编写源代码来实现。
(三)数字钟的实现
在设计过程中采用层次化设计方法进行设计,编写源程序,为了简化设计把控制计时和调时部分功能放到计数模块中,报时部分专门用一个模块,故将数字钟的实现分成秒、分、时三个计数模块和一个报时模块构成,报时模块同时完成对报时输入信号的分频。
通过系统分析论证后,在QuartusII9.0环境下,用VHDL硬件编程语言编写数字钟的报时模块、秒计数模块、分计数模块和时计数模块源代码,即分别对应alert.vhd、second.vhd、minute.vhd、hour.vhd文本文件,对这四个模块分别进行编译、综合和仿真测试无误后,生成这四个模块的符号图,最后通过原理图连接的方式把以上各模块生成的图形符号连在一起形成顶层的原理图,实现多功能的数字钟。下面给出通过原理图的形式所设计的顶层原理图如图2所示,顶层设计文件为clock.bdf,顶层实体图如图3所示,当然也可以通过元件例化语句来生成顶层实体。
(四)功能仿真与下载
以上各个模块设计好以后,都可以利用软件进行仿真,得到正确的功能仿真结果后,在顶层的设计中调用各功能模块,完成顶层原理图或实体的设计,最后针对顶层的实体再进行功能仿真,仿真结果如图4所示,从仿真结果的部分截图中可以得到该数字钟能够实现正常计时的功能。
仿真正确后,选定好所选用的实验系统的配置芯片,锁定引脚,完成引脚配置,重新进行编译综合后,即可生成下载文件clock.sof,将此文件下载到选定的目标芯片,接上外围器件,完成整个系统的设计。经过在杭州康芯电子有限公司生产的GW48EDA/SOPC实验开发系统下载验证,该设计完全符合数字钟的功能要求。
4.结束语
通过将EDA技术应用于数字电路课程设计提升了学生对数字电路的认识,在设计过程中可以预先进行仿真,仿真有误可以修改设计,在这个过程中不必搭接电路,做到有错就随时修改,不用担心设计实验失败的风险。通过EDA技术不仅可以很好地锻炼学生的综合设计开发能力和动手能力,从而激发他们的学习兴趣,还可以大大节约数字电路课程设计实验的成本,提高设计效率,培养了他们解决问题的综合能力,因此,使用EDA技术必将是数字电路实践课程改革的新动向。
参考文献
[1] 潘松,黄继业. EDA技术实用教程.北京:科学出版社,2010.
[2] 曲伟建. EDA技术在数字电子电路设计中的应用[J]. 电测与仪表,2004(05).
[3] 范春凤,张珂. EDA在数字电路课程设计中的应用[J]. 济南职业学院学报,2007(12).