时代在变,无论是做科学研究还是做技术开发,相应的方法也在不断地变化。
比如说,某国要开发一个能把外国的间谍卫星打掉的高能激光武器系统。这个项目非常的庞大,它可能就不是一个科研单位能做成的事情了。那么在做这么个项目的时候,首先,就要某国国内的几个,甚至十几个单位牵头,联合起来做这件事。某国国内各个有能力做这件事的单位各出一两个院士级别的科研人员,组成一个专家组。这个专家组负责对项目的整体运行进行规划、论证和总体方案设计。同时,各个专家负责自己所在单位承担的项目组与系统整体之间的连接。各个单位又会把项目组的任务进行细分,划分为几个子项目,每个子项目基本由一个处室单位来完成。
具体来说,过程如下:
1.假设某国已经对某型号高能激光武器系统进行了立项,参与的科研单位分别为某国工程物理研究院、某国光电技术研究所、某国化物所,等等。那么这个项目就会有一个专家组,由这几个单位分别出几个院士或研究员来组成。同时,某国国内高校的个别激光领域的学术权威也会进入这个专家组。这个专家组平时就负责项目的总体规划、论证。
2.一个激光武器系统会包含很多个功能,比如,得有高能激光吧,这块由某国化物所负责。比如,得有控制激光束指哪打哪的系统吧,这块由某国的光电所负责。比如,得有在战区保卫这套激光武器系统不受导弹威胁的雷达预警系统吧,这块由某国的雷达研究所负责。比如,项目实施得有实验场地吧,深更半夜的实验过程中激光玻璃坏了仓库里得有配件立刻用得上吧,这块由某国工程物理研究院负责,等等。
3.再比如某国的光电所负责的这个激光指哪打哪的系统,它要实施完成这个功能,它又得细分为几个子项目。它得有光束控制系统,这就是子项目1,由光电所的某研究室完成,这个研究室会负责开发万向节,就是类似于一个激光炮塔一样能旋转的东西,能实现卫星目标的俘获、跟踪与瞄准的功能。它得有自适应光学系统,这就是子项目2,由光电所的另一研究室完成。因为激光穿过大气层后光斑会受到湍流的影响,自适应光学系统就是用来减小这个影响的,能实现精跟踪和校正光束畸变的功能,等等。
4.某国的光电所的某研究室是个研究所下面的处级单位,该室的主任是处级干部。该研究室负责的自适应光学系统又是个很庞大的系统,绝不是一两个人能做得了的,它又分为总体部分、电控部分、光机部分、工艺部分等等。电控部分由电学组负责,主要研制系统中涉及的数字信号处理电路、高压放大电路等等。光机部分由光机组负责,主要研制系统中的一些光学机械件。工艺部分主要研制变形反射镜,例如玻璃用什么材料、镀什么膜、压电陶瓷的设计等等。另外,由于自适应光学系统本身就是个非常庞大的系统,它不仅要对内把系统做成并拼接、调试好,对外还要协调自适应光学系统与光束控制系统的同步工作,它就需要有个总体部分来作为这个承上启下的纽带。
5.电学组负责的电控部分由几个或十几个正式员工和几个在读研究生共同完成。有的负责研制高压放大器(偏模拟电路),有的负责研制数字信号处理器DSP(偏数字电路),有的负责信号的采集,有的负责外部采购电子元器件,有的负责电子元器件的焊接和组装。
那么,我们把以上这个流程画成如图4.3所示。
图4.3 由顶向下设计方法的实例结构图(www.xing528.com)
一般每年过完年(例如国内就是正月十五,国外就是圣诞节后一个月)上班了,每个课题组就会把当年的任务层层落实,规定好完成的时间节点和技术要求,签订责任书,到点检查。这对于每个成员都是监督和督促的作用(绩效工资也据此发放),同时,也有利于对整个项目实施情况进行整体把握。
以上,我们介绍的是激光武器系统这么一个庞大的项目的设计方法。如果要设计一个纯电路的系统,方法和原则也类似。
上面说的是设计一个大型的科学工程的由顶向下的基本方法。如果是回到我们这本书,要设计一个FPGA工程,其由顶向下的基本设计方法该如何呢?
图4.4 FPGA开发的由顶向下设计方法结构图
如图4.4所示,它也得遵循类似的基本思路。首先如果是一个很大的FPGA项目,那就要做好顶层设计。这个顶层设计就得由项目的总工程师来完成。总工程师一般是不做具体的事情(比如具体的电路、具体的器件等)的,他/她主要负责整个项目的架构。比如说要做个机器人完成搬运任务,总工程师就会根据机器人经过的道路条件来选择机器人的种类。比如如果是山地运输的任务,那最好就是类似于美国波斯顿动力的大狗机器人,四足的。比如如果是汶川地震这种地面交通无法进入的场合,那就是无人机自动起降进行定点空投的形式。选好了机器人的种类,就要下面细分几个模块1-3。比如,无人机自动起降,选用大疆的哪一款无人机?或者是自研无人机?FPGA系统要完成很多事情,比如要挂货物、电源管理、导航管理、交通管理等。挂货物的控制模块大概是什么样子?比如,无人机没电了,自动飞行到什么地方充电,充电的FPGA模块又是怎么样的?是无人机降落后自动伸出电池充电还是整体换电池?这就是系统级要做的事。总工程师会编出相应的模型,仿真验证后,分配下去形成模块1、模块2和模块3等。这里的总工程师只是个代称,一般都会有助手或小团队协助总工程师完成系统级的设计。
然后模块1又会具体往下细分,分成更小的子模块,如模块1.1、模块1.2和模块1.3等。每个模块事先都由其上级设置好该模块的接口。子模块完成时上级按照接口要求进行验收。这样的安排,就可以把一个大的项目分配成很多子项目由很多人同时进行开发。从而提高开发的效率。
在每一个FPGA项目的子模块,都要用硬件描述语言来描述其设计思想,利用一些电子设计自动化的工具来进行文本编辑、功能仿真、逻辑综合,综合以后没问题了,进行布局布线、布线后仿真,再编程并下载到芯片进行软硬件联合调试。
随着制造工艺技术的不断提高和改进,现代的集成电路往往都是在一个芯片上集成数十万乃至数百万个器件,真的是很难想象一个大的项目如果仅仅由一个设计师来完成,后果会怎样。利用层次化的由顶向下的设计方法,按照科学的设计流程,让每个层级的工程师和设计人员负责好自己所对应的模块,并做好向下和向上的交接,这就是由顶向下设计方法的基本思想。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。