数字系统设计通常有两种设计方法,一种是自顶向下的设计方法, 另一种是自底向上的设计方法。 自顶向下的设计方法是在顶层设计中,把整个系统看成是包含输 入输出端口的单个模块,对系统级进行仿真、纠错,然后对顶层进行 功能方框图和结构的划分,即从整个系统的功能出发,按一定原则将 系统分成若干子系统,再将每个子系统分成若干个功能模块,再将每 个模块分成若干小的模块······直至分成许多基本模块实现。

forum.jpg

1-11

这样 将系统模块划分为各个子功能模块,并对其进行行为描述,在行为级 进行验证。 自底向上的设计过程从最底层设计开始。设计系统硬件时,首先 选择具体的元器件,用这些元器件通过逻辑电路设计,完成系统中各 独立功能模块的设计,再把这些功能模块联系起来,总装成完整的硬 件系统。这种设计过程在进行传统的手工电路设计时经常用到,优点 是符合硬件设计工程师传统的习惯,稳定性好,可靠性高。缺点是在 进行底层设计时,缺乏对整个电子系统总体性能的把握,在整个系统 设计完成后,如果发现性能尚待改进,修改起来比较困难,因而设计 周期长。

forum.jpg

1-12

随着集成电路设计规模的不断扩大,复杂度的不断提高,传统的 电路原理图输入法已经无法满足设计的要求。EDA 工具和 HDL 语言的 产生使自顶向下的设计方法得以实现。

forum.jpg

1-13

自顶向下的设计方法可以把一个复杂的数字系统的设计变成了一 个较小规模的模块设计,从而大大降低了设计的难度,缩短了设计周 期,由于设计调试都可以针对这些子模块进行,使修改设计也变得非 常方便。