[讨论] 关于FPGA与ASIC的一些问题

xiaoxin1   2009-12-7 10:58 楼主
主要是想了解下,由FPGA转到ASIC的过程,谢谢了!
PS:因为自己在用FPGA,它的设计流程相对简单些,因为使用的工具很少,仿真工具和综合工具;
    而ASIC中使用的工具比较多,有一个工具链,感觉光是掌握这些工具都要一定的时间,更何况理解这些工具中各种报告的物理意义了;
    另外感觉FPGA好像就是嵌入式更深入一些(可以说另外一种实现方式),而ASIC则比较艰深些!
所以我想知道从FPGA到ASIC需要经历的一些过程.。谢谢了!

回复评论 (1)

搜到的一些介绍,转帖过来:

虽然是做前端设计,但是还是应该了解下整个流程,这里总结下!免的老是忘记这么基本的东东!了解大概,做到心中有数!
IC设计流程
1.
设计规划阶段(Design Specification
一个Design Specification的建立有赖于市场人员对所设计芯片的大致功能和成本提出要求,市场人员和工程师互相合作提出芯片的功能
2.
架构与设计划分阶段(Architecture and Design Partition
拟订开发部门的工程规格(Engineering spec,必须决定系统的架构
3.
编程有测试环境阶段
完成基本的设计和仿真。在初期,设计人员就应该考虑个信号的走线问题!在高速电路和多信号设计中,必须考虑到将产生的串扰(Cross Talk)。
4.
集成和仿真阶段(Integration and Simulation
l
文件对比验证:预计输出(Expected Value)文件和电路真正的输出结果(Exact Result)的对比。
l
穿越整个CHIP:测试向量(Test Vector)要求能穿越整个CHIP到达外部。
l
合并测试向量:合理的合并测试向量并适度地打散激励(EXCIATION
l
共享测试环境:在各模块已做整合的前提之下,各模块应该共享测试环境。
l
对模拟器件的处理:需要针对模拟器件做特殊的仿真。
5.
综合阶段(Synthesis
综合阶段对程序代码的逻辑做部分简化,并从标准单元中选取合适的单元组合成最佳的实际电路。而这个原则就是约束(CONSTRAINT FILE),这个文件决定了最后CHIPSIZE和功能的实现。基本上综合就是TimingArea之间求得一个平衡。
这个时候最好完成功耗分析(POWER ANALYSIS
6.
布局前仿真
待测对象:由逻辑门(GATE-LEVEL)所组成的网表文件(NETLIST)。这个阶段的仿真结果必须和INTEGRATION AND SIMULAION阶段一致。
特点:这个阶段仿真时间一般比较长,利用操作系统所提供的工具程序来做自动化的批处理就显得重要,例如UNIX提供的MAKE等工具程序
7.
布局与布线阶段(AUTO PLACEMENT AND ROUTE AP&R
利用netlistSYNTHESIS产生的CONSTRAINT FILE文件
目的:将实体的单元(CELL)组合成芯片上真正的电路。
l
FloorPlan:决定管脚的排列和IPMACRO等在IC内部摆放的位置。
l
Placement:布局,将元件摆到适当的位置。何谓合适的位置,就要根据具体电路的功能,工程师的经验和不断地对结果的分析了。
l
CTSClock Tree Synthesis):将时序器件所需要的时钟所需要的缓冲器放在合适的位置,避免产生CLOCK SKEW
l
ROUTE:将各元件(包括时钟缓冲器)正确地走线。
l
SDFStandard Delay Format):此文件的目的在于描述确切地元件及布线时间延迟,以作为前端设计者再仿真的延迟计算,或作为静态时序分析之用。这些Timing 数值的前提是必须将线路的负载的RC值提取出来。
8.
布局后仿真/静态时序分析/形式验证阶段(Post-Sim/STA/Formal Verification
l
Post-sim: 和前仿真必须的结果必须完全相同,但是因为有了更精确的TIMING数据,所以花费更大量的时间
l
STA:仿真本身可分为动态和静态
动态性:从仿真的起始至结束有许多个时间(EVENT)发生来校验其功能。耗时长
静态时序分析:它并不管其待分析电路的功能如何,只要给定Constraint,静态时序分析就会分析电路结构,检查所有时序上不满足的地方。
l
Formal Verification:?
9DRC/LVS检查阶段
DRCDesign Rule Check:针对最后的LAYOUT结果做检查,以校验其是否违反元件本身的性能限制。
LVSLayout VS Schematics:针对电路图和LAYOUT图做一致性验证。

10.Design sign-off阶段

即掩膜生产之用,就是一般所称的Tape-Out.
11.手动修正(Engineering Change Order,ECO
如果最后阶段发现了BUG,如果不大的话,那么如果从头改起将十分耗时,比较经济的做法是以手动的方式对电路进行修改,或者对布局修改。
因为手动修改非常容易出错,所以需要非常深厚的基本电路知识和经验!
如果已经TAPE-OUT才发现设计上的错误,则最后的补救只能在金属层的掩膜上修改!
FPGA技术交流
点赞  2009-12-7 11:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复