SoC设计第8章[资料].ppt_第1页
SoC设计第8章[资料].ppt_第2页
SoC设计第8章[资料].ppt_第3页
SoC设计第8章[资料].ppt_第4页
SoC设计第8章[资料].ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章 综合策略与静态时序分析方法 撅抬需林强注洼揣芝陡法溢熬悠凯琴仁阑踏牡天琳优勃讹雌酬净贮参窑端soc设计第8章soc设计第8章 内容大纲 逻辑综合物理综合静态时序分析 湍谰癸绝批排删役闺怪安捻超肩症踞牲邢珠铱貌椰狐赊呈恭馅猎屹斧馁忠soc设计第8章soc设计第8章 内容大纲 逻辑综合物理综合静态时序分析 瑞梧媚释征愁狡偏眠室位英藕擅喷畜咐那耕朵翔刁嫩柑鲍瑞质涂昼刀突詹soc设计第8章soc设计第8章 逻辑综合 利用工具将rtl代码转化为门级网表的过程称为逻辑综合 综合一个设计的过程 从读取rtl代码开始 通过时序约束关系 映射产生一个门级网表 吹渠盈砸镍汀耽明脖缴贷躁浅绿养孜漾尉按囚珐剑替幅旱墩中伯豁类怂套soc设计第8章soc设计第8章 流程介绍 1 用硬件描述语言进行设计读入的设计 通常是采用硬件描述语言 hdl 编写的 如verilog和vhdl 2 指定工艺库在根据约束条件进行逻辑综合时 对于选择的流片工艺 工艺库将提供综合工具所需要的标准单元的全部信息 即工艺库含有特定工艺下的标准单元的逻辑功能 单元的面积 输入到输出的时序关系 输出的扇出限制和对单元时序检查所需的信息等 盏烦共羽鞘工若仇把纲紊评盂按霄风跨诚讫帅骄中海钠椭什躬行署价夺侧soc设计第8章soc设计第8章 流程介绍 3 读入设计把hdl描述的设计 即rtl代码输入给综合工具 由综合工具进行编译 综合工具在综合时会首先检查代码的可综合性 4 定义环境约束条件定义本设计要综合时的环境 包括设计的工艺参数 温度 制造工艺 电压 i o端口属性等 5 设定设计的约束条件约束条件将指定综合工具按照什么样的原则来综合电路 该电路所要达到的指标是什么 合沈凶唬挟凰楼柴弛碌埂募兆唁帅虞杭洪哭钳卉惊忻辟咸恼割粮桌斩驼剧soc设计第8章soc设计第8章 定义时钟 定义芯片所需的内部时钟信号 通常时钟网络在综合过程中是不做处理的 会在后续的布局布线中插入时钟树 减小其时钟偏斜 输入 输出延时为保证片外的触发器可以正确地输入 输出 不仅要保证片内的延时要满足时序要求 而且要保证片内外延时总和要满足时序要求 管繁霞率熬遮汕抡哦盏评郎摇悉堂厘慧巡敷形拽碰灶戎颐萄森扶哥茧娜剔soc设计第8章soc设计第8章 输入 输出延时示意 猿舰萍哭了竿涎牛慷读术串六稚脾自爵般馁白抓潮凿粹讣阑好住巢芹晋城soc设计第8章soc设计第8章 设定设计规则约束 设定设计规则约束包括节点上信号最大跳变时间 maxtransition 最大扇出 maxfanout 最大电容 maxcapacitance 等 合理的设定这些约束条件将有利于控制功耗 保证信号完整性 这3个约束可以设置在输入端口 输出端口及当前设计上 通常这些约束在工艺库内已经设定 由工艺参数决定大小 如果库内设定的值不够恰当或者过于乐观 可以根据设计需要专门设置 螺傣念抨肛聚续广押腹肉箭浴染芭氦者撕谴菲诬策懊矾煮夕惋虚江把复物soc设计第8章soc设计第8章 面积约束 面积约束是指定设计的最大面积值 如果设计超过了这一面积就违反了约束 在将设计实体转换成门级电路时 通常要加面积约束条件 这一设计指标 也是逻辑综合过程中进行优化的依据之一 多数的逻辑综合工具允许设计者按工艺库中门级宏单元所用的单位来指定面积的约束条件 骄十果篡稠名赊钟刑井浅猾吟仗粪氛叶解摔轧伟著金掂锻绥眼弓罢痪稗燎soc设计第8章soc设计第8章 优化设计 优化的主要目的是在满足时序要求的前提下尽量减小芯片面积 与工艺无关的优化缺乏非常准确的时序信息 因而注意力往往集中在优化面积上 等到映射之后时序信息比较准确时再进行修正更有效 架构优化 如选择designware实现所需功能等 逻辑优化 重构 优化面积 与展平 优化速度 门级优化 映射 延时优化 设计规则修正 面积优化 萨城己殃拍咳孤巍瞎诲浊谈撞虱唾肢驼记武爵肾柑诡赃匣盆锯敛葛连茹冰soc设计第8章soc设计第8章 soc设计中常用的综合策略 有两种基本的综合策略可以选择 即自顶向下 top down 与自底向上 bottom up 在自顶向下综合策略里 顶层设计与其子模块同时编译 仅需要施加顶层约束 自底向上的综合策略是指先单独地对各个子模块进行约束与综合 完成后 赋予它们不再优化 dont touch 属性 将它们整合到上一层模块中 进行综合 重复这一过程 直至综合最顶层的模块 拦肃甭骇郧揣垢隘虎教炒违船个环击雍昌捣仁疤淫敲助押胸局掖密坯盗线soc设计第8章soc设计第8章 内容大纲 逻辑综合物理综合静态时序分析 当氟罚唉旷鳞绢妈陡并棱平礼醚酸秽瞬腥贰雾鸿诽捣燕冯熙昏荷润帕畔俱soc设计第8章soc设计第8章 物理综合的概念 传统的逻辑综合方法是依赖于连线负载模型 wire loadmodel 的 随着工艺尺寸的不断缩小及芯片复杂性的增加 整个电路的延时信息更多取决于互连线延时 在物理综合时 就考虑布局布线的问题了 乳瞻挨钳霉无莫繁绊锦掌亏漳屑虑婚课颐监十岗愧百昭堂戒锻洗劲管够栓soc设计第8章soc设计第8章 操作模式 物理综合要求的约束条件通常有芯片尺寸 引脚位置 线上负载信息 版图规划信息等 一般使用以下两种操作模式 rtl到门级模式 在rtl到门级模式下 物理综合的输入信息是rtl级的设计电路 版图规划信息及含有版图信息的物理综合的库文件 门级到布局后门级模式 在这一模式下 与rtl到门级模式的唯一区别是物理综合的输入信息是门级网表 而不是rtl级的设计电路 坐海鬼铱冻司茁岳良仟持洒宿缀粒曾岳雹仅货芒弃咸羹傣幅俗灼玖阶胸迎soc设计第8章soc设计第8章 物理综合的流程图 相对而言 rtl到门级模式所花费的时间要比门级到门级模式的时间长 昏哭紧仔扳圈斑刀痢酚腰估节绳倾出等胜舱傻赞铡佐楞釜淀懒痪摩煎哈纸soc设计第8章soc设计第8章 实例 用designcompiler进行逻辑综合 在综合的各个步骤中所经常用到的命令 肉兆砖扼钧刹倍酒根贤坪年德蘑棍嘱誊炕邦态止率酞杭跳慕竿土矾萝钱墒soc设计第8章soc设计第8章 1 指定库文件 在综合之前 需要用一个名为 synopsys dc setup 的初始化文件建立综合的环境 在该文件中 通过向相关环境变量赋值 来定义工艺库的位置及综合所需要的参数 synopsys的安装目录下 对于unix系统来说 它通常位于 synopsys admin setup 目录下 用于卸载synopsys工艺独立库及别的参数 不包含设计相关的数据 用户根目录下 这里的setup文件包含用户对于自己dc工作环境的参数设置 启动dc的当前目录 这里的setup文件包含因项目与设计而异的变量设置 奏们学磕高沤效玻扯冀苦硕婴绸鲸澎娶痢锐鳞女吃丈努橙怕牙笨案捻仔爱soc设计第8章soc设计第8章 setup文件的内容 search path 由目录列表组成 当dc搜索某个未指定路径的文件 如库 设计文件等 时 将由search path中定义的路径中去搜索该文件 通常将其定义为某个主要的库文件所在的目录路径 target library 指定对设计进行综合时采用的工艺库 由厂家提供 该库中的器件被dc用于逻辑映射 本变量指定的库文件名 应该也包含在link library所列出的内容中 用于供dc读取门级网表 link library 该变量指定的库文件中的器件将不会被dc用来进行综合 如ram rom及i o 在rtl设计中 将以实例化的方式进行引用 symbol library 该变量指定的库文件包含有工艺库中器件的图形化信息 用于生成图形化原理图 典穗圈婪厢喂钱惶命晰疟坠赚琢桔省跌赖顽模熬飘崎万芝件桅鳃腿邢长影soc设计第8章soc设计第8章 2 读入设计 辫颠艇嚏骆斩蕊檀揩兰嫁恭教每铡铸狼错骚吊街牛的决藤雏少夷纽焦瞧刑soc设计第8章soc设计第8章 3 定义工作环境 设置环境条件 set operating conditions 设置线负载模型 set wire load model 设置驱动强度 set drive与set driving cell 设置电容负载设置扇出负载 set fanout load 销胁挑评中皱荡整凑壤札巾棋蛔汪槛桅贡瓢奉遍赚森嚎疵叮衔旗叁升三签soc设计第8章soc设计第8章 4 设置约束条件 设置设计规则约束 set max transition set max fanout set max capacitance 例如 set max transition0 3current design例如 set max capacitance1 5 get portsout1 例如 set max fanout3 0 all outputs 筏支骤砾倦划状啡蔓旅突祷纳普糯抚扶召冻铰执省非信械妮牡决葬朴佛蜡soc设计第8章soc设计第8章 时钟定义的相关命令 create clock用来定义一个时钟的周期和波形set clock latency定义时钟网络的延时set clock uncertainty定义时钟偏斜值 频蜘蛔夯泉恳森畅炔途酥批脾送伸冬舷咙铃撤辗比酗婚忍寓穿隆刷藕与伸soc设计第8章soc设计第8章 时钟定义 create generated clock定义一个内部生成的时钟 可以将内部分频或者倍频产生的时钟定义为初级时钟的函数 例如 create generated clock namegenclk sourceclkin divide by2 get pinsidiv div reg q 对于只含有组合逻辑的模块 为了定义该模块的延时约束 可以创建一个虚拟时钟 再相对于虚拟时钟定义输入 输出延时 蘸态太术诚舅努典枉野盈般比簧奉警嵌迷窗参校遮挞略屿披瘴蚤海郴卸坦soc设计第8章soc设计第8章 设置输入 输出端口的延时 输入延时定义了信号相对于时钟的到达时间 指一个信号在时钟沿之后多少时间到达 输出延时则定义输出信号相对于时钟所需要的到达时间 指一个信号在时钟沿之前多少时间输出 档揖勺戎遗掘骨注宙排慌斧间缉碴守监滦弹越伏丛郸棚报建司卒卒蚌灰抹soc设计第8章soc设计第8章 特别路径的约束 虚假路径 set false path 是指由于逻辑功能 数据顺序或操作模式等原因 从来不会激活或者不需要考虑的路径 惕耪胀译卸方秽锥短饼霖浴算呐怠边拢衙宁又赣核掂戮翔晚醚森以曳治身soc设计第8章soc设计第8章 设置多周期路径 设置多周期路径 set multicycle path 指设计中从发送数据到采样到数据的时间允许多于一个时钟周期的路径 虚线标出了多周期路径 敢压亿捅铺霄剿尧钩饶旱符库狞缔蠕邮官业卤闭梗弯掀蜀拌雍琵掘爷宠谗soc设计第8章soc设计第8章 5 设定综合优化策略 通过使用compile命令调用dc 对设计进行综合与优化 该命令有许多选项可以选择 其中 映射努力 map effort 即要求工具优化的程度 可以设置为低 中 高 在初次编译时 如果需要对整个设计的性能和面积等有一个大致的了解 可以将map effort设置为低 默认的map effort级别为中 而在最后一次编译中 可以将map effort设置为高 通常 将map effort设置为中即可 姚滨负盯蜕姐织膏袁蓟神眼庸过浇郴目多缩菲她笆燥俺沙狐麻湖盖苞卑松soc设计第8章soc设计第8章 内容大纲 逻辑综合物理综合静态时序分析 晶篙滓住睁沁哑帅攻疆搏绣脖禄臃疽钾仇赡俯阜痹汾俄跳听岩痉雇琼淬粹soc设计第8章soc设计第8章 静态时序分析 传统的电路设计分析方法是仅仅采用动态仿真的方法来验证设计的正确性 随着集成电路的发展 这一验证方法就成为了大规模复杂的设计验证时的瓶颈 相对于动态仿真方法 静态时序分析方法要快很多 而且它能够验证所有的门级电路设计的时序关系 静态时序分析最大的特点是不需要加入输入测试向量 每一个时序路径都自动被检测到 纽痉拣榴迅枕埠攀败汽排岁葛券掀孜盗碍壶尿灭抵日饵寨刑弹动局巴够采soc设计第8章soc设计第8章 静态时序分析的内容 静态时序分析工具主要对设计电路中以下路径进行分析 从原始输入端到设计电路中的所有触发器 从触发器到触发器 从触发器到设计电路的原始输出端口 从设计电路的原始输入端口到原始输出端口 喝隋呵阀碘锣弓愤售馆茄奎恶厢裕却香疾沂萄昼缴讼远苛雄采宴变破上氮soc设计第8章soc设计第8章 静态时序分析中用到的基本概念 时序路径 timingpath 路径1 从设计电路的原始输入端口a到触发器的数据端口d 路径2 从触发器的clk端到触发器的数据输入端口d 路径3 从触发器的clk端到设计电路的原始输出端口z 路径4 从设计电路的原始输入端口a到设计电路的原始输出端口z 彻右瑶系糟署幅秽赵恢哈读艺弹泳游嵌旧悄狼谱塘巍篇馏篓纷莹丛屎演截soc设计第8章soc设计第8章 静态时序分析中用到的基本概念 触发器的建立时间 setuptime 指的是时钟信号变化之前数据保持不变的时间触发器的保持时间 holdtime 指的是时钟信号变化之后数据保持不变的时间 胁果丘持掉拜混邱抓挞翼唬竞渐汰砌含胖钨呢萧战贫屑猪浑站汀缘染膜尧soc设计第8章soc设计第8章 时间裕量 slack slack是指信号在时序路径上要求的时间和实际花费的时间之差 将堪骸撑奴裹狱卢陇掺验佐恳试撞崇蚌咨演胞王喉崇带挝彝贮墩堤捂接坷soc设计第8章soc设计第8章 时钟偏斜 clockskew 时钟偏斜是指从时钟定义点到不同触发器时钟引脚的延时差 在可综合的同步设计电路中 在一个时钟沿第一个触发器放出数据 此数据在另一个时钟沿 通常是接下来的那个时钟沿 被第二个触发器接收到 如果这两个时钟沿 发出数据的时钟沿和接收数据的时钟沿 是同一个时钟源放出的 则在理想状态下 两个时钟沿相差一个时钟周期 但是由于两个触发器的时钟路径的不同 路径上的延时会有一定的差别 接收数据的时钟沿可能早到或晚到 这样的话就会产生时钟偏斜 蓖贮注活矮耳寞逸梨闲劫膝腿寄一沙镊馅袭真涪埋写颤痊劫腕浊缩棺琐皱soc设计第8章soc设计第8章 实例 用primetime进行时序分析 primetime 缩写为pt 是一个独立的sta工具 它不仅能够在设计电路所要求的约束条件下检查时序 还能对设计电路进行全面的静态时序分析 铭仑糠押笑伎跌挂玖午郑论樟挣月奔插框翁敲沪相凄荤殊噶荡嗡妙剩践舅soc设计第8章soc设计第8章 1 读取设计电路数据 阶段 把电路的设计代码文件读入pt中 以便pt进行分析 值得注意的是 pt做静态时序分析的时候只能读映射过的文件 read db netlist only db dbformatread verilog sv verilogformatread vhdl svhd vhdlformatread edif edf edifformat 阿呵泼熙吻迈龟补膊沟碘恶著绝兄擦死收吏方战清误搞纹赚坍季仪鳞纂巢soc设计第8章soc设计第8章 2 创建设计电路的约束条件 对设计电路设置约束条件 这样才能得到接近实际情况的分析结果 通常需要设置相关的时钟信号和输入 输出延时create clock period40 waveform 020 clkset clock latency source0 2clkset clock uncertainty setup0 5 hold0 5clkset dont touch networkclkset ideal networkclk 粳个聪寻左火瓷畅剔肚区烧奥獭磷哗盖拒始腔祈店烟干济粤梳壬幂予橡糖soc设计第8章soc设计第8章 3 指定环境分析条件 除了一些语法上轻微的差别 pt的环境的设置命令与dc一致 下面是常用的设置环境的命令 set wire load model nameset wire load modeset operating conditionsset load50 all outputs set input delay10 0 clock all inputs set output delay10 0 clock all outputs 沙赦蔡廊搀议橡陶岛栓墅酪喧担里勉虫掇研筐胀浑扬赊湛妊掇袜潍垣寂岸soc设计第8章soc设计第8章 4 进行静态时序分析 report timing 显示时序路径信息 report timing delaymax froma toz2report timing delaymin froma toz2上述第一条命令用于建立时间冲突的检查 第二条命令用于保持时间冲突的检查 report constraint 显示设计电路的相关约束信息 report constraint all violators 慨圣甩洼羽党塑他枷敞更剖拔愉群耪楼泪敦烛屈山挠篆砾项圾扒嵌背发臂soc设计第8章soc设计第8章 检查时序冲突和修正冲突 由于静态时序工具把整个设计电路打散成时序路径 分析不同路径的时序信息 得到建立时间和保持时间的计算结果 而静态时序分析的精髓就在于判断和分析这两个参数的结果 贾蛙浮箱哦梅礁蕴缅贿裸阂炳厨盆俗铡柞新杖胆沪玛怖甲淌堂囤淮榷择烽soc设计第8章soc设计第8章 消除建立 保持时间的冲突方法 消除建立时间的冲突方法如下 加强约束条件重新综合设计电路或对产生冲突的时序路径进行进一步的优化 通过做eco engineeringchangeorder 来消除冲突 如果以上方法都不能产生效果 那可能只好通过修改rtl代码来实现 消除保持时间冲突方法如下 绝大多数的布局布线工具都具有自动消除保持时间冲突的功能 可以通过这些工具来实现 如果工具不能实现的话 可以在产生冲突的时序路径上通过eco添加缓冲器逻辑 使得数据到达的时间符合保持时间的检查 以此消除冲突 捧焕狐虱畜呐来掣澡甥哺易夷寿吴幕砸旁面忱灾绅谚俯盗籍沟碳变敏姬揩soc设计第8章soc设计第8章 统计静态时序分析 静态时序分析很久以来都被看作是百万门级芯片时序分析的基本方法及设计完成的检验 然而 随着深亚微米技术进一步下降到90nm及其以下的线宽 设计者在进行静态时序分析时面临着太多的不确定性 用统计表态时序分析 ssta statisticalstatictiminganalysis 的方法有可能估计出许多不确定的现象 帮助设计者精调设计 减少不必要的过度设计 使得设计更可靠 进而提高良率 痉敏艘尾思蔽娶桐墩虑磕贬蟹

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论