在传统与现代电子系统设计中有如下几中常用的设计方法:
自底向上设计方法:传统的系统设计采用自底向上的设计方法。这种设计方法采用“分而治之”的思想,在系统功能划分完成后,利用所选择的元器件进行逻辑电路设计,完成系统各独立功能模块设计,然后将各功能模块按搭积木的方式连接起来构成更大的功能模块,直到构成整个系统,完成系统的硬件设计。这个过程从系统的最底层开始设计,直至完成顶层设计,因此将这种设计方法称为自底向上的设计方法。用自底向上设计方法进行系统设计时,整个系统的功能验证要在所有底层模块设计完成之后才能进行,一旦不满足设计要求,所有底层模块可能需要重新设计,延长了设计时间。
自顶向下设计方法:目前VLSI系统设计中主要采用的方法是自顶向下设计方法,这种设计方法的主要特征是采用综合技术和硬件描述语言,让设计人员用正向的思维方式重点考虑求解的目标问题。这种采用概念和规则驱动的设计思想从高层次的系统级入手,从最抽象的行为描述开始把设计的主要精力放在系统的构成、功能、验证直至底层的设计上,从而实现设计、测试、工艺的一体化。当前EDA工具及算法把逻辑综合和物理设计过程结合起来的方式,有高层工具的前向预测(lookahead)能力,较好地支持了自顶向下设计方法在电子系统设计中的应用。
层次式设计方法:它的基本策略是将一个复杂系统按功能分解成可以独立设计的子系统,子系统设计完成后,将各子系统拼接在一起完成整个系统的设计。一个复杂的系统分解成子系统进行设计可大大降低设计复杂度。由于各子系统可以单独设计,因此具有局部性,即各子系统的设计与修改只影响子系统本身,而不会影响其它子系统。
利用层次性,将一个系统划分成若干子系统,然后子系统可以再分解成更小的子系统,重复这一过程,直至子系统的复杂性达到了在细节上可以理解的适当的程度。
模块化是实现层次式设计方法的重要技术途径,模块化是将一个系统划分成一系列的子模块,对这些子模块的功能和物理界面明确地加以定义,模块化可以帮助设计人员阐明或明确解决问题的方法,还可以在模块建立时检查其属性的正确性,因而使系统设计更加简单明了。将一个系统的设计划分成一系列已定义的模块还有助于进行集体间共同设计,使设计工作能够并行开展,缩短设计时间。
嵌入式设计方法:现代电子系统的规模越来越复杂,而产品的上市时间(time to market)却要求越来越短,即使采用自顶向下设计方法和更好的计算机辅助设计技术,对于一个百万门级规模的应用电子系统,完全从零开始自主设计是难以满足上市时间要求的。嵌入式设计方法在这种背景下应运而生。嵌入式设计方法除继续采用自顶向下设计方法和计算机综合技术外,它的最主要的特点是大量知识产权(Intellectual Property-IP)模块的复用,这种IP模块可以是RAM、CPU、及数字信号处理器等。在系统设计中引入IP模块,使得设计者可以只设计实现系统其它功能的部分以及与IP模块的互连部分,从而简化设计,缩短设计时间。
一个复杂的系统通常既包含有硬件,又有软件,因此需要考虑哪些功能用硬件实现,哪些功能用软件实现,这就是硬件/软件协同设计的问题。硬件/软件协同设计要求硬件和软件同时进行设计,并在设计的各个阶段进行模拟验证,减少设计的反复,缩短设计时间。硬件/软件协同是将一个嵌入式系统描述划分为硬件和软件模块以满足系统的功耗、面积和速度等约束的过程。
嵌入式系统的规模和复杂度逐渐增长,其发展的另一趋势是系统中软件实现功能增加,并用软件区分不同的产品,增加灵活性、快速响应标准的改变,降低升级费用和缩短产品上市时间。
基于IP的系统芯片(S0C)的设计:为了解决当前集成电路的设计能力落后于加工技术的发展与集成电路行业的产品更新换代周期短等问题,基于IP的集成电路设计方法应运而生。IP的基本定义是知识产权模块。对于集成电路设计师来说,IP则是可以完成特定电路功能的模块,在设计电路时可以将IP看作黑匣子,只需保证IP模块与外部电路的接口,无需关心其内部操作。这样在设计芯片时所处理的是一个个的模块。而不是单个的门电路,可以大幅度地降低电路设计的工作量,加快芯片的设计流程。利用IP还可以使设计师不必了解设计芯片所需要的所有技术,降低了芯片设计的技术难度。利用IP进行设计的另一好处是消除了不必要的重复劳动。IP与工业产品不同,复制IP是不需要花费任何代价的,一旦完成了IP的设计,使用的次数越多,则分摊到每个芯片的韧始投资越少,芯片的设计费用也因此会降低。
SOC(System on a Chip)系统芯片有各种不同的定义方式。具体到芯片功能来说,SOC芯片意味着在单个芯片上,完成以前需要一个或多个印刷线路板才能够完成的电路功能。SOC芯片意味着在单芯片上集成一个完整的数据处理系统,其结构是比较复杂的。SOC芯片的运行需要强大的软件支持,而且芯片的功能会随支持软件的不同而变化,因此在设计芯片的同时需要进行软件编制工作,并非以往单纯的电路设计。这一特点在增强芯片功能及适用范围的同时增加了芯片的设计与验证难度,在芯片设计的初期需要仔细地进行功能划分,确定芯片的运算结构,并评估系统的性能与代价。SOC芯片的出现在芯片的优化设计方面也提出了很大的挑战。芯片的设计需要系统设计人员与软件设计人员的深入参与,在SOC芯片的设计流程中,一般都结合了从顶向下和从底向上设计的特点,与传统的芯片设计相比SOC芯片设计有以下几项主要特点:
① 芯片的软件设计与硬件设计同步进行;
② 各模块的综合与验证同步进行;
③ 在综合阶段考虑芯片的布局布线;
④ 只在没有可利用的硬模块或软宏模块的情况下重新设计模块。
电路设计中的成本控制方法:优秀的电路实现方案应该是简洁、可靠的。要以最少的社会劳动消耗获得最大的劳动成果。这里所说的社会劳动,包括在产品设计、产品生产、产品维护以及元器件的生产中所付出的劳动。为了控制产品成本,常常采用目标价格反算法,也就是先根据市场调查对相应的技术指标制定目标价格,然后在设计实施中找出影响产品经济指标的关键因素,并采取针对性较强的措施。