历史上的今天
返回首页

历史上的今天

今天是:2025年01月28日(星期二)

2019年01月28日 | ASIC开发流程一览,全是干货

2019-01-28 来源:半导体行业观察

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

 

image.png?imageView2/2/w/550


  • 以算法设计为主导

  • 算法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开发为主的小型团队,还是可以使用的。

 


推荐阅读

史海拾趣

ANOVA公司的发展小趣事

ANOVA公司的成功并非偶然,它始终站在技术创新的前沿。公司积极推动新通信技术、电池寿命和移动应用等方面的创新,不断推动电子行业的发展。ANOVA的研发团队不断探索新技术,致力于为客户提供最先进的解决方案,帮助客户在激烈的市场竞争中保持领先地位。

Dolphin Interconnect Solutions Asa公司的发展小趣事

为了加快市场拓展和技术创新,Dolphin Interconnect Solutions ASA积极寻求与其他公司的战略合作。例如,公司与StarGen公司进行了换股合并,共同开发Express产品。这一合作不仅为Dolphin带来了先进的技术和人才,还进一步拓宽了公司的产品线,提高了市场竞争力。

Analogix Semiconductor公司的发展小趣事

Dolphin Interconnect Solutions ASA自创立之初,便以技术革新为核心驱动力。公司不断投入研发资源,开发出了基于PCI Express的I/O和clustering产品,这些产品在市场上取得了显著的成功。随着技术的不断进步,Dolphin又成功地将产品扩展到更广泛的领域,如云计算、大数据处理等,进一步巩固了其在电子行业的地位。

振华(CEC)公司的发展小趣事

中国振华电子集团有限公司(简称振华)自成立之初,就致力于电子产品的研发与生产。初期,公司面临着技术落后、资金短缺等诸多困难,但创始人及团队凭借坚定的信念和不懈的努力,成功开发出了一系列具有市场竞争力的电子产品。随着产品质量的提升和市场份额的扩大,振华逐渐在电子行业中崭露头角。

BOOKHAM公司的发展小趣事

BOOKHAM公司自创立之初,就专注于光学元件的研发和生产。随着电子行业的快速发展,公司不断投入研发资源,终于在一次技术突破中,成功开发出一款高性能的光学元件。这款元件凭借其卓越的性能和稳定的品质,迅速获得了市场的认可,BOOKHAM公司也因此名声大噪,逐渐在电子行业中崭露头角。

Chipcon AS公司的发展小趣事

在电子行业的初期,Chipcon AS公司凭借其一款创新的低功耗无线通信芯片,迅速在市场中崭露头角。这款芯片以其卓越的性能和稳定的表现,赢得了众多客户的青睐。公司通过不断优化产品设计和生产工艺,逐步提高了生产效率,降低了成本,进一步巩固了市场地位。随着无线通信技术的快速发展,Chipcon AS公司不断推陈出新,成功抢占了行业制高点。

问答坊 | AI 解惑

大家帮忙分析分析

   板子上,Touch和Codec是连接到一个AD转换上,现在会偶尔出现这种现象:屏的右半边死掉,左半边正常,而且系统没有声音输出了。大家觉得是什么问题?和时钟有关吗?…

查看全部问答>

聘深圳地区嵌入式WindowsCE 软件工程师

用WINDOWS CE开发PMP播放器,GPS,高薪聘请有嵌入式WindowsCE 开发经验的工程师. 工作地点:深圳宝安 待遇:6000-8000/月 联系方式:bm9887@126.com…

查看全部问答>

50个典型电路实例详解

50个典型电路实例详解,对你的模电很有好处啊…

查看全部问答>

uCOS中 不同任务调用相同函数该如何处理?

  如题, 当不同的任务 都调用了同一个函数,此时应对函数如何处理? 比如说该函数是公用的 ASC_HEX();   请大家发表一下看法。…

查看全部问答>

1138 AD采集不准

本人是菜鸟,大神勿喷。 void ADC_Init(void){    SysCtlPeriEnable(SYSCTL_PERIPH_ADC);    //  使能ADC模块    SysCtlADCSpeedSet(SYSCTL_ADCSPEED_125KSPS); //  设置ADC采样率 & ...…

查看全部问答>

求 MSP430AFE25x 开发原理图

MSP430AFE25x 开发原理图,高手指点…

查看全部问答>

DSP程序框架

大家好,我是新手,想请教下大家,对于刚开始学习的一款DSP芯片,是从哪儿下程序框架,还是自己搭建的?我以前用一款芯片的时候,自己写程序后,师兄看都没看就说运行不了,让我用他的程序框架,然后在里边添加自己的子函数来实现的。还有就是一般 ...…

查看全部问答>

【TI首届低功耗设计大赛】低功耗信号显示、采集器 ----总结篇

本帖最后由 dontium 于 2015-1-5 11:50 编辑 (注:以下显示可能不正常,请参阅PDF文件) 低功耗信号显示、采集器 一、项目意图:利用FR5969低功耗的特点及FRAM读写次数不限的特点,实现信号量的即时快速采集及显示、连续长期实时数据采集 ...…

查看全部问答>

拆出来的液晶屏(来自CS35原车CD机)

昨天跑到车友会去看看国庆有啥活动  谁知早都跑没影了  郁闷之极往回走  还没走到停车场就看到一个收废品的老头手里头拿着个貌似收来的车载CD 随口问了一句“这个卖不?” 老头也很耿直的回答“拿5块钱给你嘛” ...…

查看全部问答>

导入PCB 出现莫名的错误

原理图中接插件P1一共10个引脚,封装也是10个引脚,但是当从原理图导入PCB中的时候莫名出现了错误,错误位置在P1的21 22.。。等引脚,有点莫名其妙,因为P1的引脚数量一共是10个,怎么会有超过10个引脚出现,不知道什么原因,请大家帮忙看看,谢谢 ...…

查看全部问答>