赛题简介
在大型数字设计的实现(implementation,即综合/p&r)中,因为数据流的复杂交错、先进工艺的多重影响(寄生参数、信号串扰等)以及版图设计合理性和时钟树实现等因素的影响,设计时序报告中的违例并不一定代表着设计里最有挑战的设计瓶颈。在超高速cpu核的实现过程中,最后阶段的关键路径收敛都需要经历一段时间的艰辛细调(一般我们称为timing eco)。eco的前期阶段的一般违例可以借助eda工具进行自动化修复,后期遗留一般是工具自动化很难处理的复杂情况。此时工程师一般按照过往经验做细节的时序分析,然后运用多种技巧多次迭优化的方式达成时序收敛。
本赛题希望可以通过一种比较系统的时序分析办法,在刨除物理设计的影响下追踪并诊断出设计的时序瓶颈。此分析的结论可以在设计实现早期或timing eco阶段提供加速设计收敛的指引。
本赛题的数据采用了一个已做了初步物理实现(place&route)的富含数据运算特性(通常称data path design)的模块,采用的库为虚拟的32纳米的工艺库。设计的基本信息如下表
本部分所用数据为已完成单元布局(cell placement),时钟延迟为ideal clock。参赛者需要在pt环境下读入本赛题数据,进行时序分析,检查设计里的可进一步优化时序路径,找出设计的理论频率上限。具体可优化的时序路径在此场景下假定为下列几类:
1. 假违例:一个时序路径下的逻辑单元,其delay为设计中其它所有同样单元的delay的平均值的2倍或以上,则该单元的delay可认为不合理,可以被替代为设计中其它所有同样单元的delay的平均值。
逻辑单元的delay的平均值的获取方式:参赛者需在pt读入设计数据,然后用report_paths_of_interest.tcl(数据包里提供的脚本)产生时序报告(paths_of_interest.rpt)。参赛者可以通过tcl、perl或python分析paths_of_interest.rpt,统计出该报告里的cell类型和这些cell类型在此时序报告里的delay平均值。
假违例的处理例子如下:假设 参赛者通过统计,得出lib cell ao221x1_lvt在本设计的平均delay为0.0497。而现有一个路径下(时序报告如图1)该cell的delay超出该平均的的2倍(如下例该cell的delay为0.1316)。此时参赛者可以通过set_annotated_delay的方式,把该cell的delay人为设为此lib cell的delay的平均值,作为评估设计合理优化后该cell的delay。此时序路径的通过该处理后违例值由原来的-0.1573缩小为-0.0761(如图2)。
图1:
例子:如图3所示,假设如下4个buffer
.“x_ct_cp0_regs/clock_opt_opto_gre_mt_inst_269433” “x_ct_cp0_regs/clock_opt_opto_gre_mt_inst_269430” “x_ct_cp0_regs/clock_opt_opto_gre_mt_inst_269422” “x_ct_cp0_regs/clock_opt_opto_gre_mt_inst_269421”
移除后不造设计的max_fanout违例, 那么通过remove_buffer 移除该4个冗余buffer后,可以得到优化后的时序,如图4。设计的违例由原-0.1507缩小为-0.0769。
图3:
图4:
图5:
?
第二部分:虚拟timing eco
本部分所用数据为已完成完整布局布线(placement&routing)的结果,带有完整的时钟数。参赛者根据第一部分的分析脚本或小软件,模拟p&r实现工程师在timing eco阶段所作的eco操作,参赛者需要在pt环境下读入本赛题数据,进行时序分析,找出可被优化的时序违例路径,并判断通过虚拟eco操作后可时序的最高频率。考虑时间和背景限制,具体可实现eco限定为和第一部分一样的3类时序可优化情况,即假违例、冗余buffer或inverter和时钟延迟的借用。和第一部分不同的是,所用数据时钟延迟为真实延迟(non ideal), 所以其中时钟延迟只能在目前时钟延迟的现有值上通过eco(如size_cell, insert_buffer, remove_buffer等)调整。例子:如下图7所示,时序路径违例-0.0518。通过分析,launch时钟延迟为0.3572,capture时钟延迟为0.2533。在逻辑路径(data path) 无法进一步有效优化的情况下,可以考虑把launch时钟延迟减小或把capture时钟延迟增长。假设该例子launch时钟延迟减小会造成前序相关的时序路径产生新的违例,而capture端的时钟延迟增长并没有造成后序的相关时序路径产生新的违例。此时我们选择后者(即通过insert_buffer增长capture端的时钟延迟)。此优化后,新的时序如图8所示。设计从原违例-0.0518提升为正的0.0186。
参赛者在第一部分的的脚本(或软件)基础上,增加代码自动产生eco操作的所需的pt tcl脚本,eco操作需按上述1,2,3顺序进行时序优化。自动产生出来的脚本需要在pt里执行无错,并在执行虚拟eco后用提供的gen_rpt.tcl报出新的时序总结报告。
?
图7:
图8:
赛题作品由虚拟eco的结果和设计瓶颈分析结果分两步加计评分构成。
?
虚拟eco结果部分评分细则:
1)虚拟eco后的网表需要跟原网表功能一致(即能通过formality的形式验证)才算有效。参赛者可以不做形式验证,命题单位会执行形式验证以确保设计合格。
2) 符合形式验证的设计以其设计频率进行打分。达到550mhz开始记分,计分有三个不同阶梯,频率越高部分,每mhz得分越高。550-600mhz区间每增加10mhz为计1分;600-700mhz区间每增加5mhz计1分;超过700mhz,每增加2mhz计1分,不设上限。
?
设计瓶颈分析部分评分细则:
1)?时序瓶颈分析的总运行时间不得超过2小时,分析需找出至少10条真实关键路径(真实关键路径即该路径不含有“具体要求”部分所描述的3种可优化情况,即假违例、冗余buffer或inverter和时钟延迟的借用)。
2) 运行时间超过2小时或找出真实关键路径少于10条的,此部分为0分;
3) 时序瓶颈分析的总运行时间少于2小时且找出10条或以上真实关键路径的,根据cpu运行效率高低决定1,2,3档,分别给予30分、25分、20分。
?
奖项设置:
一等奖1名,奖金人民币10000元;
二等奖3名,奖金各人民币5000元。
?
作品提交要求
1.?成果展示ppt;
2.?设计瓶颈诊察分析脚本(可用语言为tcl, perl或python)和由该脚本自动产生的虚拟eco的pt tcl脚本;
3. 诊察的结果(前10关键路径)和虚拟eco后用gen_rpt.tcl产生出来的时序报告。
?
涉及软件
pt (时序分析和虚拟eco检验)(以及相应用户手册)
formality(用于形式验证检验)(以及相应用户手册)
新思科技企业简介
新思科技(synopsys, inc.,纳斯达克股票市场代码:snps)致力于创新改变世界,在芯片到软件的众多领域,新思科技始终引领技术趋势,与全球科技公司紧密合作,共同开发人们所依赖的电子产品和软件应用。新思科技是全球排名第一的芯片自动化设计解决方案提供商,全球排名第一的芯片接口ip供应商,同时也是信息安全与软件质量的全球领导者。作为半导体、人工智能、汽车电子及软件安全等产业的核心技术驱动者,新思科技的技术一直深刻影响着当前全球五大新兴科技创新应用:智能汽车、物联网、人工智能、云计算和信息安全。
新思科技成立于1986年,总部位于美国硅谷,目前拥有16000多名员工,分布在全球135个分支机构。2021财年营业额超过41亿美元,拥有3400多项已批准专利。
自1995年在中国成立新思科技以来,新思科技已在北京、上海、深圳、厦门、武汉、西安、南京、香港等城市设立机构,员工人数超过1600人,建立了完善的技术研发和人才培养体系,秉持“以新一代eda缔造数字社会”的理念,支撑中国半导体产业的创新和发展,并共同打造产业互联的数据平台,赋能中国的数字社会建设。新思科技携手合作伙伴 未来,让明天更有新思!
了解更多企业信息请前往synopsys官网
https://www.synopsys.com/
中国研究生创大赛简介
中国研究生创“芯”大赛由教育部学位管理与研究生教育司指导,中国学位与研究生教育学会、中国科协青少年科技中心主办,清华海峡研究院作为秘书处。赛事作为中国研究生创新实践系列赛事之一,服务于国家集成电路产业发展战略,旨在切实提高研究生的创新能力和实践能力,促进集成电路领域优秀人才的培养,至今已成功举办四届。第五届大赛参赛作品共有集成电路设计、半导体器件与工艺、eda算法与工具设计三大方向,另外还设有十一家企业命题并设立专项奖。大赛作为集成电路领域的专业赛事,汇聚了全国顶尖高校师生团队以及学业界各方资深嘉宾、评委,为参赛队员们提供了一个绝佳的实践机会与能力交流平台,获奖队伍除了丰厚奖品外,更有mpw流片支持与企业人才应聘机会!?
浙江大学杭州国际科创中心坐落于美丽的钱塘江畔,分成建设区块和启动区块进行建设。
目西接亚运村,东连萧山机场,整体规划1200亩(含配套用地200亩),分三期建设。其中,一期项目亚运会之前完工,规划布局1个微纳设计与制造公共技术平台和若干个领域型产业创新平台,新建微纳超净间实验室、超算中心、公共实验平台、学科研究平台、产业孵化中心等教学科研设施。