在线逻辑分析仪在电子设计自动化实验中的应用

时间:2022-09-29 01:17:47

在线逻辑分析仪在电子设计自动化实验中的应用

摘要:本文针对信息与通信工程专业中的电子设计自动化课程,阐述了该类课程实践教学的必要性,并针对传统实验中时常存在的仿真与实现不一致问题,研究利用在线逻辑分析仪辅助该类课程的教学和实验。结合采用比较教学法和陷阱教学法进行实验设计,针对数字系统中的毛刺问题,通过设计组合逻辑实验和时序逻辑实验,指导学生认识在线逻辑分析仪的重要作用,并提高学生对于可编程逻辑器件时序设计的理解。目的是培养学生具备自主学习、研究创新、以及解决通信及信号处理中相关工程问题的能力。

关键词:可编程逻辑器件 在线逻辑分析仪 教学实验设置

中图分类号:G642.41 文献标识码:C DOI:10.3969/j.issn.1672-8181.2013.15.025

1 引言

随着电子设计自动化(EDA)技术的不断发展,传统基于固定芯片和固定连线的嵌入式开发设计方法逐渐淘汰,基于可编程逻辑器件的芯片设计与实现方案被广泛采用。各高校信息与通信工程本科专业一般都开设相关选修课[1],如《FPGA系统及应用》,《可编程逻辑器件设计》,《软件无线电》等。这些课程中都涉及FPGA(现场可编程门阵列)这一核心芯片的设计与实现,为了辅助教学内容,本类课程的讲授一般采取课程教学和实验教学相结合的方式,课程教学和实验教学的学时安排一般是2:1,或者更高达到1:1[2]。该类课程的主要特点就是重实践,因此课程和实验设置需要注重对于学生动手能力的培养[3]。

可编程逻辑器件的实验设计通常以模块化开发为主,指导学生采用EDA设计思想,进行可编程器件的设计编程与仿真验证,实验教学可以辅助课堂教学取得良好的效果[4]。然而,在目前的可编程逻辑器件实验设计中也存在一些问题,同学们经常会遇到仿真分析和实际系统工作不一致的情况,导致实验无法继续,同学也不知如何处理。引起这类问题的原因其实有很多种,包括硬件问题、设计时序问题等等。传统解决这种问题的方法是指导学生将一些关键信号的管脚引出,用示波器进行逻辑分析。但这种分析方法存在两个问题,一方面是所需要观察的信号往往较多,一般的示波器通道数有限,不能够很好分析多路信号的逻辑关系,另一方面是一般的实验开发板也并不能把多个管脚全部引出并设置观测点。随着可编程逻辑器件技术的不断发展,无论是Xillinx公司生产的芯片还是Altera公司生产的芯片,一般都提供在线逻辑分析仪功能,其基本原理是通过消耗一定的硬件资源(一般是RAM资源),来达到实时在线的数据逻辑分析。从而可以有效提高同学们的实验验证效率,并启发指导学生独立进行系统验证、故障排除,有助于学生掌握解决相关专业工程技术问题的技能,培养学生具有良好的创新实践能力和动手能力。

2 在线逻辑分析仪功能分析

在线逻辑分析仪的主要功能是在上板在线测试过程中采集并观察芯片内部信号,以便于进行时序及逻辑正确性验证[5]。主要工作原理是通过在综合后网表里插入用于采集数据的IP核(包括ILA、ICON),然后选择需要观测的信号量、用于触发采样的触发信号、以及采样时钟,然后运行产生一个新的网表文件重新布局布线并生成可在芯片中运行的二进制文件。其功能实现流程如图1所示:

图1 在线逻辑分析仪功能实现流程

在芯片运行过程中,如果满足触发条件,则芯片里面的逻辑分析仪IP核会自动将所需观测的信号量采集并存储在芯片内的RAM中,并将采集结果通过JTAG传输至PC机的监控界面上进行显示,显示方式也可以灵活配置,既可以选择二进制形式按位输出,或者将其中任意信号绑定为一组总线信号,进行波形显示,这个过程就像操作一个真实的逻辑分析仪一样。基于在线逻辑分析仪的开发测试如图2所示:

图2 基于在线逻辑分析仪的开发测试图

如上所述,在线逻辑分析仪可以摒弃传统昂贵的逻辑分析仪在线实时地进行时序调试。通过设置,可以有选择地观察可编程逻辑器件内部的任何信号,并可灵活设置触发条件(如时钟上升沿、下降沿、自定义的触发信号及信号的逻辑组合)、数据宽度和深度等,这些设置与资源的消耗是相关的。

