EDA新实验模式的研究与设计
2014-02-09李琳琳任家富吴建平周四春陈光柱
李琳琳, 任家富, 吴建平, 周四春, 陈光柱
(成都理工大学 核技术与自动化工程学院,四川 成都 610059)
0 引 言
随着EDA技术的迅速发展,社会对电子电气类学生的EDA设计水平提出了更高要求[1-3],多学科交叉的、具有一定难度的、综合性EDA实验项目的开展[4],对于提升学生的设计水平具有重要意义[5-6]。要提升EDA实验教学质量,除了从硬件建设上花大力气加大实验室资金投入之外,如何利用已有实验室条件另辟蹊径,改革EDA实验模式,成为提升实验教学质量和学生创新能力的难点问题。
1 EDA实验教学的现状
目前EDA实验课程主要是基于EDA实验箱和EDA集成开发软件(Quartus II或ISE)及仿真软件(ModelSim)[7-8],通过实验箱搭建外围电路,在集成开发软件的环境中进行编程、编译和下载[9],可以满足EDA实验课程的基本的验证性和设计性实验[10]。另外,ModelSim仿真软件在EDA的实验课程中也有所涉及,主要用于弥补EDA实验硬件平台型号的单一性[11],完成与平台无关的HDL语言仿真,在实验过程中,学生主要通过仿真软件进行简单的内部逻辑及时序电路的调试。然而,在进行较大规模的设计中,尤其是在涉及到算法设计和验证时,目前的实验手段无法直接提供参考模型与实际运行结果进行对比分析,需要另外编写复杂的验证代码或者更高级的检测分析设备支撑结果的验证过程[12]。在通常的EDA实验室配备条件下,学生难以在实验课中快速的对功能设计的正确性进行直观的判断。这无疑会影响此类拓展性实验的开展,也势必会制约学生创新性思维的发展。
由此可见,目前“EDA实验箱+集成开发软件(Quartus II或ISE)+仿真工具(ModelSim)”的实验模式缺少对复杂实验结果正确性的验证步骤和方法,与生产实践中的EDA设计及验证流程脱节,已明显落后于学生提高EDA设计水平的要求。
Matlab作为一种强大的数学软件,在算法开发、组件建模、可视化分析、联合编程等方面优势明显,在近年来的软件发展上,它提供了更广泛的与各行业专业软件无缝接口的联合仿真途径[13],将其新版本与EDA相关软件的交互功能灵活应用于EDA实验教学,必将成为改革和创新实验教学手段、提升实验教学效果的利器。
2 基于Matlab的EDA实验新模式设计
基于Matlab的EDA实验新模式在保留原有的设计步骤的基础上,增加了Matlab与ModelSim联合仿真验证环节,充分利用Matlab的数据分析和可视化的强大优势,将EDA设计输出的结果与参考模型进行比对分析,从而使EDA综合性实验形成了完整的设计、验证、再设计的闭环过程,更贴近实际应用需求。
2.1 联合仿真实验的技术方案
新版本Matlab/Simulink仿真工具中,提供了EDA Simulator Link接口扩展模块,它是与EDA硬件设计无缝连结的联合仿真模块[14]。通过EDA Simulator Link可以实现Matlab与ModelSim之间的快速、双向的联合仿真。这种联合仿真方法可以支持内存共享和TCP/IP通信两种方式,实现单台或多台计算机间,甚至是跨网络的联合仿真。
联合仿真实验的技术方案以培养学生的创新思维为主旨,以完成EDA设计的功能验证为目的,为实现Matlab/Simulink与ModelSim仿真器之间的联合仿真设计了以下三种模式[15],分别见图1~3。
2.1.1Matlab作验证测试平台
HDL模块作为组件,其仿真流程如下:
图1 Matlab作验证测试平台
图2 HDL作验证测试平台,Matlab M函数作为组件
图3 Simulink作验证测试平台[16]
(1) 启动Matlab,用hdldaemon命令开启通信方式;
(2) 在Matlab中编写验证平台函数(如:modsimrand_plot);
(3) 启动ModelSim,编译HDL代码,用vsimmatlab加载HDL实例(如:vsimmatlab work. modsimrand);
(4) 在ModelSim中调用EDA Simulator Link命令matlabtb,初始化ModelSim中HDL实例与Matlab中M函数的链接。如:matlabtb modsimrand-mfunc modsimrand_plot-rising /modsimrand/clk;
(5) 在ModelSim中运行run命令,启动仿真;
(6) 在Matlab中对HDL模块的输出进行分析对比,结束仿真。
2.1.2HDL作验证测试平台
Matlab M文件(函数)作为组件,替代还没未完成的HDL模块或作为HDL模块的参考模型,如图2所示。此模式下的仿真流程与上一种模式的仿真流程相似,只是步骤(4)用matlabcp初始化ModelSim与Matlab的链接。如:matlabcp osc_top.u_osc_filter-mfunc oscfilter。
2.1.3Simulink作验证测试平台
HDL模块通过Cosimulation模块集成到Simulink测试验证平台中,图3所示仿真流程如下:
(1) 启动ModelSim,编译HDL代码;
(2) 在ModelSim中用vsimulink命令加载HDL实例。如:vsimulink work.manchester;
(3) 启动Matlab,搭建Simulink的验证平台,通过Simulink模型库中的Cosimulation模块,设置与HDL模块的映射关系,相当于将待验证的HDL模块在Simulink验证平台中实例化;
(4) 在Simulink中启动仿真,对HDL模块的输出进行显示、分析及对比,结束仿真。
2.2 新模式扩充的实验项目
EDA新实验模式引入了Matlab分析工具,可支撑大量的与数据处理和算法实现相关的EDA实验,具有一定代表性的综合性实验项目如表1所示。从表中实验项目不难看出,新实验模式把信号与系统、数字信号处理、通信原理、电机学、自动控制原理等多门课程中的代表性知识点纳入进来,实验课的综合性水平实现了质的飞跃。
表1 新增综合性实验项目
2.3 新模式下的实验教学过程设计
与传统的EDA实验过程不同,新模式下由于实验难度有所提升,因此其实验过程显得更贴近于实际生产的设计过程:
(1) 学生要对不同的实验题目做需求分析,明确其中的EDA设计及验证中所涉及的核心问题及其解决思路;
(2) 编写HDL模块;
(3) 设计验证方式(上述的三种Modelsim与Matlab的联合仿真接口方式);
(4) 搭建联合仿真平台,编写验证代码,进行联合仿真验证。发现设计中存在的问题,并返回步骤(2)进行修改,然后重新验证;
(5) 在硬件电路中的实现与验证;
(6) 完成整体设计,撰写实验设计报告
3 结 语
基于Matlab的EDA实验新模式紧跟学科领域内的软件发展前沿,将Matlab的新功能用于完善EDA实验流程,实现了一个包含了完整EDA设计流程的实验新模式,在不增加实验室硬件投入的前提下,扩充了EDA综合性实验教学的内容。实践证明,新的实验模式使学生在实验课程中便可直观快速的检验复杂的设计结果,为创新性的设计和实验提供了平台,提升了实验教学的品质,具有重要的推广价值。
[1] 井新宇.电子设计自动化技术教学改革的研究与实践——“七阶段”教学法的应用与推广[J].实验室研究与探索,2010,29(12):202-205.
JING Xin-yu.Research and Practice of EDA Technology Teaching Innovation——Promotion and Application of "Seven Stages" Teaching Method[J]. Research and Exploration in Laboratory, 2010,29(12):202-205.
[2] 洪 澜,蔡修奋,陈 敏.开放式电子实验与 EDA 技术结合的探索[J].实验室研究与探索,2011,30(8):307-308.
HONG Lan,CAI Xiu-fen,CHEN Min.EDA Technology in Open Electronic Experiment[J].Research and Exploration in Laboratory,2011,30(8):307-308.
[3] 高圣伟,刘雪莉,罗 菁.加强EDA实践教学初探[J].实验室研究与探索,2011(3):369-371.
GAO Sheng-wei,LIU Xue-li,LUO Jing.Preliminary Study on Strengthening the EDA Practice Teaching[J]. Research and Exploration in Laboratory, 2011(3):369-371.
[4] 徐彦凯,双 凯,姜 珊.EDA课程设计课题的开发和体会[J].实验室研究与探索,2011,30(2):114-116.
XU Yan-kai,SHUANG Kai,JIANG Shan .Exploitation and Experience for Curriculum Design of EDA[J].Research and Exploration in Laboratory,2011,30(2):114-116.
[5] 尹廷辉,徐志军.提高EDA实验教学质量的实践与探索[J].电气电子教学学报,2003(2):76-77,80.
YIN Ting-hui,XU Zhi-jun.Practice and Exploration on EDA Experiment Teaching[J]. Journal of Electrical & Electronic Engineering Education,2003(2):76-77+80.
[6] 赵海龙,王金玉,付光杰.合理利用EDA实验教学提高学生创新能力[J].价值工程,2013(12):1-2.
ZHAO Hai-long,WANG Jin-yu,FU Guang-jie.To Improve Students’ Innovation Ability with Rational Use of EDA Experimental Teaching[J].Value Engineering, 2013(12):1-2.
[7] 周泽华,谭 敏.EDA实验教学综述[J].科技视界,2012(3):20-21.
ZHOU Ze-hua,TAN Min.Survey of EDA Experimental Teaching[J].Science & Technology Vision, 2012(3):20-21.
[8] 秦磊华,王小兰,管 军.EDA仿真在组成原理设计性实验中的应用[J].实验室研究与探索,2009(4):79-82.
QIN Lei-hua,WANG Xiao-lan,GUAN Jun.Application of EDA Simulation in Designing Experiments of Computer Organization[J].Research and Exploration in Laboratory, 2009(4):79-82.
[9] 夏宇闻,胡燕祥,刁岚松,等.Verilog HDL数字设计与综合[M].2版.北京:电子工业出版社,2007.
[10] 林连冬.EDA技术开放实验室研究型实验的教学探索[J].实验室研究与探索,2013,32(5):216-218.
LIN Lian-dong.Teaching Exploration and Practice in the Open Laboratory of EDA Technology[J].Research and Exploration in Laboratory, 2013,32(5):216-218.
[11] 黄卫华,贾历程.基于FPGA的EDA实验系统改革与实践[J].实验室研究与探索,2012,31(4):203-206.
HUANG Wei-hua,JIA Li-cheng.Practice and Reform of EDA Experiment System Based on FPGA[J].Research and Exploration in Laboratory, 2012,31(4):203-206.
[12] 仲婷婷,王长松,周晓敏,等.基于FPGA的卡尔曼滤波器的设计与实现[J].电子技术应用,2008(8):20-23,26.
ZHONG Ting-ting,WANG Chang-song,ZHOU Xiao-min,etal.Design and Implemention of Kalman Filter Based on FPGA[J].Application of Electronic Technique, 2008(8):20-23,26.
[13] 张 亮,郭仕剑.MATLAB7.X系统建模与仿真[M].北京:人民邮电出版社,2006.
[14] 高 峰,周永川.MATLAB中多EDA软件实现数字系统设计[J].无线电通信技术,2010(3):31-33.
GAO Feng,ZHOU Yong-chuan.Implementation of Digital System Design by Multiple EDA Software Programs in MATLAB[J].Radio Communications Technology, 2010(3):31-33.
[15] EDA Simulator Link User’s Guide 2011b[Z]. The MathWorks, Inc.2011.
[16] 李琳琳,秦 敏.音频异步采样率转换IP的设计及联合仿真[J].电子技术应用,2013(6):121-123.
Li Lin-lin,Qin Min.The Design and Co-simulation of Audio Asynchronous Sample Rate Conversion IP[J].Application of Electronic Technique,2013(6):121-123.