基于虚拟技术的EDA实验平台设计*
2012-08-10杨贤军
杨贤军
(柳州职业技术学院,广西 柳州 545006)
0 引言
EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现极大地提高了电路设计的效率,减轻了设计者的劳动强度。EDA实验平台硬件环境往往比较复杂,因此在实际的教学过程中,很多院校都纷纷采用了基于虚拟化技术来构建EDA实验平台。国内有关基于虚拟技术构建 EDA平台的相关研究也有很多,比较有代表性的有:南京航空航天大学肖铁军,韩晓茹,张焕春的《基于Internet的虚拟 EDA实验系统》介绍了一个基于Internet的虚拟EDA实验系统,采用虚拟化技术实现了数字电路的远程测试;洛阳工业高等专科学校黄慧敏,江姝妍的《虚拟仪器在电子实验教学中的应用》系统地介绍了虚拟仪器技术的概念及其发展,以及EDA在电子类辅助教学和实验中应用的探讨;扬州职业大学的《基于EDA技术的电类课程辅助实验》研究了应用EDA技术的EWB软件进行电类课程的辅助实验 ,并对使用软件开展实验的特点进行了分析[1-2]。
从目前的研究来看,基于虚拟技术的EDA平台在设计时往往只考虑到 EDA平台所需要提供的实验环境,所构建的 EDA实验平台也更多的是围绕EDA实验过程中所提出的各种实验要求来进行设计和构造。然而在构造虚拟化的EDA实验平台时,过多的强调 EDA所具备的实验功能模块而忽略了EDA实验平台最终是作为一个教学辅助环境的目的,从而导致目前所设计的虚拟化EDA实验平台虽然功能往往比较完善或者强大[3],却不能很好地辅助学生开展相关的 EDA实验操作,本文针对目前EDA实验平台设计过程中存在的问题,从EDA实验平台所要具备的教学辅助功能入手,设计了一种新型的基于虚拟技术的EDA实验平台[4]。
1 虚拟EDA平台的组成
本文设计的虚拟EDA实验平台既需要提供EDA实验的相关功能模块,同时还要能够对EDA实验过程提供辅助帮助,对用户使用该平台开展EDA实验过程进行及时监测,及时发现用户在使用EDA使用过程中所出现的各种问题,并给与相应提示性的指导操作,提高用户使用EDA实验平台的效果。因此本文设计的EDA实验平台组成结构如图1所示。
图1 虚拟EDA平台的组成
从图1可以看出,本文设计的EDA实验平台主要由三大部分组成。部分一是虚拟EDA实验平台的工程库,部分二是虚拟EDA实验平台的可视化操作界面,部分三位虚拟 EDA实验平台的过程监测部分。其中,工程库是虚拟EDA实验平台的基础模块,在工程库中存储了 EDA实验的原理图设计模块,EDA实验中的电器规则应用模块、EDA实验的布线规则模块和EDA实验中的方针模块,应用这些功能模块可以为用户开展 EDA相关实验提供丰富全面的实验条件,让用户能够快速有针对性的开展EDA相关功能模块的实验。可视化界面模块将为用户提供EDA实验的各种操作环境和操作界面,应用本文设计的虚拟EDA实验平台,目的就是为用户提供一个在真实EDA实验平台操作相类似的实验环境,使得用户通过本文所设计的相关 EDA实验平台开展相关EDA实验能够达到与真实的EDA实验环境操作相等价的实验效果,因此在EDA实验平台的可视化操作界面中,需要为用户提供与真实的EDA实验完全一致的操作界面,使得用户在本文设计的EDA实验操作界面中进行各种EDA实验操作过程、操作步骤以及看到的通信化界面及操作结果与实际的EDA环境是相一致的。过程监测部分则完全是为保证本文设计的虚拟 EDA实验平台能够更好的辅助拥护开展EDA相关实验所设计的一个功能模块,在该功能模块中能够自动的对 EDA实验平台中工程库预先存储的各种 EDA实验内容进行分析,形成EDA实验过程监测的参考数据[5-6]。
当用户从 EDA实验平台的工程库选取了某个实验内容作为当前EDA的实验内容,则过程监测模块将会自动的分析用户所选取的实验模块操作内容以及操作过程,根据用户所需要完成的实验操作步骤,自动的形成对用户实验操作步骤的检测流程,对用户进行 EDA实验操作过程的所有关键节点建立检测标准和参考数据。当用户应本文设计的虚拟EDA实验平台开展预先选定的EDA实验内容时,系统的监测模块自动将用户所进行的 EDA操作以及所得到的EDA实验结果与预先产生的EDA实验参照数据进行对比。如果对比的数据一致或者在运行的误差范围之内,则判定当前用户是按照预先设计的EDA实验步骤开展EDA实验,这将表明用户所进行的EDA实验步骤和实验过程是正确的。如果用户得到的实验结果与参考数据相差很大,或者用户完全没有得到EDA实验的相关结果,则本文设计的 EDA实验监测模块将根据预先设计的检查点和检查参考数据对用户所进行的 EDA实验操作进行提示,告知用户当前的操作离预先设计的正确操作存在差距,引导用户按正确的方法和步骤来开展相关的EDA实验[7-8]。
在构建虚拟EDA实验平台过程中,平台中的工程库模块和实验过程监测模块是关键模块,也是本文设计的EDA实验平台中的特色部分,为此本文将围绕这两个部分的详细实现进行分析和设计。
2 EDA实验功能模块的设计
根据本文设计的虚拟 EDA实验平台的组成结构,在EDA实验平台的设计过程中,本文提出了如图2 所示的EDA实验功能模块的组成结构。本文设计的EDA实验功能模块主要是针对EDA设计过程中的以下实验内容进行设计:电路原理图设计、电路电器规则检测、电路布局布线设计和电路仿真模拟分析设计等。
图2 EDA实验功能模块的组成
围绕本实验平台需要开展的这些实验功能,本文在设计过程中首先在实验平台的工程库中设计了相应的四个不同类别的信息库,比如在原理图设计模块中,将针对一些常用的逻辑功能电路预先存储了多种实现原理图,而且即便是同一个逻辑功能的实现也存储了多个基于不同硬件芯片的电路设计原理图,也有以不同的设计角度或者设计方法所实现的电路设计原理图,当用户进行EDA原理图设计实验时,将可以从EDA实验平台的工程库中调取出预先存储的设计原理图,使用户能够将预先存储的设计原理图与其自身设计的原理图进行对比分析,发现EDA原理图设计过程中存在的种种问题,而且当用户需要设计逻辑功能比较复杂的硬件电路时[9],对于复杂硬件电路中的某些独立的功能子模块的设计则完全可以调用EDA实验平台中所提供的标准原理图模块,这将大大降低用户进行复杂EDA实验时所付出的工作量,而且也有助于用户将更多的精力放在需要考虑 EDA设计的其他问题,避免用户花费大量的时间在一些相对简单的重复的EDA设计工作中,从而确保用户利用本文设计的EDA实验平台能够从事一些较为复杂的EDA实验任务的开发与设计。
采取类似的方式,在EDA设计的工程库中,所对应的电路电器规则检测、电路布局布线功能模块和模拟仿真功能模块都设置了不同的实验方案和实现策略。用户既可以在设计过程中调出系统预先存储的标准解决方案,与其自行设计的实现方案进行对比,判断两种方案的优劣,同时也可以在用户进行一些较为复杂的EDA实验开发过程中,直接调用系统提供的某些标准功能模块,降低用户的开发难度。
本文设计的虚拟EDA实验平台在构建了EDA实验工程库后将采用虚拟化技术通过构建虚拟机及运行虚拟的EDA开发工具,使得用户能够获得与真实的EDA操作环境完全一致的模拟操作环境,在模拟操作环境中将为用户提供 EDA实验所需要的所有实验环节的模拟,确保用户在本文设计的EDA实验平台中能够进行和真实的 EDA实验过程完全一致的实验操作。
3 EDA实验的过程监测
对 EDA实验过程进行监测是本文设计的虚拟EDA实验平台所具备的一个特殊功能,利用该功能可以正确的开展EDA相关实验。本文设计的EDA实验过程监测模块的实现原理如图 3所示。从图 3可以看出当用户从 EDA实验平台的工程库中选取了实验内容和相关的实验对象时,系统将自动的生成对应该实验内容的标准操作方法和操作步骤,并给出各个步骤操作之后的参考数值。这一数据的生成过程是通过对 EDA平台中的所有任务进行科学的划分之后形成的。之后,应用本文设计的EDA实验过程监测模块对用户进行的 EDA实验操作过程的关键数据抽取用户操作的特征信息,建立一个与EDA实验平台设置的对比参考节点相一致的用户操作节点。然后将对比参考节点中的所有数值与对应的用户操作节点中的数值进行比较,如果数据一致,则认为用户是按照预先设置的操作步骤开展相关实验,否则就对用户的操作过程进行预警提示,同时给出用户进行正确操作的引导步骤,因此,利用本文设计的这一过程监测模块可以有效地对用户实验过程进行监测和正确引导,提高用户使用EDA实验平台的实际效率[10]。
图3 用户EDA实验过程监测
4 结语
本文设计了基于虚拟机的EDA实验平台,通过虚拟机技术能够为用户提供功能强大模拟仿真程度高的EDA实验平台,同时本文设计的EDA实验平台中增加了对EDA实验的过程监测功能,有效的对用户开展 EDA实验的中间过程及所得到的中间结果及时监测,引导用户按照正确的方法和步骤开展EDA实验,大幅提高了EDA实验平台的综合利用效果,在实际应用中收效明显。
[1] 孙旭,谢兴红,林凡强,等.单片机、DSP、EDA的综合实验系统的设计[J].实验科学与技术,2008,6(06):55-57.
[2] 张晓燕,李洋.EDA技术在实践教学体系中应用的探索和实践[J].实验室研究与探索,2008,27(12):48-49.
[3] 杨敏.改进实验加强 EDA教学[J].实验室研究与探索,2008,27(02):110-112.
[4] 孔栋,郑建宏.嵌入式TCPIP协议栈LWIP在ARM平台上的移植与应用[J].通信技术,2008,41(06):38-40.
[5] 肖铁军,韩晓茹,张焕春. 基于Internet的虚拟EDA实验系统[J].电子测量与仪器学报,2005,19(14):56-60.
[6] 黄慧敏,江姝妍.虚拟仪器在电子实验教学中的应用[J].实验室科学,2006(03):69-70.
[7] 王鹏,曹秀英.基于嵌入式系统的无线接入点硬件平台的设计与实现[J].信息安全与通信保密,2004(12):45-47.
[8] 杨永,万晓榆,樊自甫.基于ARM9嵌入式网管系统的设计与实现[J].通信技术,2008,41(03):68-70.
[9] 段晓华.密码学虚拟实验室的设计与实现[J].现代电子技术,2007,30(03):178-180.
[10] 刘地军,钟宏.基于 ARM架构的视频服务器设计[J].信息安全与通信保密,2010(12):76-77,80.