在线逻辑分析仪的引入也带来一些问题,首先,编译时间被延长得很长。每次编译过程中,都会根据你添加的逻辑分析仪工程文件重新生成一次网表,再重新编译整个工程,那么编译时间就不可避免地被延长了。另一方面,由于在线逻辑分析仪本身是需要占用可编程逻辑器件资源的,如需要观察更多的数据宽度和深度,则占用可编程逻辑器件资源较多,同时资源的消耗也会带来时序方面的影响,就像测不准原理一样,测量过程的引入会导致对原系统一定程度的改变,但只要综合考虑待测系统与在线逻辑分析仪的资源消耗以及进行合理的时序设计,这些问题是可以得到很好的控制的。

3 基于在线逻辑分析仪的实验设计

基于在线逻辑分析仪的实验编排既需要具有逻辑系统开发代表性,又需要符合本科生的实际能力和知识背景。

在线逻辑分析仪的选择取决于硬件平台的选择,由于Xilinx的开发环境功能较全,集成了软件开发、前仿真、后仿真以及在线调试工具,在课程实验设计中,我们选择Xilinx公司Viertex5系列的芯片,以及Chipscope作为在线逻辑分析仪。

为了体现在线逻辑分析仪的作用,实验设计中采用了比较教学法。设计对象为数字通信系统中经常出现的毛刺现象。这是在可编程逻辑器件设计中经常出现并困扰设计者的重要问题,这类错误往往较难发现,但却能导致较为严重的逻辑错误,降低整个数字系统的工作可靠性。

在可编程逻辑器件课程中的高级用法介绍时,一般都会介绍毛刺产生的原理。即这是由于信号在可编程逻辑器件的内部走线延迟和组合逻辑的不同步所导致的,在多路信号变化的瞬间,组合逻辑的输出常常产生一些小的尖峰,这是由可编程逻辑器件内部结构特性决定的,因此这类现象通常出现在多路组合逻辑中。

学生在学习这一概念时往往仅有理论认识,缺乏直观的理解。因此,在课程实验设计中分别采用组合逻辑和时序逻辑进行某个加法器的设计实现。并采用毛刺检测电路对毛刺进行捕捉并通过在线逻辑分析仪将各观察点上出现的毛刺检测出来并存储,并将其显示在屏幕上。这样在同一功能模块对应的不同实现方案所产生的在线逻辑分析仪输出结果并不相同,从而证明了时序逻辑可以显著避免组合逻辑中毛刺的产生,其可靠性要优于组合逻辑。

在实验设计中,还可结合采用陷阱教学法,即在模块的设计中故意引入组合逻辑中容易产生毛刺的错误写法,让学生采用在线逻辑分析仪自己发现错误,体会该类错误发生的原因,并进行相应纠正。从而使同学更深刻理解硬件描述语言的综合结果及在线逻辑分析仪调试的方法和作用,同时通过这种方法可以培养他们注意细节的良好习惯。

由于在线逻辑分析仪可以进行灵活的触发条件配置、采样时钟选择。因此,在基于在线逻辑分析仪的实验设计中还可结合不同设置条件进行逻辑分析仪验证。如为了能有效地捕捉数据流,可以设置多种不同的触发方式,如:基本触发、随机触发、延迟触发等。以及采用不同的采样时钟,并将观察结果输出至屏幕显示,分析比较不同设置对于毛刺的影响,加深对于在线逻辑分析仪的使用理解和对于毛刺产生机理的认识。

4 结论

本文研究阐述了信息与通信工程专业EDA课程教学和实验的特点现状,阐述了对于学生理解时序设计的重要性,并分析了在线逻辑分析仪在EDA设计开发中起到的重要作用。在此基础上,将在线可编程逻辑分析仪引入实验教学,结合采用比较教学法和陷阱教学法,提出了基于在线逻辑分析仪的课程实验设计。通过这类实验可以使同学们更深刻地理解硬件描述语言及可编程逻辑器件的时序设计。

参考文献:

[1]王桂珍.电子设计实践教学中硬件设计软件化初探[J].中国现代教育装备,2007,(12):78-80.

[2]于华楠,赵睿,邬春明,秦力.基于通信工程专业的EDA教学探讨与实践[J].东北电力大学学报,2011,31(5):195-197.

[3]胡永祥,杨伟丰,蒋鸿,刘丰年.应用型通信工程专业实践教学体系的构建[J].湖南工业大学学报,2011,25(3):105-108.

[4]鲍丽星.实验室开设可编程逻辑器件公共选修课的效果[J].实验室研究与探索,2009,(6):134-136.

[5]谭斌,姚旺生,付学志.基于FPGA的虚拟逻辑分析仪设计[J].工业控制计算机,2007,(11):15-20.

作者简介:徐湛,博士后,讲师,主要研究方向为无线通信,从事嵌入式系统原理与应用相关内容的教学和科研工作,北京信息科技大学信息与通信工程学院,北京 100085

上一篇:思想品德课“情境导行”教学模式的研究 下一篇:成绩分析系统的构建及其对高校理科基础课程教...