IndexDB
IndexDB 简介 indexDB 是一种索引数据库的概念, 它保存了键值 (key) 至元数据 (metadata) 映射的存储结构. 其中元数据可以理解为是原始数据的一些属性, 例如名称/位置等等. 因此可以通过元数据快速定位至文件的具体数据块 (二进制文件的读写加速通常涉及分块处理), 从而避免了对于整个大型二进制文件的扫描, 进一步来说优点有如下几个: 核心诉求: 尽可能...
IndexDB 简介 indexDB 是一种索引数据库的概念, 它保存了键值 (key) 至元数据 (metadata) 映射的存储结构. 其中元数据可以理解为是原始数据的一些属性, 例如名称/位置等等. 因此可以通过元数据快速定位至文件的具体数据块 (二进制文件的读写加速通常涉及分块处理), 从而避免了对于整个大型二进制文件的扫描, 进一步来说优点有如下几个: 核心诉求: 尽可能...
主要记录一下 lef 中对于 antenna rule 的相关信息 Background layout 在加工过程中, metal 层会累积电荷, 当电荷累积到一定程度时, 会击穿下方的 gate Keywords ANTTENAGATEAREA: 输入 gate ANTENNADIFFAREA: 输出 diffusion 计算方式 对于 N11 而言, 其对 gate 的...
借着 Andrew B.K 的 “VLSI Physical Design” 从 gds 物理验证 DRC, 向上游流程学习. Introduction 这本书主要讲的是物理设计过程中常见算法与流程, 做为新人了解该行业背景来说应该是非常好的一本书. EDA 介绍了一下电子设计自动化(Electronic Design Automation)的历史, 我不是很感兴趣, 跳过 VLS...
Router DRC Discussion Routing guidance DRC Fix surgical fixers: patch color flipper(cut layer) via mover via swapper wire mover color flipper(metal layer) dynamic check lef 中的限制...
C++11 之后提供了一种方便实现匿名函数对象的方法, lambda. 然而在写树上 dp 时, 常常需要实现一个递归的 lambda 函数, 但我又很不想写完整的 function 类型, 此时涉及一些类型推导的事情也一并在本文描述(搞得好像我本来就知道一样). 基础用法 一个 lambda 表达式由以下部分构成: capture: 描述变量如何捕获 param: 描述该函...
简单学习一下树上 dp 基本概念 在给定关系以树形式存在的问题中时, 如果遇到了符合 dp 解法的情况可以使用树上 dp. 举个例子, 经典的快乐指数问题. 给定一个树, 选择其中的结点满足以下规则: 结点权重和最大 一个结点若被选中, 则其父结点必定不能被选中 很显然, 大体思路是基于 DFS 的 DP. 对于一个结点而言存在三种状态: 父结点不在集合内, 自...
inline 的作用, 对编译器建议使用函数定义的代码替换每次对该函数的调用. 理论上, 这能够加速运行速度, 因为减少了函数调用的开销. 主要是消除了: 推送返回地址入栈, 推送参数入栈, 跳转到对应函数, 对应函数完成时返回这一系列过程. 额外, 我们应当注意, inline 只是建议编译器进行优化, 而非指定编译器进行优化. 编译器内部会根据一些判断决定是否真的值得要内联该函数. 将...
SEMI 提出的一种文件格式, 相较于 GDSII 能够更好压缩信息, 在 SEMI 处可以下载到有关 OASIS 的手册, 这是本文的主要参考内容. 除开这个文档外, Klayout 有关 OASIS IO 部分的源码(dbOASISReader)也一并做为本文的参考内容. 一些惯用语 考虑到本人大量接触 Klayout 的源码, 因此难免将 Klayout 中的一些定义带入本文, 未...
算得上一些基本的编程技巧了, 但过去我这块本身就学得不牢靠, 这里总结一下重新学习 基础 与(AND) a & b: 对应位都为 1 时, 结果为 1 或(OR) a | b: 对应位存在 1 时, 结果为 1 异或(XOR) a ^ b: 对应位不同时, 结果为 1 取反 ~a: 二进制数补码对应位取反 额外的, 似乎肌肉里存在着一句俗语”取反加一”...