首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客36555359号
湖南理工学院 数字IC后端设计
发布于上海
关注
已关注
取消关注
@IC修真院:
IC小白看过来!数字后端设计高频名词,持续更新中......
🙋♂️数字后端设计高频名词 📝 持续更新中...... 📌 名词 🗒 诠释 纳米级设计 在半导体器件中,常使用金属互连线来连接电路中的不同部分,从而实现设计。随着工艺技术的发展,这些互连线逐渐开始影 响设计的性能。对于深亚微米或者纳米级别的工艺技术,互连线间的耦合效应会带来噪声串扰,而这两者都会限制设计的运行速度。虽然声串扰带来的影响在老一代的工艺技术下是可以忽略不计的,但在如今纳米级别下已经不容忽视了。因此不论是物理设计还是设计验证都应考虑到噪声和串扰的影响。 静态时序分析(STA) STA被称为静态的原因是其对于设计的分析是静态地执行的,并不依赖于施加在输入端口上的激励。 为何使用静态时序分析? STA是一种可以验证设计中所有时序要求的详尽方法,而其他时序分析方法例如时序仿真则只能验证到被当前激励执行到的那 部分时序路径。基于时序仿真的验证完备性取决于施加激励的完备性。如果使用时序仿真来验证一个千万门级别的设计,速度将会 非常慢,并且实际上也无法充分验证。因此,想要基于时序仿真的方法来进行详尽的时序验证是非常困难的。相比之下,STA则提供了一种更快更简单的方法去分析并检查设计中的全部时序路径。鉴于如今的ASIC设计规模已达千万门级 别,STA已经成为了详尽地验证设计时序的必要方法。 PT:prime time 是一个静态时序分析工具。 单元(standard cell) 片中的大多数复杂功能通常是使用基本构建块(basic building block)来设计的,这些基本构建块实现了简单的逻辑功能,例如与、或、与非、或非、或与非,与或非以及触发器(flip-flop)。这些基本构建块是预先设计的,称为标准单元(standard cell)。 sta分析步骤: 1.设计被分解成若干时序路径; 2.计算每条路径的延时; 3.路径上的延时是否满足时序约束。 timing path的种类 In2reg reg2reg reg2out in2out path delay path delay=cell delay+net delay Cell delay =f(input ransition+outputload) Net delay=f(Rnet,Cnet+Cpin) 线负载模型(wireload models) 行布局规划(floorplanning)或布局(layout)之前,可以使用线负载模型(wireload models)来估计由互连线带来的电容、电阻以及面积开销。线负载模型可用于根据扇出数量来估计网络的长度,线负载模型取决于(block)的面积,具有不同面 积的设计可以选择不同的线负载模型。线负载模型还可以将网络的估计长度映射(map)为电阻、电容以及由于布线而产生的相应面积开销。 setup time 触发器的上升沿信号到来之前,数据稳定不变的最小时间。 Hold time 触发器的上升沿信号到来之后数据稳定不变的最小时间。 PT阶段需要读入和导出的文件 FANOUT 输出端口所挂input pin的数目。 transition time 信号从1跳为0或者从0跳为1的时间。 noise 信号在传输过程中,会有高低电平的跳动,相邻信号之间可能会产生干扰,将这种干扰称为noise。 sdc 设计中的一个重要文件,主要对电路时序进行约束,决定芯片是否满足设计要求。包括时钟sdc,边界sdc等等。 子时钟 能定义分频,倍频,反转的钟,波形。 lib 全称liberty library format(以• lib结尾),用于描述物理单元的时序和功耗信息的重要库文件。lib库是最基本的时序库,通常文件很大,分为两个部分,第一部分定义了物理单元库的基本属性,它包括: 1)单元库名称,文件版本,产生日期及单元的PVT环境等; 2)定义电压,电流,电容,时间等基本单位; 3) 定义电路传输时间和信号转换时间的电压百分比; 第二部分是每个单元的具体信息,包括单元的延迟时间,泄漏功耗,内部功耗等。 Timing arc 主要分为定义时序延迟,和定义时序检查两种。 Timing Constraint 按照它们的用途,大致分为以下几类: (1)描述芯片的工作速度,即时钟的频率,包括create_clock,create_generated_clock等 (2)描述芯片的边界约束,包括set_input_delay,set_output_delay等; (3)描述芯片的一些设计违反rule(DRV),包括set_max_fanout,set_max_capacitance, set_max_transition等; (4)描述设计中一些特殊的路径,包括set_false_path,set_multicycle_path等; (5)描述设计中一些需要禁止的timing arc,例如set_disable_timing。 边界约束 STA并不能去检查一条没有被约束的路径,因此所有的端口上路径都必须被赋予边界约束。 set_input_delay:输入信号是在时钟沿后多长时间到达模块的port上的set_input_delay 和set_output_delay都是对外部的延时信息的描述。set_output_delay:输出信号在后级模块中需要在时钟沿之前提前多长时间准备好。 系统接口sdc 包括set_drive, set_driving_cell, set_input_transition, set_load这四条命令,都是和端口上的驱动负载有关。 set_drive:设置输入端口或者双向端口的电阻值,主要是为了更加精确的估计输入电路的延迟,需要知道信号到达输入端口的transition time,set drive使用一个确定的值来估计输入端的输入电阻,从而得到输入端口的延迟,该值越小,驱动能力越强。 set_driving_cell:这个约束其实跟set_drive实现的是同一个功能,指使用设计库中的某一个单元来驱动输入端口,然后按照该单元的输入电阻来计算tranition time,从而得到输入端口的延迟。 通常要比set_drive使用更多,一般用在block level上, 因为会考虑OCV等因素,会更加准确一点。 set_input_transition 设定输入端口的transition time,一般用于chip io pad约束,因为Pad上电压都比较高,对应的capacitance和transition也比较大,没法用driving cell. set_load:设置输出电路的负载。由于外部电路的负载将会影响到接到端口上单元的延迟,因此需要对端口的带负载能力做限制。为了比较精确地计算出输出电路的延迟,需要知道输出电路的所有负载。电路负载电容越大,延迟时间越大。 时序特例 针对一些路径需要的一些特殊设定,常用的有 set_false_path, set_multicycle_path, set_max_delay, set_min_delay等 set_false_path: false path是指在正常工作环境下,并不真实存在或者经过的路径,比如说一些静态输入信号产生的path。像这样的path,可以指定set_false_path。这样工具在计算timing时就不会去分析它。值得注意的是,设定false path时一定要非常小心,一定要和designer仔细确认下,不要把正常的path给误伤掉。 set_multicycle_path: 指的是两个寄存器之间数据要经过多个时钟才能稳定的路径,一般出现于组合逻辑较大的那些路径,也有可能是一些慢时钟去踩快时钟的路径。对于这些路径,可以设置multicycle path。同样的,设置multicycle path时,也需要非常谨慎,需要和前端沟通好,该条path要设几个cycle, -start还是-end也要理解清楚,而且默认的hold的multicycle比setup少一个。 set_max_delay: 指定某段path的最大延迟,超过就是violation。用于某set_min_delay: 指定某段path的最小延迟,小于该值就是violation。用于某些特定的path,限定该path至少应该走这么长delay. SDC 主要包括set_max_capacitance,set_min_capacitance,set_max_fanout,set_max_transition。一般情况下lib库里面会有这些约束,但是往往为了时序更好,会在sdc里面更加严格的去约束它。 set_max_capacitance,set_min_capacitance:设定了某一端口所连互连线的最大和最小负载电容,负载电容是互连线自身电容和扇出电容之和。 set_max_fanout:约束了某条net上驱动的所有cell的个数的总和,而这条net可以由input port驱动,也可以使内部的任何一条net。需要注意的是,max fanout并不是用来约束output port的,因为一个输出端口可能会连有很多条net。 set_max_transition: 设定端口信号的最大转换时间,需要注意区分data transition time和clock transition time,一般clock的transition time要小一点。 设计规则相关的sdc 也就是drv. 主要包括set_max_capacitance,set_min_capacitance,set_max_fanout,set_max_transition。一般情况下lib库里面会有这些约束,但是往往为了时序更好,会在sdc里面更加严格的去约束它。 set_max_capacitance,set_min_capacitance:设定了某一端口所连互连线的最大和最小负载电容,负载电容是互连线自身电容和扇出电容之和。 set_max_fanout:约束了某条net上驱动的所有cell的个数的总和,而这条net可以由input port驱动,也可以使内部的任何一条net。需要注意的是,max fanout并不是用来约束output port的,因为一个输出端口可能会连有很多条net。 set_max_transition: 设定端口信号的最大转换时间,需要注意区分data transition time和clock transition time,一般clock的transition time要小一点。 setup检查 是为了检查数据传输不能太慢,否则,在目的寄存器的capture edge不能正确的锁存数据。因此数据传输所用的时间Arrival Time就必须要求在Require Time内传输到目的寄存器,因此slack(松弛时间)=Require time- Arrival time。 hold time(保持时间) 检查的是数据不能传输太快,太快会影响前一次数据的锁存。因为是检查数据传输得不能太快,所以对于hold来,Arrival time就应该比Require time要长。 min path early path,就是先到的path,延迟较低。用于hold分析,通常也叫作min path。 max path late path到的path,延迟较高。用于setup分析,通常也叫作max path Timing derate 为时序增减因子。不同点的温度,金属不均匀,串扰,晶体管沟道长度等影响因素,导致片上各个位置单元延迟不一样。因此,需要一个缩放因子来让设计更加严格。 CPPR 全称Clock Path Pessimism Removal(Clock Reconvergence Pessimism Removal),中文名“共同路径悲观去除”。它的作用是去除clock path上的相同路径上的悲观计算量。 转换时间transition time 电压从10%VDD上升到90%VDD所需要的时间,或者是从90%VDD下降到10%VDD所需要的时间,当然也可以是20%VDD上升到80%VDD的时间,具体要看timing lib库里面的Latency, 时钟传播延迟。主要指从Clock源到时序组件Clock输入端的延迟时间。它可以分为两个部分:时钟源插入延迟(source latency)和时钟网络延迟(network latency) source latency 也被称为insertion delay。主要指从clock source端到clock定义端的延迟,即是时钟源(例如PLL)到当前芯片时钟根节点(clock root pin)之间的延迟。 network latency:主要指从clock定义端到时序器件的clock pin端的延迟。由于时钟到每个寄存器的路径延迟不一样,造成信号到达 clock pin 的时间也不一样,把时钟信号到达不同寄存器的时间偏差称为skew。 uncertainty 简称时钟不确定性。主要用来定义Clock信号到时序器件的Clock端可能早到或晚到的时间,降低了时钟抖动jitter对有效时钟周期的影响。 大家看完记得点赞、评论、收藏一键三连!多多支持[加油]
点赞 7
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
不愿透露姓名的神秘牛友
06-19 20:55
现在有点后悔拒绝小米
因为业务不是喜欢的,所以就没去,现在实习工作也有很多dirtywork,很后悔,怎么能舔回这个offer啊
flmz_Kk:
试一试跟hr舔回来,不过保不齐米的活也有很多dirtywork,只能说不要美化自己没走过的路
点赞
评论
收藏
分享
06-20 18:30
门头沟学院 Java
实习开始时间可以改吗?
收到腾讯的offer邮件了,也告诉我实习开始时间,但是那天我考试,可以联系HR往后挪一挪吗?会不会让offer撤回啊
投递腾讯等公司7个岗位 >
点赞
评论
收藏
分享
05-08 16:37
大连工业大学 Java
笑死我了
VirtualBool:
都去逗他了?
点赞
评论
收藏
分享
05-12 17:12
河南科技大学 Java
项目是不是得换啊,感觉来不及
一次实习都还没有,现在应该去做什么,项目加点功能怎么样?
摆子大王:
你这项目名叫欢乐生活,介绍里又叫黑马点评
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
06-20 14:55
应届生大甩卖
找工作找的好累,已经毕业了,寝室4个人,1个人二战考研,1个人出国留学,2个人在找工作
从今天开始狠狠卷JVAV_癫:
查看图片
我的求职精神状态
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
27届 两进字节!!从计算机小白开始的打怪升级之路!!
1.2W
2
...
27 届前端鼠鼠拿下 3 家大厂 OC,拒 6 面的上岸攻略
9028
华为开奖进展
热聊中
3
...
异地+卷王,有未来吗?
7791
4
...
拒绝了美团offer
5469
5
...
中金所技术 上海 暑期实习 有人有消息了吗
3076
6
...
开个答疑贴,3年前端,知无不言
2528
7
...
双非鼠鼠终于也有大厂offer了
2340
8
...
我终于知道tplink为什么没面经了
1841
9
...
全部门都知道我被客户骂了
1601
10
...
女开发pdd的offer要不要接啊?
1481
创作者周榜
更多
正在热议
更多
#
你找实习最大的坎坷是什么
#
20815次浏览
244人参与
#
如果可以,你希望哪个公司来捞你
#
90633次浏览
377人参与
#
我的职场心眼子段位
#
15560次浏览
448人参与
#
春招别灰心,我们一人来一句鼓励
#
112874次浏览
1294人参与
#
实习最想跑路的瞬间
#
16412次浏览
128人参与
#
我的求职精神状态
#
88072次浏览
1043人参与
#
这些公司卡简历很严格
#
37710次浏览
190人参与
#
当你面对裁员会如何?
#
268184次浏览
2388人参与
#
机械人,你被简历秒挂的企业有哪些?
#
40861次浏览
273人参与
#
职场破防瞬间
#
241041次浏览
2233人参与
#
打工人的工作餐日常
#
43310次浏览
349人参与
#
你的工资什么时候发?
#
28910次浏览
215人参与
#
华为存储OD事变
#
129316次浏览
694人参与
#
妈妈治愈了你哪些脆皮时刻
#
26939次浏览
296人参与
#
tplink提前批进度交流
#
167010次浏览
1403人参与
#
职业发展规划如何回答
#
37839次浏览
235人参与
#
软开人,说说你的烦心事
#
50716次浏览
363人参与
#
机械制造2024笔面经
#
1213547次浏览
11840人参与
#
研究所笔面经互助
#
71290次浏览
457人参与
#
嵌入式岗知多少
#
43180次浏览
460人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务