自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 正则匹配笔记(持续更新)

匹配前一个字符 0次或者1次,或指明一个非贪婪限定符。*:匹配前一个位置的字符0次或多次。+:匹配前一个位置的字符1次或多次。.:匹配除换行符之外的任何单字符。表示匹配 0到多个非空白字符。表示匹配 0到多个空白字符。欢迎补充ing~~~

2024-03-07 16:25:34 396

原创 TCL中string的部分用法理解?

除了前面提到的 `string first` 和 `string replace`,Tcl的 `string` 命令还提供了许多其他有用的字符串操作。在上述示例中,string first 将返回子字符串 "script" 在 `$myString` 中第一次出现的位置,即13。在这个例子中,由于使用了 `-exact` 选项,所以大小写需要完全匹配,而不会匹配到 "script" 的位置。- start:是可选参数,表示从字符串的哪个位置开始查找,默认是从字符串的开头开始。命令用于替换字符串的一部分。

2024-02-23 10:46:55 470

原创 后端设计PNR一点总结

module padding的设置,可以有效解决congestion问题,factor自己try,命令:setPlaceMode -place_global_module_padding xxxmodulename factor。overconstraint,早期阶段(如place)设uncertainty过约时序,可以减少后期的degrate,更快达到收敛,把事情做在前面。useful skew,让工具合理借用skew来解关键路径的时序,不一定有效果,具体要结合具体的design来看。

2024-02-22 13:50:24 757

原创 [后端设计]innovus命令editPin详解?

先放命令,有空慢慢写。

2024-02-06 22:25:09 706 1

原创 chmod 详解

参数可以将权限更改应用于目录下的所有文件和子目录,包括目录本身。在 Linux 和类 Unix 系统中,使用。

2024-01-27 17:59:49 419

原创 Clamp cell 介绍

通过使用clamp cell,设计人员可以确保系统中的电压始终在可接受的范围内。Clamp cell(夹持单元)是芯片设计中用于限制电路中某个节点的电压范围的重要电路单元。它的主要目的是确保电路中的信号或电源电压不会超出安全范围,从而保护芯片免受潜在的损坏或性能问题。当芯片温度超过预定的阈值时,clamp cell可以介入以限制或调整电路的行为,以防止过热引起的问题。除了电压,clamp cell也可以用于限制电路中的电流。通过限制电流,可以防止电路中的某些部分过载,从而提高整体系统的稳定性和可靠性。

2024-01-23 16:07:38 826

原创 Innovus 快捷键(更新ing)

快捷键 执行效果 注意事项 备注 q attribute editor 空格 使用空格键可以在多个重叠的目标之间快速切换 f fit a 鼠标为select模式 z zoomIn放大 shift+z zoomOut缩小 shift+x cut wire d select/deselect/dele

2024-01-15 09:38:12 568

原创 【教程】修复浏览器类似“Status_Invalid_Image_Hash“错误的方法

方法1:

2023-10-20 10:10:47 586

原创 【python】enumerate方法详解

是 Python 内置的一个函数,用于在迭代过程中同时获得索引和对应的值。它可以很方便地在循环中获取元素的位置信息。函数是一个非常方便的工具,用于在迭代过程中获取元素的索引和值,适用于循环遍历各种可迭代对象。中的元素与它们的索引一起返回,然后可以在循环中使用。下面是一个例子,演示如何使用。,指定索引的起始值。还可以接收第二个参数。

2023-08-24 15:57:41 231

原创 【TCL】中expr关于三目运算符的语法详解

在这个语法中,condition是一个条件表达式,如果条件为真(非零),则返回value_if_true,否则返回value_if_false。因为2是非零的,所以这个表达式的值是1。

2023-07-14 14:53:31 668

原创 tcl语言中join的详解

需要注意的是,当某个字符串本身包含了分隔符时,使用`join`连接后可能会失去原有的含义。在这个例子中,我们先定义一个字符串列表`list`,然后使用`join`函数将列表中的字符串连接为一个字符串,并指定连接分隔符为`-`。在Tcl语言中,`join`是一个非常常用的字符串操作函数,用于将多个字符串连接为一个字符串。其中,`list`表示需要连接的字符串列表,`joinString`表示用于连接字符串的分隔符,默认为空格符号。使用`join`函数可以完成多个字符串的连接。

2023-05-06 10:56:39 1457 1

原创 ​wcl、wc、lt、tc、ml​ corner理解?

