1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Spyglass,进行,CDC,检查的介绍,1,内容,规则检查的必要性,Spyglass,软件介绍,规则检查一般步骤,RTL,规则检查的,TCL,应用方式,CDC,检查,UI,操作一般步骤,常见夸时域处理方式介绍,2,执行部门编码设计规范、规范代码风格,增强代码通用性、一致性,提高代码执行效率,增强代码可读性,便于后期维护,检查通用约定,其他,规则检查的必要性,3,Early Design Closure,:加快项目进度、降低风险、降低成本,规则检查的必要性,4,规则检查的必要性,CDC,检查可以,发现
2、仿真、,FPGA,测试很难发现,的,跨时域,问题,可以检查出基本的复位、时钟是否使用正确,对跨时域,设计进行评估检查,对潜在,的跨时域,处理问题进行检查,5,Spyglass,软件介绍,规则检查工具,Synopsys,:,leda,Aldec,:,Active-HDL,ATRENTA,:,Spyglass,NOVAS,:,nlint,Mentor,:,DesignChecker,6,Spyglass,软件介绍,功能,目前,license,支持的功能,7,Spyglass,软件介绍,功能,RTL Analysis,8,Spyglass,软件介绍,功能,Metastability,Reconver
3、gence,Data hold problem(data loss),Design intent across clock domains,Reset synchronization,CDC,检查,9,Spyglass,软件介绍,10,规则检查一般步骤,设计输入、基本设置,选定目标、运行,结果分析,输入源文件、约束、库等相关文件,设置设计语言、宏、参数、,blackbox,、扩展名等,选择一个(多个)目标,目标规则、参数设置,运行所选目标,通过点击具体报告定位错误,借助原理图、波形定位错误,举例讲解实际操作步骤,11,部门规则检查的应用方式,RTL,检查的,TCL,应用方式,CDC,检查的,界
4、面,应用方式,一般需要对设计进行多次,RTL,规则检查,且每次代码有修改都要,重复,进行,RTL,规则检查,TCL,方式方便快捷,对,license,占用时间相对较短,可通过查看报告直接进行,debug,,一般无需界面方式,跨时域设计一般设计到的层次较多,界面方式,debug,较直观,CDC,检查只需要对使用了跨时域设计的代码进行检查,CDC,检查通过后,只要时钟方案没有改变,一般不需要再次检查,Spyglass,应用方式,12,RTL,检查的,TCL,应用方式,需要文件,具体使用:参考,help.txt,文件,sg_run:,使用,chmod 777 sg_run,命令转换为可执行文件,fh
5、base_rule.tcl:,部门所用规则集,无需修改,file_list.f:,用户文件列表,需要根据具体情况做修改,输出文件,顶层模块名,-rpt.log:,规则检查报告文件,运行,./sg_run,顶层模块名,应用举例,Spyglass,应用方式,13,CDC,检查的界面应用方式,需要文件,spyglass.sgdc:,约束文件,file_list.f:,用户文件列表,需要根据具体情况做修改,运行,spyglass,命令启动软件,应用举例,Spyglass,应用方式,14,CDC,检查,UI,步骤,输入,file,list,和,sgdc,约束文件,15,读取源文件,CDC,检查,UI,
6、步骤,16,选择,goals,并运行,goal,helps,选择,6,个,goals,CDC,检查,UI,步骤,17,debug,CDC,检查,UI,步骤,18,Metastability,Reconvergence,Data hold problem(data loss),Design intent across clock domains,Reset synchronization,CDC,常见问题,CDC,常见问题,19,Reset synchronization,CDC,常见问题,错误!,正确!,20,Metastability,错误!,正确!,CDC,常见问题,21,Reconver
7、gence,错误!,正确!,CDC,常见问题,22,Data,hold problem(data loss,),错误!,CDC,常见问题,failed,23,Data,hold problem(data loss,),正确!,CDC,常见问题,24,Design,intent across clock,domains,Handshake,FIFO,CDC,常见问题,25,Design,intent across clock,domains,Handshake,CDC,常见问题,26,Design,intent across clock,domains,Handshake,req=1,接收端采集数据,CDC,常见问题,27,Design,intent across clock,domains,Handshake,数据采集脉冲,ack=1,req=0,ack=0,CDC,常见问题,28,寻求帮助,界面方式下通过,help,按钮调出所需帮助,命令行下直接运行命令:,spyhelpviewer,29,