ASIC项目瀑布式开发流程详解

2019-01-31 10:37:47 来源:eeworld
标签:
ASIC   开发   RTL

 

最近收拾书架,翻出一张多年以前的ASIC项目开发流程图,一起回顾一下。典型的瀑布式开发流程:

 

 

以算法设计为主导

算法C代码手工转换为RTL

RTL与算法C代码生成的测试向量对比进行验证

依赖FPGA做大量实时、现场测试

适合通信信号处理,音视频处理产品

 

1. 算法预研

确定了产品方向之后,算法工程师开始进行调研。

 

要学习研究行业内最新的研究成果、论文,提出创造性的方法来获得最好的性能。要使用真实的测试数据和仿真结果进行评估。最终交付为算法描述的C语言源码。

 

算法调研结束后需要进行审核(review):确定算法性能,确定系统架构设计,确认是否可以正式立项。审核过程需要算法设计、RTL设计、软件、硬件系统、市场、管理层共同参与。

 

正式立项时,需要提供功能spec,以及算法C代码功能仿真环境。与此同时,硬件组需要根据项目需求开始搭建硬件FPGA测试平台。

 

2. 算法优化

接下来进行算法的优化,主要考虑以下几个方面:

算法复杂度

算法运算量

变量精度

算法设计以及状态机控制要具有自恢复能力

算法代码要足够stable,对于各种滤波器系数和变量要有一定的噪声容忍度。

算法最终确定需要通过审核:算法架构,算法功能仿真,算法定点化和性能验证。

 

3. 面向ASIC的C代码实现

在此阶段,算法C仿真代码改变为模块结构代码,分解为若干ASIC功能模块,代码的接口与RTL接口接近:

容易实现

高效率

节省逻辑

重用现有模块

对带有反馈的模块中增加仿真延时

在接口增加仿真延时

最终的C代码中:

主函数只包含连接关系和子模块

所有子模块以各自的时钟速率调用

接口采用cycle based timing

需要准备以下review和文档:

ASIC模块和接口设计指导

性能验证报告

接口变量的时序图和精度描述

 

4. C到RTL的实现

RTL设计工程师完成从C代码到verilog的实现。算法工程师负责产生相应的测试向量,包括子模块测试和系统联调测试。要使用各种典型的测试场景数据,以及一些子模块级别的随机测试数据。

 

根据RTL设计以及综合结果,可以获得整个系统的时序信息,gate count和die size预估。

 

5. FPGA on-board test

由于RTL仿真的速度较慢,可以借助FPGA来进行测试加速。硬件工程师准备FPGA平台,FPGA工程师进行RTL到FPGA的代码移植,软件工程师协助相关测试软件的开发与使用。

 

在FPGA上可以做到与RTL仿真一样的效果,比如从内存中提供输入,并抓取输出结果,与算法C产生的数据进行比对。需要测试尽可能多的测试用例。

 

6. FPGA field test

如果项目代码可以在FPGA上跑到与真实应用同样的速度(full speed),就可以用FPGA代码直接做实时现场测试。在现场测试的任何问题,需要反馈给算法组进行分析解决。

 

7. Final Check and Review

现场测试通过后,需要做最后的检查和review全部代码,然后开始芯片后端设计。

 

站在今天(2018年)的角度看过去上述流程有存在一些问题:

采用算法C到Cycle C再到RTL实现的流程,迭代长,易出错

RTL验证以直接定向测试为主,缺少随机验证,覆盖率不够

依赖FPGA实时测试作为验证主要手段,FPGA平台开发需要专门的人力资源和硬件平台,而且FPGA平台不够灵活,且容易出现不稳定的问题。

 

现在已经有很多新技术可以借鉴,比如

 

基于High level synthesis,缩短开发周期

采用各种验证方法学,提高验证覆盖率

使用专用的硬件加速器平台

 

最后,以上开发流程简单,投资少,对于算法(大牛)主导的创业型公司,或者以IP开发为主的小型团队,还是可以使用的。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
人工智能芯片市场迎来野蛮式增长,厂商们却迷茫了?

恰逢第三波人工智能浪潮,2018年“人工智能芯片”这个有点新鲜的字眼彻底大火了一把,国内外科技巨头、传统芯片巨头以及初创公司纷纷布局人工智能芯片市场,用“草长莺飞式的野蛮生长”来形容当前的人工智能芯片市场,似乎再恰当不过了。

“矿难”这次真的要来了?国家发改委将虚拟货币“挖矿”活动列入淘汰类产业?
“矿难”这次真的要来了?国家发改委将虚拟货币“挖矿”活动列入淘汰类产业?

近期比特币价格涨回5000美元,让2018年底经历“矿机轮斤卖”和关机潮的矿圈稍微松了一口气。不过,这口气可能松不了多久,产业政策的“利剑”又来了。

在AI 领域,FPGA和ASIC一定是对手吗?AI芯片的终点又是什么?
在AI 领域,FPGA和ASIC一定是对手吗?AI芯片的终点又是什么?

近两年,人工智能市场一直处于火热的状态。而经过过去两年的发展,人工智能市场的玩家越来越少,对于这一市场的思考也愈加冷静,芯片厂商对于人工智能市场未来的发展也都有着自己的思考。

人工智能风潮席卷全球,因而推升ASIC需求

人工智能风潮席卷全球,而为了加速AI应用普及,并降低云端运算工作负载,实现更多的创新应用,边缘运算需求与日俱增,AI开始从「云端」走向「终端」,也因而推升ASIC需求;

三星也搞无按钮手机?有啥看点
三星也搞无按钮手机?有啥看点

三星电子全面发展机身完全无按钮的“Keyless”智能手机商用化,预计下半年旗舰机Galaxy Note 10会成为三星首款Keyless智能手机。

更多资讯
【技术分享】《FPGA之道》之Verilog中的生成语句

本文的内容摘录自《FPGA之道》(狄超,刘萌著,西安交通大学出版社)。

英特尔大牛分享FPGA 编程模型,引起学生热烈追捧

身处数据洪流的时代,这不仅意味着数据量的爆炸式增长,更体现在数据形态和格式正发生着革命性的变化,数据的处理方式也发生了端到端的沿伸。而通过与英特尔端到端的计算技术相结合,FPGA可以更好的释放数据的巨大潜能。

【技术分享】在FPGA上使用微处理器软核/硬核的教程
【技术分享】在FPGA上使用微处理器软核/硬核的教程

有时,微控制器本身可以完全吸收设计的所有功能要求。对于绝大多数嵌入式系统设计而言,编程良好,高度集成的嵌入式处理器是工程师可以使用的最具成本效益,功效最高,速度最快的解决方案。

【技术分享】FPGA市场走向分析,纵横融合是主要方向
【技术分享】FPGA市场走向分析,纵横融合是主要方向

FPGA在先进工艺路上的狂飚猛进带来了如影随形的挑战:一方面,进入20nm和14nm阶段后,不光是FPGA复杂度提升,对其外围的电源管理等芯片也提出了“与时俱进”的要求。

【技术分享】英特尔10纳米Agilex FPGA核心技术全解读

英特尔的10纳米FPGA终于来了。在四月刚刚结束的英特尔“以数据为中心创新日”中,曾经代号为Falcon Mesa的英特尔最新一代10纳米FPGA正式亮相,并正式命名为Agilex™。

电路方案