从应用的角度看,EDA软件应包括以下子模块:
  (1)设计输入子模块:该模块接受用户的设计描述,进行语法、语义检查。在检查通过之后,将用户的描述数据转换为EDA系统的内部数据格式,存入设计数据库中备用。
  如果把HDL狭义地理解为纯文字描述,则设计输入子模块不仅应能接受HDL描述,还应能接受图形描述或图文混合的描述。如果把HDL广义地理解为文字的、图形的或图文混合的,则设计输入子模块的任务是接受HDL描述。因此,该模块一般包含一个编辑器(文字的、图形的或图文混合的)和一个分析器。
  (2)设计数据库子系统:存放系统提供的库单元以及用户的设计描述和中间设计结果。
  (3)分析验证子系统:包括各个层次的模拟验证、设计规则检查、故障诊断等。
  (4)综合子系统:包括各个层次的综合工具,理想的情况是:从高层次到低层次综合全部由EDA工具自动实现。
  (5)布局布线子系统:该子系统实现由逻辑设计到物理实现的映射,因此与物理实现的方式密切相关。例如,最终物理实现的方式可以是:门阵列、标准单元、可编程逻辑器件…,相应的布局布线工具会有很大的差异。
  (6)划分子系统:把一个大电路划分为几个较小的子电路。这种划分在各个层次上都需要。
  本书第8章介绍一个实用的EDA系统--ALTERA公司的MAX+plusII,希望读者使用该EDA工具完成若干设计实例,获得使用EDA工具的切身体验。