学习日志之synthesis and optimization(1)——梦开始的地方
微电子系统的设计流程主要包括4个阶段:
>Design
>Fabrication
>Testing
>Packaging
今天主要介绍一下设计的流程。
在设计微电子电路的过程中主要有一下三个流程:
- Conceptualization and modeling:用各种各样的语言来描述电路要做些什么事,实现什么样的逻辑之类的
- Sythesis and optimization:在建模完成的之后,就和画画一样得换一个角度看看设计的东西符不符合要求,如果不符合要求就要优化,直到满足条件为止。
- Validation:这个就是检测第一步和第二步写出来的东西是不是一样,保证逻辑不会因为优化而跑偏了。
在微电子设计的modeling过程中总的来说不管用高级语言也好还是用HDL也好,有三种不同等级的抽象表示方式:
> Architecture level:描述结连接之类的是啥样的,用各种各样的电路基本单元加减乘除法器实现功能的模块组合
> Logic level:描述电路的逻辑‘与’,‘或’,‘非’什么的
> Geometrical level:用总线来连接各个模块放在一个Die上(我的理解就是一块电路板)
要去查看我们设计的电路,那么就需要确定观察的view,一般来说有三种不同的视角可供参考:
>Structure view
>Behavior view
>Physical view
用以上view作为轴,用抽象等级作为轴上的刻度画出同心圆,这样就构成一个Y-chart如下图所示
一般建模的过程是从Behavior轴起始的,用高级语言对所需要的东西要做些啥事进行描述,但是你也可以选择从Structural的轴开始描述,只要你觉得你自己基础足够好,脑子足够清醒那就没问题咯,相当于你帮电脑做了一部分事情,你品,你细品。。。所以聪明人要怎么做不用我多说了。如果你更屌的话你直接上板子那岂不美哉。要不徒手造台电脑欸嘿?
在建模完成之后就需要进行synthesize这个工作相当于就换一种view来看同一个电路。在图上的表示方法如下:
HL
在不同的圈上当然synthesize的叫法也不一样,例如在Algorithm等级上的synthesis叫做High Level synthesis,在Logic Level上的叫做Logic Level synthesis,在逻辑等级上由structure 向physical转变的叫physical synthesis。
总之综合完之后就是优化的时间了,这个优化可以用一个optimization space来表示,这是一个多维空间坐标系,每一个轴代表一个performance这样性能的好坏可以立马从轴上读出来,当然优化是有限制的。有一个曲线称为Pareto curve,在这个曲线上的点都是在一定限制条件下性能最优的点,下面的例子即可说明意思。