lt:即low-temperature,也叫bc(best case fast),高电压,低温度,快工艺 -> 一般情况下delay最小,hold差。wcl:worst case low-temperature,低电压,低温度,慢工艺 -> 温度反转效应时delay最大,setup差。wc:worst case slow,低电压,高温度,慢工艺 -> 一般情况下delay最大,setup 差。tc:typical,也叫tt,普通电压,普通温度,标准工艺 -> 各种typical。

2023-04-26 17:30:51 4511

原创 【python】glob module详解

模式可以包含通配符,例如`*`匹配一个或多个字符,`?`匹配任意单个字符,`[seq]`匹配`seq`中的任意单个字符,`[!seq]`匹配不在`seq`中的任意单个字符。此外,还可以使用`{}`来指定多个选择项,例如`{foo,bar}`匹配`foo`或`bar`。该函数将路径字符串`path`中的所有特殊字符转义,使其可以安全地用于匹配路径。通过使用glob模块,可以方便地获取到符合指定模式的文件路径列表,适用于读取、写入和处理大量文件的场景,同时还可以使用通配符和正则表达式等高级匹配功能。

2023-04-21 16:25:12 650

原创 Python 内置函数set()详解?

set()` 是 Python 内置函数,用于创建集合(set)数据类型。集合是一组唯一且无序的元素,不支持索引,可用于去重、排序、数据查询等操作。`set()` 函数可以传入可迭代对象(如列表、元组等),或者一个字典,用于创建一个集合。在使用集合时,需要注意集合元素是无序的,且不允许重复元素。因此,在创建集合时需要注意元素内容的唯一性。此外,集合可以进行多种操作,如交集、并集、差集等,可以通过集合运算符( |、&、-、^)或 `set()` 函数中的方法实现。# 求对称差集,即取两个集合的差集的并集。

2023-04-18 11:24:38 552

原创 pandas中df.groupby详解?

本例中,我们根据 `Animal` 列进行分组,然后对 `Weight` 列进行求平均值。- `as_index`: 默认值为 `True`,表示分组列将在结果中作为索引;- `group_keys`: 默认值为 `True`,表示分组键作为新的索引,同时可以控制是否显示在结果中。- `squeeze`: 默认值为 `False`,表示当返回的组是一个单一的组,是否强制其成为一个序列。- `sort`: 默认值为 `True`,表示按分组键进行排序;- `axis`: 默认为 `0`,表示对行进行操作;

2023-04-17 17:15:43 1239

原创 pandas.loc详解?

5. 切片:`df.loc[1:3, "col1":"col3"]`,选取df中索引为1到3的行和col1到col3的列的所在行列的数据。2. 选择多列:`df.loc[:, ["col1", "col2"]]`,选取df的col1、col2列所有行的数据。6. 条件选择:`df.loc[df["col1"] > 5]`,选取col1中大于5的行的所有列数据。4. 选择多行:`df.loc[[1, 2, 3]]`,选取df中索引为1、2、3的行的所有列数据。

2023-04-14 17:54:45 3041

原创 innovus中时序路径debug及命令使用详解?

刚开始怀疑是sdc约束问题,check了input sdc文件及enc.dat/mmmc/mode/func.sdc。写在前面:发现place结果所有与outport相关的timing check都找不到?-unconstrained可以报出来没有约束的路径(比如false掉的路径)这个命令可以更新sdc,重新report timing。all_outputs:抓到所有的outport。all_clocks:报出来所有的clock。写出来untested的path的原因。

2023-04-10 17:02:03 1521

原创 bsub -Is -R “span[hosts=1] rusage[mem=500000]详解

2. "-R "span[hosts=1] rusage[mem=500000]"": 用于指定资源的限制和要求,以便作业能够成功运行。"span[hosts=1]" 表示要求运行任务的主机至少有一个可用的CPU资源。1."-Is": 用于将任务设置为交互式模式,允许用户在提交任务之后在shell中与任务交互,通常用于条件比较苛刻的交互式任务,例如编译器。关于bhist命令:bhist -la -n 0查看历史信息。bjobs -l jobid:可以查看job具体信息。

2023-04-07 17:11:57 1803

原创 It‘s in EDP ASYNC mode, continuing using the available slaves,在使用innovus工具时报这个error怎么处理?

增加从机数量:您可以增加可用的从机数量,以便 Innovus 工具可以更好地处理异步操作。调整异步操作参数:在 Innovus 中,可以通过设置“ASYNC_CTL_PARAMS”变量来调整异步操作的参数。主机通常是指具有处理器、内存、存储器等硬件资源的计算机系统中的主要计算设备,它可以通过总线或网络与其他设备通信,并控制其他设备的操作。在EDA工具中,从机通常用于加速计算的过程,例如在芯片布局和布线中,可以使用多个从机并行处理设计任务,以提高计算效率和速度。

2023-03-28 11:20:18 354

原创 PA分析中APL文件的理解

通常 Cell 的APL文件一般由FAB 提供,不用自己生成,MEM一般在Memory Compiler生成mem时一并生成AVM文件(相当于Cell的APL文件)。APL文件基于晶体管级别的仿真电流,比用LIB文件分析更准确。:对于本征电容值包含固有的分段线性电压关系,以及库中每个单元的 ESR 和漏电流,默认文件名字:*.pwcdev.普通仿真用不到。:对于库中的每个cell包含固有的去耦电容值,以及 ESR 和漏电流,默认文件名字:T_cap.cdev。二.APL文件通常包含以下三个文件。

2023-03-15 15:38:03 1868 2

原创 [Python]中OS module的使用详解?

会依次遍历指定目录及其子目录下的所有文件和目录,并返回当前目录的路径、子目录列表和文件列表。Python的os模块是用于与操作系统进行交互的标准库之一,它提供了许多有用的函数和变量,以便处理文件和目录。只会遍历当前目录及其子目录下的文件和目录,不会遍历符号链接所指向的文件或目录。需要注意的是,如果文件名中没有 ".",则返回的扩展名为空字符串。模块中一个非常有用的函数,用于遍历指定目录及其子目录下的所有文件和目录。这段代码会遍历当前工作目录及其子目录下的所有文件和目录,并输出相应的信息。

2023-03-14 18:06:47 326

原创 Timing Borrow的理解

但是,在某些情况下,时序约束可能会出现不满足的情况。在集成电路设计中,静态时序分析(Static Timing Analysis,STA)是一种常用的验证方法,用于确保芯片在运行时的时序约束得到满足。总之,在STA分析过程中,Timing Borrow是静态时序分析过程中非常重要的一种技术,用于在某些情况下临时借用一些时钟周期,以确保芯片的时序约束得到满足。如果数据到来的比较晚,在B点到来,只要不超过半个时钟周期,也是可以被采集到(因为latch是电平触发的,在有效电平期间它是透明的)

2023-03-14 15:40:00 836

原创 Latch和DFF时序逻辑单元的理解?

其中一个 NAND 门的输出连接到另一个 NAND 门的输入,而另一个 NAND 门的输出连接到第一个 NAND 门的输入,形成反馈回路。其中一个 NOR 门的输出连接到另一个 NOR 门的输入,而另一个 NOR 门的输出连接到第一个 NOR 门的输入,形成反馈回路。当 S=0,R=0 或 S=1,R=1 时,Latch 保持前一状态。总之,Latch 的工作方式是基于其内部的反馈回路和稳定性原理,它可以实现单比特的数据存储、传输和控制,常用于数字电路、计算机硬件和嵌入式系统等领域。

2023-03-14 11:17:14 2987

原创 linux三剑客-grep详解

搜索压缩文件:使用 -z 选项可以搜索压缩文件,例如:grep -z 'pattern' file.gz 可以搜索 file.gz 压缩文件中包含 'pattern' 的行。是一个常用的命令行工具,用于在文本文件中搜索指定的模式,并将匹配的行打印出来。则是要搜索的文件名,可以指定一个或多个文件,也可以使用通配符搜索多个文件。是要搜索的模式,可以是一个简单的字符串,也可以是一个正则表达式。只打印包含匹配项的文件名,而不打印匹配的行。指定包含要搜索的模式的文件,每行一个模式。的文件,并打印出包含该字符串的行。

2023-03-10 16:11:30 487

原创 与门做clock gating为什么容易出现glitch?ICG cell消除glitch原理

对于与门gating的时钟,如果时钟控制信号CLK和使能信号EN不是同时到达(实际很难),那么便会出现上图所示的output clock的glitch情况!为了减少glitch的出现,一般用ICG(集成门控时钟单元)来完成clock gatingICG cell的组成一般是一个Latch+与门:这里Latch对使能信号EN进行了修正,就是一个锁存,具体如下图(上图的负沿的Latch):通过一个latch,就完美解决了因与门产生的大量glitch问题,所以现在设计大多数都采用这种ICG cell。

2023-03-07 15:09:05 1765

原创 linux三剑客-sed详解

这个命令会将文件中所有包含"old"的字符串替换成"new",并保留"old"前后的内容。其中,".∗.∗"表示匹配任意字符,"\1"表示反向引用匹配到的第一个分组,"\2"表示反向引用匹配到的第二个分组。这个命令会将文件中所有5位数字后面添加"-0000",例如"12345"会被替换成"12345-0000"。其中,"[0-9]{5}"表示5位数字,"&"表示匹配到的内容。指定处理的行范围:可以使用行号或正则表达式来指定要处理的行范围。命令中可以使用数字来指定要替换的匹配项。命令可以替换字符串,格式为。

2023-03-07 09:17:17 242

原创 editPowerVia打孔命令详解

setViaGenMode -ignore_DRC true(针对有DRC打孔打不上的情况,设置上会忽略DRC)

2023-03-06 14:21:02 695

原创 关于IR Drop和Power的理解

在实际项目中,我们一般很晚才拿到VCD波形,而且VCD波形不能cover所有场景,所以vectorless分析过程中如何设置合适的toggle rate非常重要!太大结果悲观,不容易收敛。太小结果太乐观,发现不了真实存在的问题。特别是对于一个新项目新工艺。ReHawk在跑IR的时候会先计算power,这个power和ptpx计算的power会有部分差异,一般RedHawk的结果会大一些,2-3倍也属于正常情况。关于用RedHawk做IR Drop分析的过程中,工具是转化成电流X电阻的方式计算电压降的。

2023-03-01 18:00:25 1739 4

原创 Chip Thermal Model(CTM) 详解

CTM 的基本原理是将芯片划分为若干小块,每个小块内部的温度和相邻小块的温度有关。CTM 模型的计算涉及到很多参数,如芯片的尺寸、散热结构、电源功率、芯片的热导率、比热等。CTM 建立在热传导方程和热扩散方程的基础上,通过对芯片的物理特性进行建模,计算芯片内部的温度分布和表面温度。通过分析芯片的温度分布,可以确定哪些部分的温度过高,有可能导致芯片失效或缩短寿命,从而提前采取措施,避免故障发生。近年来,芯片的集成度和堆叠程度(3DIC)在不断的增加,其带来的热效应的影响也越来越明显。

2023-02-28 17:45:27 1504

原创 芯片设计封装中,Package Resonance的理解

他们需要通过模拟和实验来确定芯片和封装之间的谐振频率,并针对性地进行封装布局和电路设计优化,以消除谐振带来的影响。因此,在半导体设计封装中,Package Resonance 是一个需要被认真对待的问题,半导体设计师需要充分了解这种现象并采取相应的措施来避免 Package Resonance 带来的负面影响。当芯片和封装的尺寸、形状、材料等参数匹配时,它们之间就会形成谐振,导致信号的失真、干扰和电磁兼容性问题。在半导体设计封装中,Package Resonance 是指芯片和封装之间的共振现象。

2023-02-28 11:27:35 260

原创 【python】parser.add_argument后面为什么要加-和--?

用来表示长参数(Long options),通常是一个单词或短语,长参数不能合并使用。都是用来表示命令行参数的前缀符号。以上两种方式都是等价的,都可以指定。表示该参数是必须的。在命令行中,可以使用。

2023-02-24 17:50:31 951

原创 【python】if __name__==‘__main__‘详解

是Python脚本中常见的代码块,通常位于脚本底部。它用于定义一个只有在Python脚本作为主程序运行时才执行的代码块,而不是被导入到其他脚本中。这很有用,因为它允许您编写既可以导入到其他脚本中,又可以作为独立程序运行的代码。任何只应在脚本作为主程序运行时才执行的代码都可以放在。变量设置为正在执行的脚本的名称,如果该脚本作为模块导入到其他脚本中,则。如果是,则会执行if语句后面的代码块。如果不是,则会跳过该代码块。当执行Python脚本时,Python会将。块内,而任何应该导入的代码都可以放在该块之外。

2023-02-24 14:21:23 1727

原创 【python】sorted() 函数和 lambda 函数的详细讲解

函数通常用于简单的、一次性的函数定义,它可以在不需要专门定义一个函数的情况下快速定义一个函数。是Python内置的一个排序函数,它可以对可迭代对象进行排序。函数可以接受三个参数:要排序的可迭代对象、key和reverse。是一个只包含一个表达式的代码块,用于计算函数的返回值。是一个可调用对象,用于指定排序时要比较的键;函数作为键,即对字符串的长度进行比较。,这是按照字符串长度从小到大排序后的结果。通常是该元素的一个属性或是一个计算。参数指定一个函数来指定排序的方式。函数来指定排序时要比较的键。

2023-02-23 18:13:50 1494

原创 shell中$?代表什么意思

状态值是一个整数,它的取值范围通常为 0 到 255。其中,状态值为 0 表示命令执行成功,而非零状态值则表示命令执行失败或出现错误。具体的状态值取值含义可以根据不同的命令而有所不同,通常在命令的文档中会有相应的说明。是一个特殊的 shell 变量,用于存储上一个命令的执行状态。当一个 shell 命令执行完毕后,它会返回一个状态值,表示该命令执行的结果。变量会自动保存该状态值,以便后续的脚本代码可以根据该状态值来判断命令是否执行成功。变量是一个非常有用的变量,可以帮助您编写更加健壮和可靠的脚本代码。

2023-02-22 14:08:34 15784 1

原创 [Python]中反斜杠的用法+详解,以及r前缀标识符的用法

r或R是Python中的一个前缀标识符,称为"raw string"或"原始字符串",它告诉Python解释器不要对字符串中的反斜杠进行转义。在这个例子中,我们使用了r前缀标识符来表示pattern是一个原始字符串,这样我们就可以使用两个反斜杠来匹配一个反斜杠了。因此,在字符串中使用反斜杠字符时,需要进行适当的转义,以便正确地表示所需的字符。来表示,这个字符串中的每个反斜杠字符都被转义了两次。因此,如果我们要使用一个反斜杠字符来表示正则表达式中的。表示一个普通的反斜杠字符,而后两个反斜杠。

2023-02-20 11:29:36 2901

原创 【python】re模块的具体使用方法

re.search(pattern, string, flags=0):扫描整个字符串并返回第一个成功匹配的结果,如果匹配成功返回一个Match对象,否则返回None。re.sub(pattern, repl, string, count=0, flags=0):返回替换后的字符串,其中所有与模式匹配的非重叠匹配都被替换成repl。re.match(pattern, string, flags=0):尝试从字符串的起始位置匹配一个模式,如果匹配成功返回一个Match对象,否则返回None。

2023-02-17 18:15:10 261

原创 Multi-bit Cell应用?

在数字信号处理器(DSP)等需要高性能和低功耗的应用中,Multi-bit Cell 的应用可以有效地优化功耗和性能。当design中的multi-bit DFF数量占据绝大多数的时候,相对于single-bit design来说,整体的DFF standard cell数量减少,且DFF的摆放一般比较集中,这就会减少很多绕线,进而优化了时钟网络的绕线寄生RC。引入multi-bit cell的design中,同样的buffer可以驱动更多bit的DFF,buffer数量减少,进一步降低时钟树上的功耗。

2023-02-16 15:32:01 514

原创 【芯片设计】温度对阈值电压的影响?温度翻转效应发生的原因?

一般来说,当温度升高时,阈值电压会降低,这意味着控制电压与栅极电压之差变小,晶体管容易被激发进入导通状态,从而会增加功耗和热量。因此,在设计中需要考虑温度对阈值电压的影响,并对芯片进行充分的温度测试和特性化,以保证芯片在不同温度下的正常工作。随着温度的变化,导体的电阻会发生变化,从而影响到栅极电压的大小,同时材料的电子特性也会发生变化,从而影响到阈值电压的大小。对晶体管阈值电压的影响是一种重要的影响因素,其影响的原因是由于温度的变化会导致材料本身的物理特性发生变化。

2023-02-15 18:01:30 4574 2

原创 先进工艺下,SEB(Statistical EM Budgeting )分析详解

2.考虑自热效应,潜在的EM问题才能够被识别到(主要针对先进工艺下的finfet结构)3.上图可以看出,主要考虑三种:线与线的耦合热;属性和电流计算的失效率,我们得到的结果是芯片中所有的。1.自热效应会显著的降低互联线的寿命lifetime。较窄且基板中的导热系数较低,

2022-10-26 11:06:30 801

原创 cell delay可能为负值吗?

答案是肯定的,理论上可能存在cell delay为负值的情况。当input transition足够大load足够小驱动足够大便会出现如下图cell delay为负的情况

2022-09-16 08:56:15 708

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除