EDA中典型数字系统设计概述
2017-08-27郝超杰付振峰
郝超杰+付振峰
摘 要:随着科学技术的迅速发展,电子工业界经历了巨大的飞跃,当前数字系统的设计正朝着速度快、容量大、体积小和重量轻的方向发展。推动该潮流迅猛发展的引擎就是日趋进步和完善的ASIC技术。数字系统的设计可以直接面向用户的需求,根据系统的行为和功能要求,自顶向下地逐层完成相应的描述、综合、优化、模拟和验证,直到生成器件。所有设计过程除了系统行为和功能描述基本上都可以用计算机来自动完成,做到了电子设计自动化(EDA)。
关键词:电子工业;数字系统;自动化
目前,基于芯片级的设计、自顶向下设计和设计模拟成为数字电路系统设计的主要手段和方式。随着数字系统设计的要求越来越精密化和集成化,引入EDA技术无疑是电子技术未来发展的主要方向,EDA技术将简化电子数字系统设计流程,提高设计一次性成功率,缩短产品设计时间优化设计方案[1]。任何一项新技术和新工具的产生和发展,都有其自身的极大优越性,而这种优越性主要源自于新设计方法的引入。设计人员只有在掌握了这些新的设计方法后,才能够有效地利用这些新技术和新工具更好地为设计服务。
1 典型数字系统的设计流程
一般来说,数字系统的设计可以分为四个层次,它们分别是系统级设计、电路级设计、芯片设计和电路板设计[2]。而对应于数字系统设计的四个层次,可以把一个数字系统的设计分为以下几个步骤:系统设计、电路设计,芯片设计、PCB设计、电路调试、系统调试和结构设计。
系统设计,系统设计主要是对总体设计部门给出的设计任务以及设计的一些要求进行分析,目的是设计任务要求转换成明确的可实现的功能和技术指标要求,并且确定可行的技术方案。
电路设计,电路设计的主要任务是根据技术方案来确定数字系统所需要的算法和电路形式,在电路上描述数字系统的功能。
芯片设计,芯片设计是根据电路设计所确定的算法和电路形式,通过设计芯片内部的逻辑功能来实现这些算法和电路,即设计具有专门用途的集成电路芯片。
PCB设计,PCB设计使芯片设计工作的延续,它的任务是实现数字系统的整体功能,同时进行初步的工艺和系统机械结构的设计,主要进行两方面的工作,一方面通过芯片和其它电路元件之间的连接将各种元器件结合起来形成完整的数字系统;另一方面按照电路的尺寸、工艺和环境的要求,确定电路板的尺寸和形状,并进行有效的布局和布线。
调试,调试的目的是为了对设计的数字系统进行检查以发现设计中存在的问题。一般来说,调试按照不同的要求可以分为两种:电路调试和系统调试。无论是电路调试还是系统调试,一旦发现问题,都需要回到电路设计、芯片设计、和PCB设计以修改出现问题的电路板,芯片,PCB的设计。
结构设计,结构设计属于工艺和工业造型的问题,主要包括机箱设计和面板设计,可以和上述步骤同步进行。
2 典型数字系统设计的基本方法
在进行数字系统的设计过程中,所采用的基本方法有两种:自顶向下的设计方法[3]和编码的方法。
自顶向下的设计方法,实际上就是基于芯片的系统设计方法,它在功能划、任务分配和设计管理上具有一定的优越性。所谓自顶向下的设计方法就是利用功能分割手段将设计由上至下进行层次化和模块化,即分成次、分模块地对数字系统进行设计和模拟。功能分割采用逐级分割的方式,首先将系统分割成各个功能子模块,然后将各个功能子模块分解为逻辑快,而逻辑块又可以分割成更小的逻辑快和电路。按照这样的分割方式,可以将一个复杂的数字系统逐步细化并将功能模块化。这样,高层次的设计主要进行系统功能和接口的描述并说明模块的功能和接口,而对于模块功能的详细描述则在下一层次中说明,最低层的设计才涉及到具体的门级电路。
3 典型数字系统设计的基本准则
在进行数字系统设计的过程中,通常需要考虑设计的功能和性能要求、元件器件的资源配置、设计工具的可实现性以及系统的开发经费等多方面的条件和需求。对于具体的数字系统来说,虽然設计的条件和需求不尽相同,实现的具体方法也不同,但是数字系统设计还是具备一些共同的基本准则:
分割准则,自顶向下的设计方法或者其它层次化设计方法,往往都需要对数字系统的功能进行分割,然后再使用逻辑语言来进行具体的描述。在进行逐级分割的过程中,如果功能分割过细,,则会带来不必要的重复和繁琐;如果功能分割过粗,则会使子模块不易用逻辑语言来进行描述。
同步和异步电路,在设计过程中,设计人员应该尽量采用同步电路进行设计,而避免使用异步电路,在必须使用异步电路的场合下,应该采取一定的措施来避免较大的系统时延和逻辑冒险。
最优化设计,由于可编程逻辑器件的可编程逻辑资源、I/O资源和连线资源都是有限的,器件的性能有一定的限制,因此用逻辑器件设计数字系统的过程就相当于一个求取最优化设计的过程。一般来说,求取最优化设计过程需要给定边界条件和最优化目标这两个约束条件。约束条件即指器件的性能和资源限制。最优化目标有好多种,最常见的有期间利用率最高、系统工作速度最快和实现性最好三种。
系统的可观测性,在一个数字系统的设计中,应该同时考虑功能检查和性能的测试,即解决系统观测性的问题。可以设计观测电路来指示系统内部的工作状态。而一班来说,建立观测电路常常需要遵循以下原则:对系统的关键性信号进行观测;对具有代表性的节点和线路上的信号进行观测;具有简单的系统是否正常判断能力。
4 结语
一个数字系统的设计通常需要经过反复的修改、测试、优化才能达到系统设计的要求,在实际设计的过程中,设计人员需要在各种设计要求、约束条件和优化规制等方面反复权衡利弊、折中以求达到系统设计的性能要求。设计总体上流畅,具有良好的可观测性,结构协调、资源配置、I/O分配合理,没有任何设计和性能上的瓶颈,易于修改和移植,器件的资源、速度和性能得到充分的发挥,如果该数字系统可以满足以上五点要求,就可以称为是一个理想的设计。
参考文献
[1]彭子毓,《基于EDA技术的数字系统设计》,成都电子科技大学,电脑编程技巧与维护。
[2]于济铮,梁高卫,《基于EDA技术的数字系统设计研究》,邵阳学院,《信息通信》,2015年第2期。
[3]徐琼燕,《数字电路及EDA实验系统设计及其应用》,南昌大学工程硕士研究生学位论文。
指导老师:郭敏