APP下载

EDA实验教学及实验技术探讨

2014-05-04许精明陈小平

计算机教育 2014年2期
关键词:实验教学

许精明 陈小平

摘要:近年来,EDA虚拟仪器、嵌入式产品设计等数字电路制造技术得到了迅速发展。EDA作为计算机辅助数字电路设计技术已成为一项重要的产品设计手段。文章在阐述EDA工具环境QuartusⅡ和VHDL编程的基础上,分析EDA的“概念驱动式”设计模式的优缺点、EDA实验项目内容的划分和FPGA与CPLD。两种芯片的不同特性及EDA实验室的软硬件平台配置等,并对基于网络的现代EDA实验技术和EDA技术的发展前景进行展望。

关键词:EDA;QuartusⅡ;实验教学

0、引言

随着CAX(CAD、CAM、CAT、CAE)技术的发展,电子设计自动化(Electronic DesignAutomation,EDA)及其在电子产品设计中的应用日益广泛。不论在教学、科研、产品设计与制造等方面,EDA都发挥着巨大的作用。教学方面,主要使学生掌握EDA的基本概念和基本原理、学习QuartusⅡ等软件的使用与操作,掌握VHDL语言的编写规范及编程的逻辑理论与算法,进行电子电路设计实验和各种应用设计。科研方面,主要利用虚拟仪器进行产品测试,将下载验证后的CPLD/FPGA器件应用到实际仪器设备中,进行专用集成电路ASIC和片上系统SoC设计等。产品设计与制造方面,主要进行大规模智能产品的建模与设计、计算机仿真、验证与测试、缩短产品更新换代周期等。

1、工具软件QuartusⅡ及VHDL语言

1.1

QuartusⅡ的使用技巧

工具软件的使用应与实例开发相结合,通过解决实际使用中遇到的问题,熟悉各种操作功能。通常,使用工具软件时遇到的问题可概括为两个方面。

(1)程序设计语言上的问题。普通编程语言(如C++、JAVA)是面向对象/主体的编程语言,使用时所遇的问题一般是算法设计思路的逻辑和语法格式方面的错误,而VHDL语言是描述数据系统的结构、行为、功能和接口的“概念型”编程语言,编程时,应注意整体模式构架的正确性,包括库与程序包、实体、结构体、配置、描述语句的语法及词法等结构方面的错误。

从可视化角度讲,VHDL语言分为内外两部分:外部为可视界面,以概念为驱动;内部为不可视部分,用算法完成。

(2)工具软件操作上的问题。用QuartusⅡ进行电子系统开发时,一般的步骤有:设计输入、编译、综合、布局、布线、时序分析、仿真、编程下载等。在开发过程中,通常会遇到一些操作上的问题。例如,在对设计文件的初次波形仿真时,当节点信号输入(Insert Node or Bus)、信号波形(Waveform)、网格(Grid Size)和时间轴(End Time)大小等都设定后,如果直接进行波形仿真的命令操作,会出现问题提示:“仿真器中没有文件(No files in simulator)”。原因在于没有向Simulator Setting交互界面中添加波形文件。操作上的解决办法,是从菜单Assignment→Setting…打开设置对话框,选择树形目录中的Simulator Setting项,在交互界面的Simulation input栏中添加正在进行波形编辑和仿真的文件。

通常在遇到工具操作方面的问题时,可从联机帮助或通过网络搜索引擎等途径得到与问题有关的解决方案及提示,提示和线索一般都可使问题得到解决。

1.2 VHDL语言

VHDL语言是较为广泛使用的一种EDA设计语言。它包括系统行为级、寄存器传输级和逻辑门级3个描述层次,并支持结构描述、数据流描述、行为描述和这3种描述的混合描述形式。VHDL几乎覆盖了以往各种硬件描述语言的功能,在电路设计的整个过程中(不论是自顶而下还是自底向上的设计方式)都可以用VHDL来完成。

VHDL具有以下优点:

(1)将设计人员的工作重心提高到系统功能的实现和调试,减少了用于物理实现的精力和时间。

(2)用简洁明确的代码描述来进行复杂的控制逻辑设计,灵活方便,便于设计结果的交流、保存和重用。

(3)不依赖于特定的器件,便于将设计映射到不同的工艺器件上去。

(4)VHDL是一种标准语言,众多的EDA厂商均支持,移植性好。

1.3 “概念驱动式”设计

由于VHDL语言使设计人员摆脱了电路细节的束缚,使他们可以把精力集中于创造性的方案与概念的构思上,因此新的构思理念可以迅速有效地成为产品,大大缩短了产品的研制周期。另外,由于“概念驱动式”的高层次设计只定义系统的行为特性,不涉及实现工艺,因此在高层次设计完成后,必须在厂家综合库的支持下,利用综合优化工具将高层次的描述转化成对具体工艺的优化网表,实现工艺转化。

