成长 进步 分享

Great works are performed not by strength, but by perseverance

ASIC与FPGA的区别

ASIC——专用集成电路。ASIC由IC设计人员根据特定的电路需求,设计专用的逻辑电路,在设计完成后生成设计网表,交给芯片制造厂家流片。在流片之后,内部逻辑电路就固定了,芯片的功能也就固定的。

FPGA——现场可编程门阵列。FPGA由Xilinx,Alter等器件厂家提供,设计人员只需要根据需求选择相应的器件,然后设计逻辑电路,并下载到FPGA器件中去,实现需求的电路功能,随时可以修改电路功能。

用途

FPGA主要用于要求快速迭代或者小批量产品,或者作为ASIC的算法验证加速。

ASIC用于设计规模大,复杂度比较高的芯片,或者是成熟度高,产量比较大的产品。

成本

小批量需求时,单片FPGA成本低于ASIC,随着产品量的增加,单片ASIC成本逐步降低。

功耗

在相同工艺条件下,FPGA要大于ASIC。FPGA,尤其是基于占用大量硅面积的、每个单元六个晶体管的静态存储器(SRAM)的查寻表(LUT)和配置元件技术的FPGA,其功耗要比对等的ASIC大得多。

速度

FPGA内部是基于通用的结构,根据RTL设计选择内部布局布线,当然通用必然导致冗余。

ASIC是根据设计需求,最优化cell逻辑资源,并且做到最优布局走线,降低走线延迟和CELL延时。

面积

定制化的电路设计和工艺使用ASIC面积小于FPGA。

设计流程

FPGA设计流程是先根据需求选择符合设计要求的FPGA芯片。

ASIC设计分为前端设计,后端设计,封装测试。

  1. 项目启动主要是算法人员,设计人员,验证人员投入。
  2. 复杂芯片设计和验证同步投入,根据产品需求和算法文档,分解设计规格和验证规格;
  3. 设计开始写详细设计文档,验证开始写验证策略,分解测试点。
  4. 设计进行HDL编码,做lint相关检查,提交子模块代码;验证写测试用例,搭建立好BT验证环境。
  5. 设计开发完UT,BT,IT代码,并同步支持验证冒烟,验证进行冒烟测试和随机用例测试,补充用例测试;后端进行综合和时序分析。
  6. 设计进行各种质量活动,同步支EDA持验证,FPGA验证,EMU验证等;验证进行验证收敛;后端继续迭代分析,直到提交网表。
  7. 设计和验证共同分析覆盖率,分析ATM矩阵(需求,设计,验证一一对应),分析验证波形,功耗,面积等;所有工作做完进行。
  8. 测试软件人员投入,设计编写软件指南,验证对软件指南进行EDA测试;等待回片测试,测试芯片性能。
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注