C-Model以及ASIC设计

之前的工作中对C-Model有过简单接触,当时的情况是在客户现场遇到一个视频解码问题,简单描述就是一段码流经过VPU解码后,显示出来的画面有一点儿轻微马赛克,当时不确定是码流问题还是VPU IP内的解码算法问题,后面对比了样机表现,发现样机OK。于是基本确定问题发生在VPU算法上,VPU是当时的东家设计的,于是就把码流拿回去请专家分析。专家很快就给出了分析结果以及解决方案,至于为何这么快,后来才了解到,专家把码流在CModel上跑了一遍,很快复现到问题,后面解决问题也水到渠成了。

虽然用过,但理解不深,只是大概猜测可能是因为视频解码逻辑本身是一个确定性问题,随机性不发生影响,所以可以用按照VPU IP 算法同样的设计编写的C 代码来解同样一笔数据,由于算法本身是一样的,所以无论是在芯片上跑还是在CMODEL上跑,结果都是一样的,都可以说明问题。

直到看到一篇文章,对这个过程的理解加深了一层,简单写下自己的理解。

一颗芯片芯片设计过程从端到端的角度理解,流程如下

在芯片的架构设计阶段需要对芯片进行建模,建模的主要目的是在大规模投入人力之前先用低成本的计算机软件实现目标芯片的主要功能,评估芯片的工作效果,验证设计思想,并作为后续开发活动的标准和依据。从这个意义上说,C Model的开发团队是芯片设计团队的先锋队,需要承担逢山开路、遇水搭桥的光荣任务,为后续大部队扫清前进通路上的障碍。

不同的项目对C Model的功能定位可能会有很大差别,一般而言,C Model的功能定位可能会有以下几种:

1. 作为算法模型的C版本,定义模块输入输出行为的标准,实现数据的bit-match;

2. 在1的基础上,定义模块的内部结构和资源约束;

3. 在2的基础上,精确定义模块的输入输出时序,实现cycle-accurate;

第一种定位可以理解为C Model的初级阶段,它要解决的问题是算法级的,目标是保证未来RTL代码的输出数据能够与C Model做到bit-match,并以此作为评估RTL代码正确性的验收标准。在芯片进行FPGA验证阶段,需要编写自动化测试脚本,将FPGA实跑的结果与C Model输出的golden sample进行比对,每个模块至少比对十万个golden数据才达到验收通过标准。

在算法层面上,我们会认为C Model与Matlab/Python算法模型是等价的,那么如果RTL代码与C Model以 bit-match的方式实现了等价性(equivalency),则有理由认为RTL与算法模型也是等价的。

一般而言,本阶段C Model需要解决的主要问

  • 11
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当将ASIC设计移植到FPGA芯片时,需要进行一些重要的工作和优化。首先,ASIC设计的不同部分需要分别映射到不同的FPGA芯片中,通常以功能模块为划分边界。这个划分和优化的过程相对复杂,需要考虑系统成本、整体性能、资源容量、FPGA芯片之间的互联以及划分的复杂度等因素。 移植ASIC设计FPGA芯片中需要进行大量的重编码和优化工作。尤其是时钟树结构,需要正确地分配到FPGA芯片的各种时钟资源上。这是一个非常具有挑战性的任务。 尽管FPGA工具和设计流程与ASIC相似,但是由于一些根本性的差异,工程师仍然需要解决一些问题。ASIC综合工具通常对Verilog语法的支持更宽松,而且ASICFPGA综合工具在引导语句和工具选项方面也有所不同。此外,无论是资源占用还是布线密度,ASIC工具需要处理的工作比FPGA复杂得多。在某些复杂情况下,FPGA工具甚至可能无法成功布局和布线。因此,在某些情况下,可能需要修改RTL源代码,甚至重新规划多芯片划分方案。 总结起来,将ASIC设计移植到FPGA芯片中需要进行划分和优化工作,并需解决RTL源代码的重编码和时钟树结构的挑战。此外,需要注意ASICFPGA综合工具的差异,并可能需修改RTL源代码和重新规划多芯片划分方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [FPGA知识汇集-ASICFPGA的移植](https://blog.csdn.net/mochenbaobei/article/details/128677191)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

papaofdoudou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值