简述“自顶向下”设计方法和传统设计方法的不同之处。
答:传统的设计方法都是自底向上的,即首先确定可用的元器件,然后根据这些器件进行逻辑设计,完成各模块后进行连接,并形成系统,最后经调试、测量看整个系统是否达到规定的性能指标。
这种设计方法常常受到设计者的经验及市场器件情况等因素的限制,且没有明显的规律可循。另外,系统测试在系统硬件完成后进行,如果发现系统设计需要修改,则需要重新制作电路板,重新购买器件,重新调试与修改设计整个修改过程需要花费大量的时间与经费。再者,传统的电路设计方式是原理图设计方式,而原理图设计的电路对于复杂系统的设计、阅读、交流、修改、更新和保存都十分困难,不利于复杂系统的任务分解与综合。
基于EDA技术的所谓“自顶向下”的设计方法主要采用并行工程和“自顶向下”的设计方法,使开发者从一开始就要考虑到产品生成周期的诸多方面,包括质量、成本、开发时间及用户的需求等。
该设计方法首先从系统设计入手,在顶层进行功能划分和结构设计,由于采用高级语言描述,因此能在系统级采用仿真手段验证设计的正确性,然后再逐级设计底层的结构,用VHDL、Verilog HDL等硬件描述语言对高层次的系统行为进行电路描述,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。“自顶向下”设计方法的特点表现在以下几个方面:
(1)基于可编程逻辑器件PLD和EDA开发工具支撑。
(2)采用系统级、电路级和门级的逐级仿真技术,以便及早发现问题,进而修改设计方案。
(3)现代的电子应用系统正向模块化发展,或者说向软、硬核组合的方向发展。对于以往成功的设计成果稍作修改、组合就能投入再利用,从而产生全新的或派生的设计模块。
(4)由于采用的是结构化开发手段,所以可实现多人多任务的并行工作方式,使复杂系统的设计规模和效率大幅度提高。
(5)在选择器件的类型、规模、硬件结构等方面具有更大的自由度。