目录
1 层次化和模块化的设计方法
对于比较复杂的逻辑电路,往往不能使用一组方程来方程直接完成它们的逻辑功能,因此需要层次化和模块化的设计方式,在基于数字电子技术的设计中,包括“自顶向下”(Top-Down)的设计思路,另一种是“自底向上”(Button-up)的设计思路,如下所示:

在很多工程设计中,都使用到了这两种设计方式。
1.1 “自动向下”(Top-Down)的设计思路
在数字电子技术的设计中,“自顶向下”的设计思路是目前主流的设计思路,在大部分的EDA设计中都会优先考虑“自顶向下”的设计思路,这同样也是现代EDA的设计思想。在Top-Down设计中,将设计分为不同的层次,分别是系统级、功能级、门级、开关级。随着设计过程的推进,设计的内容逐渐细化。如下图所示为“自顶向下”设计的过程中不断深入的几个层次:

Top-down的具体的设计过程为:从顶层入手,将整个系统划分为多个子系统,每个子系统完成相应的功能,每个子系统都有若干个相应的功能模块,对于每个功能模块进行仿真设计,然后利用相应的设计工具使用硬件描述语言设计相应的组合电路,最终完成整个硬件的系统设计。相应的流程如下所示:

自顶向下的设计思路中,要经过的是“设计——验证——修改——再验证”,通过不断地修改和验证的过程,逐步进行修改和完善最终达到自己想到的结果。
自顶向下的设计方法的优势在于成功率较高,同时能够在一定的程度上减少开发的时间,提高开发的效率。
1.2 “自底向上”(Buttom-up)的设计思路
“自底向上”(Bottom-up)的设计思路是较为传统的设计思路,其主要的设计思想是先将各个电子元件进行组合成相应的电路,再将电路复杂化,将电路组合成相应的功能模块,逐级向上组合,最终设计成想要的系统。
如果使用Bottom-up的设计方法的话,在设计过程中如果遇到了设计错误的情况,此时修改起来就会比较麻烦,甚至可能会出现需要进行重新设计的情况,并且这种设计方法耗时比较长,效率较低。因此在我们实际设计的过程中,主要是以Top-down的设计思路为主,以Bottom-up的设计思路为辅助,将这两种设计方法同时结合起来帮助我们开发。