SOC设计方法与实例
1
fI数字电路设计的演进与HDL
IA历史背景
数字电路的发展,一路随着真空管、晶体管到IC的发明而持续演进,而IC的问世,更是不断地将数字电路的功能及复杂度,提升到新的境界;从早期的SSI、MSI、LSI、VLSI,到现在大家常看到的025u、018u、013u等等,其中不断增加的,就是单一IC中逻辑闸的数目,从早期的十数个,到现在013u制程的IC,其中的逻辑闸数目可能高达1025M,这其中的的差距真的是不可同日而语。当IC中的逻辑闸数目随着制程的进步而越来越多时,一些在设计上的问题就伴随而来:我要怎么利用这么多可用的逻辑闸?我可以拿来设计什么?我要怎么设计?大家可以回想一下当初是怎么学习数字电路的,一开始的时候不外乎是利用真值表、有限状态机等等将数字电路转成一堆逻辑闸的组合,之后在面包版上用一堆小IC跟接线将电路实作出来,而在计算机上也有一些辅助设计软件CAD帮助设计者作布线的工作以及逻辑闸层次的仿真。这样看起来好像不错,但是请大家想一下,现在一颗013u制程的IC起码有上千万个逻辑闸,这下好了,我们要到哪里去找这么大的面包版来测试电路,就算全部都在计算机上测试,接下来的问题是,我们要怎么去组织这么多的逻辑闸?我们只能在逻辑闸的层次去设计数字电路吗?
IB硬件描述语言与逻辑合成
如果大家学过计算机程序设计的话,就应该会有一种感觉,那就是我们可以用程序语言去描述一些功能,不管这些功能是用来排序或是用来作判断;同样的,设计数字电路也是为了实现某些功能,那有没有程序语言可以用来描述硬件电路的?答案是有的,这种语言我们通称为硬件描述语言HardwareDescriptio
La
guageHDL,HDL经过长时间的发展,目前较普遍的有VHDL以及VerilogHDL。但是光有HDL并不能解决IC设计上的问题,我们还是需要以人工的方式将HDL的设计转换成逻辑闸之间的连接线路,而逻辑合成LogicSy
thesis工具的出现,正好弥补这个空缺,使得数字电路的设计工作,产生巨大的改变。
另一方面,相较于用HDL开始ToptoButto
的设计方式,还有一种称之为CellBased的方法是采取
2
f从晶体管层次开始由下往上的设计方式,目前较常用于内存的设计。
IISOC设计方法与业界的解决方案
IIA数字IC设计流程
图1ToptoButto
的IC设计流程图1是一般数字IC的设计流程,大体来说ToptoButto
的IC设计分为Fro
tE
d以及BackE
d两个部分,Fro
tE
d的工作主要就是把程序代码转换成逻辑闸层次的电路,而到了BackE
d的部分,PR作的是布局Placer