EDA设计可分为一般规模设计和大型规模设计两类。两者的设计步骤基本相同,不同点在于:在某些设计步骤上大型规模设计增加了一些相应的测试与仿真。

“概念驱动式”设计的总体步骤如下:

(1)按照“自顶而下”的设计方法进行系统划分。

(2)输入VHDL代码或图形。代码输入的优点是可以按照设计者的构思生成新的功能器件。

(3)对设计输入进行编译、综合、优化处理及仿真,生成门级描述的网表文件。对于大型规模电路的设计,要进行代码级的功能仿真,主要用于检验系统功能设计的正确性。因为大型设计在综合、适配时要花费数小时的时间,因此在综合、适配前对源代码进行仿真,可大大减少返回修改的重复次数和时间。一般规模电路的设计,可略去代码级的功能仿真这一步。

综合优化是针对ASIC芯片供应商的某一产品进行的,因此综合的过程要在相应的厂家综合库支持下完成。编译、综合、优化处理是将VHDL代码的概念描述转化为硬件电路,实现以格式化形式描述电路的结构。综合后,可利用生产的网表文件进行适配前的时序仿真,仿真过程不涉及具体器件的特性。endprint

(4)利用适配器件将综合后的网表文件针对某一具体的目标器件进行逻辑映射,包括底层器件配置、逻辑分割、逻辑优化、布局布线。适配完成后,产生多项设计结果:适配报告(包括芯片内部资源利用情况),设计的布尔方程描述,适配后的仿真模型,器件编程文件。根据适配后的仿真模型,可以进行适配后的时序仿真。由于已经得到器件的实际硬件特性(如延时特性),因此仿真结果能比较精确地预期未来芯片的实际性能。如果仿真结果达不到设计要求,就需要修改VHDL源代码或选择不同速度品质的器件,直至满足设计要求为止。

(5)将编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA中。

2、EDA实验项目设计及其类型

EDA的实验项目很多,应用范围很广。对于教学实验来说,可分为3类:验证型实验、综合型实验和创新开发型实验。验证型实验为基础实验,电路较简单,一般为必做实验;综合型实验的电路功能较复杂,主要针对学习与实践动手能力较好的学生开设,一般为选做实验;创新开发型实验为专项研究型实验,内容具有一定的难度和创新性,用于针对参加专项竞赛和具备较高发展潜力的学生进行训练。

下面列出各类型实验中的项目:

(1)验证型实验:

①计数器及移位寄存器实验;

②发光二极管点阵显示器实验;

③交通灯自动控制器实验;

④功率放大器;

⑤时钟控制器实验;

⑥多功能数字钟实验。

(2)综合型实验:

①量程自动转换型数字式频率计;

②电子琴;

③音乐喷泉设计;

④MP3播放器;

⑤数字滤波器设计及实现;

⑥DDS直接数字合成任意波形发生器;

⑦智能家居电器;

⑧烟雾、温度、位置限定等各种报警器;

⑨程控电源;

⑩虚拟逻辑分析仪;

[11]电梯控制电路;

[12]汽车状态记录仪。

(3)创新开发型实验:

①电脑无线通信;

②无线电数据收发器;

③模拟乒乓球比赛游戏电路实验;

④低频对讲机;

⑤精密数控电源及函数发生器;

⑥数字式信号调制发射器;

⑦利用PC机打印接口的频率计;

⑧语音识别与控制;

⑨大厅人数感知器;

⑩运载机器人的语音控制系统;

[11]变速风扇控制器;

[12]距离传感显示器的数据采集时钟电路;

[13]无线电遥控系统。

对于EDA实验,学生可先在自己的计算机上做好波形仿真,再到实验室进行下载验证。这是EDA实验简易、方便和灵活的优越之处。

下载芯片的选用一般有FPGA与CPLD两种,前者具有运行速度极快的优点,但断电即丢失所下载的系统;后者具有断电不丢失定制的优点。

3、EDA实验室的软硬件系统及配置

EDA实验室应由一整套硬件设施及EDA软件环境构成。最基础的硬件配置是计算机、实验箱及网络平台。计算机达到中高档配置的要求即可,配置的高低只影响EDA工具的运行速度与设计的仿真速度,对效果无直接影响。实验箱可采用不同的第三方供应商产品,包括国内产商和国外产商。

软件配置一般用QuartusⅡ软件工具及相关配套组件。测试分析仪器包括频率信号发生器、逻辑笔、数字万用表、示波器与逻辑分析仪。CPLD/FPGA下载板用于将设计的电路下载到板上,完成芯片制造。

在QuartusⅡ上进行设计输入、软件仿真、引脚定位后,与CPLD/FPGA组合就可以下载到Ic芯片上,接着用逻辑分析仪对硬件电路进行时序测试。

4、EDA技术在嵌入式产品设计中的作用与意义

