恩,楼主学校做的工作,其实是在做digital standard library的优化。
(1)digital IC设计流程的最底层只到逻辑门(gate level)位置,EDA工具基于标准单元库(standard library)来完成IC的逻辑功能和时序设计。standard library包含各类基本的逻辑门,例如nand,nor,dff,adder,mux等等,以及各个逻辑门单元的一些模型参数,例如功耗,延迟,驱动能力,输入输出负载等。还有逻辑门单元的版图形状,pin位置等等。
(2)但是,所有的逻辑门单元终究是要使用晶体管来实现,并做出layout,可以在硅片上生产出来。同样是adder的逻辑功能,其晶体管级电路的拓扑结构可以有很多种;同一个adder的拓扑结构,晶体管L/W选取,版图的布局,走线同样会对性能功耗有显著的影响。举个最显而易见的例子,同一个Verilog 代码,假定综合出来的门级网表也一样,用tsmc最新的工艺做就可以比用旧工艺速度更高,同时功耗更低,就是因为standard library收益于更新的工艺。
除工艺之外,standard library还体现的就是standard library 工程师的功力了。
p.s. 集成电路设计发展到今天,standard library的复杂程度:同一个逻辑上的adder,对应的晶体管级电路也可以有好几个,各自侧重于速度,功耗,面积等不同的优化方向,供EDA工具根据需要调用。
(3)standard library 工程师为各个逻辑单元做出优化的晶体管机电路和layout之后,还需要对其进行spice simulation,获取上面提到的逻辑门单元模型需要的各项参数,同样这也已经是一个非常成熟的标准化操作了。
(4)standard library design 的工作,各大foundry有是必须的,例如TSMC 要推最新的5nm工艺,那肯定要提供5nm工艺对应的standard library。每代工艺的在充分成熟之前standard library的优化迭代也是必须的。此外,design house如果不满足于foundry的“公版”standard library,有自己的特殊需求,也会做自己内部使用的library。