简单的原理图驱动ASIC设计流程
到了20世纪70年代末和80年代初期,像Daisy、 Mentor和Valid这样的公司开始提供图形化的原理图设计输人软件,允许工程师交互地创作电路(原理)图。使用一个鼠标,工程师能够在屏幕中从专门的符号库中选择出代表实体如IO引脚、逻辑门和功能的符号并布置它们。接着工程师可以在屏幕上使用鼠标来画线(互连线)把这些符号连接在一起。
当电路已经输人完成,原理图设计输人包可以根据命令产生相应的门级网表。这个网表首先可以用于驱动验证设计功能的逻辑仿真器。同样的网表还可以用来驱动布局布线软件(见图8-6) 。
图8-6 简单的(早期)原理图驱动ASIC流程
最初由逻辑仿真使用的任何时序信息是估计的,特别是对于互联线来说,直到所有的布局布线完成以后才可能进行准确的时序分析,在布局布线完成以后,将使用一个提取程序来计算与新城电路的结构 (互连线段、过孔和晶体管等)有关的寄存电阻和电容值。接着时序分析程序将使用这些值,为器件产生时序分析报告,在有的流程里,为了执行更精确的仿真模拟,这些时序信息也反馈给逻辑仿真器。
一件重要的事情是,在创造最初的原理图时, 设计者从专门的设计库中得到逻辑门和功能的符号,这个专门设计库与ASIC目标工艺有关(总会有不同办法来解决这件事情。例如,有的流程基于使用包含所有ASIC单元库通用逻辑功能子集的通用符号库概念。由原理图设计输入应用产生的网表,接下来可以通过运行一个解释器转换为他们在ASIC目标工艺库中的等价单元名称)。类似地,仿真器要按照指令使用ASIC目标工艺相适应的具有适当逻辑功能性和时序的仿真模型库(关于逻辑功能性,人们可能会期望有简单的逻辑实体就像2输入与门,对于多个库来说功能仍是相等的。这在输入为逻辑1和逻辑0时是确定的,但是当输入为高阻Z值或未知X值时,事情会有变化。甚至在输入为逻辑0或1值时,更复杂的功能如D型锁存器和触发器在“不正常情况”下,比如置位或者清除输入同时被驱动时,表现会很不一样。)。最终结果是布局布线软件直接把门级网表映射为逻辑门和功能在硅片上物理实现。