为使设计者方便地为用户设计出不同档次、不同功能需求的产品,满足用户在灵活和个性化上的要求,现代的专用集成电路(ASIC)产品一般都包含了32-bit处理器、类似ROM、RAM、EEPROM、Flash的存储单元和其他功能模块。这些ASIC芯片(常被称为片上系统SoC)与具有现场可编程功能的门阵列FPGA相结合,可使产品达到更高程度的自适应和智能可编程能力。ASIC提供产品的核心功能及软硬框架,包括IP核心、Flash存储单元中的程序模块和I/O单元;FPGA提供现场可编程的扩展功能空间,与ASIC组合实现产品的最优、易用、低成本、多功能集成等。

ASIC的优点在于专用、量身定制和执行速度较快;FPGA的优点是可编程、灵活和个性化。若每次的产品更新换代都用FPGA设计完成,则会使成本增高,因此只能在小批量产品的设计中使用。若是大规模生产的产品,应采用ASIC设计,制造出专用集成电路芯片并批量生产,使成本降低。

在实际应用中,将ASIC设计与FPGA设计相结合,采用“芯片级”嵌入设计思路,把可编程逻辑器件FPGA嵌入ASIC的标准单元和逻辑模块中,搭配出不同层次和价位的EDA嵌入式产品,满足用户在不同应用领域、不同计算类型中对新型芯片产品的需求。

5、基于网络的现g:EDA实验技术

随着网络应用的不断发展,基于网络平台的EDA实验技术已在EDA教学中得到应用。它改变了传统的实验教学模式,带来了新的生机和活力。在EDA网络平台上可提供实验演示、远端存储、资源共享和互动式教学等内容。

基于Internet的实验平台能够满足网络大学和分布式教学模式中的实验教学需求。多客户一多服务器的系统工作模式实现设备的分时共享,能够有效地节约投资。基于Internet的实验平台是一个开放的系统,它可以支持不同公司、不同型号的FPGA/CPLD设计实验。现代EDA实验室也将是开放的实验室,不受时间、地理位置限制的实验室,不限制设计思路、有利于创新人才培养的实验室。

从长远角度来看,EDA网络平台应在以下几方面做进一步扩充与改进。

(1)资源共享方式的多样化。现在的EDA网络实验平台一般都是局限于某些特定的用户,如拥有实验平台的高校自身及其同盟的高校。这些各自独立运行的平台在功能上存在不同的优缺点,不能实现优势互补,并造成一定程度的重复劳动和浪费。因此应建立功能全面、元件库齐备、电路参数正确性、校验性能强的统一、综合、标准的网络虚拟实验平台。只要用户下载安装客户端并申请注册,就可共享基于网络的数字化实验环境,从数字化实验室管理界面进入不同的实验室空间,进行不同的训练内容或课题,完成在线设计、在线仿真和控制、上传文件至服务器、与其他用户的在线交流等内容。

(2)更强的互动性和信息化管理措施。在基于Internet的实验平台上,学生应能够通过网络将设计结果下载到远程实验室中的FPGA/CPLD芯片上,并借助于远程测试系统,完成实验结果的验证、分析,同时也达到了实验设备共享的目的。在远程实验中运用数字电路测试技术,使虚拟仿真的结果变成真实电路的效果。通过网络实验平台,教师应具备更强的管理能力,例如,在网上批阅学生提交的作业,查询学生向本课程所提的问题,实时地解释并通过网络将答案发送给学生等。学生对课程内容若有疑问或不理解,通过实验网络向教师询问,学生询问的问题存放在后台的数据库中,以备教师查看和使用。在交流的同时教师从网上掌握学生的学习状况,并对学生进行考核。对注册用户进行水平测试,以便指导注册用户的学习,如帮助学员安排学习计划等,对学员学习效果做出评估。考核系统由试题库、注册系统、试题生成模块、考卷批阅系统、成绩查询系统、学习计划自动生成系统等构成。

6、结语

本文对EDA实验教学及实验室系统配置进行了探讨,对不同实验环境进行了分析与阐述。对于基于网络的EDA实验平台提出了相应的进一步改进措施,以使EDA设计功能更强、数字逻辑电路功能的仿真精确度更高、电路参数的实际正确性更好。

EDA是一门新兴的计算机辅助数字电路设计技术,其应用前景广阔。在很多数字电路设计中都能得到应用,使产品的设计周期和制造周期大大缩短,且成本更低。因此对EDA技术的深入研究是必要的,且很多内容,尤其应对其在新产品设计的适用范围上作进一步研究。endprint

猜你喜欢

实验教学
LabVIEW下的模拟电路实验教学创新对策
基于科学探究的高中生物实验教学探索
网络与云技术在实验教学中的应用
浪漫的材料
以人为本:初中物理科学探究素养在实验教学中的落实
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学
以人为本:初中物理科学探究素养在实验教学中的落实
初中化学实验教学中“微课”教学模式的探讨
谈初中化学实验教学的初探