自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Git 常见操作

有时候commit之后后悔了,可能是commit的message错误,也可能是提交后发现有代码的开发有遗漏,不想再次commit。--oneline参数,代表将每个commit压缩成一行,只显示commitID和commit message的第一行。如果有时候需要将提交到main上的代码同时提交到release等分支就需要cherry pick的操作。按insert键,进入编辑模式,将3,4,5commit的pick修改成。保存,展开修改message的界面,类似rebase的界面。

2025-06-08 15:12:20 708

原创 Digital IC Design Flow

架构师根据市场需求制作算法模型(Algorithm emulation)及芯片架构(Chip architecture),确定芯片设计规格书(Chip design specification)

2025-06-08 14:23:25 1111

原创 4.QMainWindow中添加状态栏、铆接部件、核心部件

【代码】4.QMainWindow中添加状态栏、铆接部件、核心部件。

2025-05-19 21:19:25 235

原创 3.QMainWindow菜单栏menu bar和工具栏tool bars

QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。点进去之后可以看到其参数中的数据类型有这么多的枚举值,选择你想要的填写进去。在Qt中枚举值都是以"Qt::"的形式书写。移动到上方时,可以看到其为一个浮动的状态。

2025-05-19 21:10:25 391

原创 2.信号与槽

下课后 老师触发信号 饿了 学生响应信号 请客吃饭发送者和接收者都需要是QObject的子类(当然,槽函数是全局函数、Lambda 表达式等无需接收者的时候除外);信号和槽函数返回值是 void信号只需要声明,不需要实现槽函数需要声明也需要实现槽函数是普通的成员函数,作为成员函数,会受到 public、private、protected 的影响;使用 emit 在恰当的位置发送信号;使用connect()函数连接信号和槽。

2025-05-19 09:58:33 757

原创 1.QPushBotton 以及 对象树

简单一些总结: 当创建的对象在堆区时候,如果指定的父亲是QObject派生下来的类或者QObject子类派生下来的类,可以不用管理释放的操作,对象会放入到对象树中。一定程度上简化了内存释放的过程。在创建QObject对象时,可以提供一个其父对象,我们创建的这个QObject对象会自动添加到其父对象的children()列表。当父对象析构的时候,这个列表中的所有对象也会被析构。(注意,这里的父对象并不是继承意义上的父类!Qt 引入对象树的概念,在一定程度上解决了内存问题。

2025-05-18 22:40:42 854

原创 如何利用芯片模型提升终端PCB的SIPI热仿真精度

2025-05-15 20:40:23 211

原创 LEF,DEF 文件以及与 GDS 和 PDK 的关系

DEF 是关于“布局与位置”的:它说的是“把什么放在哪里”,以及“如何连接它们”。LEF 是关于“组件特性”的:它描述了“可用的组件是什么”,以及“它们各自有什么特性”。两者通常需要一起使用,以便获得关于设计的完整和准确信息。LEF 提供了可用的“构建块”和它们的规格,而 DEF 则描述了如何将这些“构建块”组合成完整的 IC 设计。

2025-05-15 10:12:25 864

原创 3Dblox

thickness:Die与Die连接Bump的高度。

2025-05-14 21:35:53 289

原创 在 Rocky Linux 上手动安装 zsh

会在首次启动时引导你完成配置,你可以根据自己的喜好选择显示样式。只需要跟随屏幕上的指引即可。是一个非常受欢迎且功能强大的 Zsh 主题,支持丰富的自定义和显示选项。✨ 安装 zsh-history-substring-search。执行下面这条命令来安装(来自动启动 zsh。

2025-05-14 17:13:27 494

原创 Molding和Pkg的区别

Molding 是一种封装工艺,用于将芯片及内部连接用材料包覆成型。PKG 是一个已经完成所有封装工艺的成品芯片,可供系统安装和使用。

2025-05-09 14:49:10 295

原创 3.CFD 计算过程概述:CFD 工作原理

2-5、某型注射器的内流场网格划分_哔哩哔哩_bilibili

2025-05-05 16:18:15 198

原创 2.CFD 计算过程概述:Fluent在散热计算中的优势

2025-05-05 15:24:45 239

原创 1.CFD 计算过程概述:有限元仿真与CFD介绍

XX。

2025-05-05 10:52:32 237

原创 13.多边形的三角剖分 (Triangulation) : Triangulation

目录1.Existence2.Ear-cutting3.Two-Ear Theorem4.Well-Order5. Ear Candiadte6.Induction7.Well-Order(Again)8.Properties只讨论简单多边形外边界逆时针进行,内部hole顺时针进行描述。这样做能够保证无论是沿着外边界还是内边界行径,这个多边形内部总是在左手边convex:在里面表现为吐reflex:在里面表现为土empty:表示里面没有包含多边形其它的点dirty: 包含多边形其它的点至少存在2只耳朵等价

2025-05-02 10:16:13 344

原创 12.多边形的三角剖分 (Triangulation) : Fisk‘s proof

有边相连的顶点,颜色必须不同。正交多边形:所有画廊要么是水平,要么是垂直的。RGB任何一个颜色都足以覆盖整个多边形。如果存在空洞,就没有办法进行三染色了。引入内对角线,得到三角剖分。

2025-05-01 23:15:16 358

原创 11.多边形的三角剖分 (Triangulation) : 画廊问题

任意给定一个多边形P, 如果要足以用一些点(哨兵)将其覆盖的话,这个哨兵的几何最少能够达到多少?假设存在一个艺术馆,里面存在很大艺术品需要看管,那最少需要多少个哨兵才能覆盖呢?任何一个多边形都可以分解为多把扇子,而且不会超过 n/3 把。上述多边形,凸包,星形多边形只需要一个哨兵就可以了。如果是n个点组成的多边形,最多需要n个摄像头。不能,因为绿色的点只用一个哨兵覆盖不到。这是一个NP hard 的问题。红色为哨兵,黄色为覆盖的部分。怎么给出画廊的最优的方案?是否可以用更少的哨兵呢?

2025-05-01 22:43:17 403

原创 10.Geometric Intersection: Edge Chasing

两个凸多边形所表现的差,可以分解为月牙形的形状。

2025-05-01 11:04:42 176

原创 9.Geometric Intersection: Detection Intersection between convex polygons

如果medium edge 不能立即判断是否存在交点,可以排除黄色部分的线。如果medium edge 不能立即判断是否存在交点,可以排除黄色部分的线。任何凸多边形可以分为两段,一段单调递增,一段单调递减。将任何一对凸多边形的相交转换为两对单调链的相交检测问题。在非空交集任意取一个x,然后向左和向右发出一条射线。只需要关心如何有效判定两个凸多边形是否存在交集。直接通过medium edge 找到相交点。

2025-05-01 10:25:14 172

原创 8.Geometric Intersection: Segement Insertion Report

到达黄色交点的时候会导致上下两条蓝色的线变为紧邻,需要做相交测试。Step2: 加塞新的事件。上面这种情况会导致效率非常低。上述情况并没有在课堂上讨论。一些可能出现的特殊情况。

2025-04-29 10:21:33 292

原创 7.Geometric Intersection: Interval

To-Left test,一对线段有交集,当且仅当其中任何一条线段的两个端点,都位于另一个所在直线的异侧。通过IEU 规约,求解Interval intersection detection 算法复杂度。1.Status structrure: 竖直方向,一些列的活跃线段。IID的输出如果存在交集,那么IEU的输出就存在重复出现的数字。如果存在交集,必然会有两个连续的 LL 或者 RR。2.Event Queue: 水平方向,存储事件。先进行筛选,再做有目的性的比对。有没有更加简洁的方法呢?

2025-04-26 16:41:27 390

原创 6.Geometric Intersection (几何求交)- Preliminary

难度由易到难。

2025-04-26 14:18:47 233

原创 5.凸包-Divide-and-conquer

在凸包中也使用这种思想。

2025-04-20 15:54:23 224

原创 4.凸包-Graham Scan

根据角度进行排序。

2025-04-20 11:24:47 330

原创 3.凸包-Lower Bound

使用Reduction,知道一个算法复杂度的参考左边的A问题已经研究的非常透彻。右边B问题未知,难度也未知通过建立关系,A的任何一个输入都可以转换为B的一个输入。B问题无论用任何的算法,只要能够算出一个输出,可以立即将其转换为A的输出。转换过程都不能超过线性的时间。

2025-04-20 09:59:23 196

原创 2.凸包优化求解

典型的减而治之算法就是插入排序方法在未排序中选择一个元素,插入到已经排序号的序列中。

2025-04-19 16:42:10 379

原创 1.凸包、极点、极边基础概念

如果是极点那么久不可能在一个三角形的内部,所以采用排除法,剩下的就是极点。更加聪明的做法,如果一个点位于三条直线的left,那么它一定位于三角形内。上述问题可以进行一个抽象,抽象为一个color space。这些钉子可以转换到坐标轴中,横纵坐标表示颜色的比例。极点上存在一条直线,使得所有的点落在它的一侧。因为这种颜色大不了不用,但也不可能是负的。遍历所有可能的三角线组合,排除非极点。极边:所有的点落在同一侧,就是极边。凸包就是上面蓝色皮筋围出来的范围。极边的算法效率高于极点的算法效率。

2025-04-17 22:46:06 479

原创 1.设计模式简介

每一个设计模式描述了一个在外面周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必重复劳动。

2025-04-14 22:26:44 382

原创 GDB: coredump

or#-c指定转储的core文件# 进入后输入bt查看调用栈bt #显示所有帧栈bt 10 #显示前面10个帧栈(感觉没啥用)bt -10 #显示后面10个帧栈(感觉没啥用)bt full #显示帧栈以及局部变量效果如下:这篇文章主要讲GDB和coredump两个方面。

2025-03-29 17:40:09 1254

原创 BSCAN2-4:Process DFT Specification and Extract ICL

下一步是处理在上一步中创建、编辑和验证的DFT(Design for Test)规范。此步骤将创建并插入DFT规范中所有组件的硬件。使用命令生成并。对于Tessent BoundaryScan,TAP控制器和 boundary scan cells 将被插入。由于 bundary scan 连接到TAP,而TAP是一个IJTAG节点,因此使用IJTAG。以下示例生成并插入设计中由DFT规范请求的硬件。以下示例生成由DFT规范请求的硬件,但不将硬件插入设计中。

2025-03-19 10:29:01 378

原创 BSCAN2-3:Create DFT Specification

在设计流程的下一步是。使用命令可以根据之前在步骤中定义的 DFT 需求,创建一个默认的 DFT 规范。你可以使用命令来报告这个默认的 DFT 规范。有多种方法可用于编辑或配置 DFT 规范,以满足你的特定需求。

2025-03-18 18:34:05 443

原创 BSCAN2-2:Specify and Verify DFT Requirements

测试访问端口(TAP)需要四个必需的引脚(TDI、TCK、TMS 和 TDO),这些引脚必须连接到芯片级的pad IO macro。:如果需要为 TDI、TMS、TCK 和 TDO 指定内部引脚,并且这些引脚连接到芯片级的焊盘 IO macro,则需要两次插入过程。以下示例展示了在嵌入式边界扫描中,如何提供一个需要插入边界扫描单元的pad I/O 端口的 Tcl 列表,并将设计级别设置为子模块级别。TAP 引脚可以在约束文件(dofile)中指定,也可以在引脚顺序文件中定义。

2025-03-18 18:16:54 1052

原创 BSCAN2-1:load design

扫描链从引脚顺序文件第一行中列出的端口所创建的单元开始,接着是第二行中列出的端口所创建的单元,依此类推。

2025-03-18 11:22:22 1002

原创 BSCAN1:Intruoduction to Tessent Boundary Scan

由于表面贴装器件(SMD)的普及,印刷电路板(PCB)的在线测试(In-circuit test)已经变得不那么有效。边界扫描(Boundary Scan)技术提供了在线测试的优势,而无需物理访问电路板上的电气网络。通过添加边界扫描逻辑,您可以检测到大多数电路板制造过程中的故障:错误的元件缺失的元件方向错误的元件引脚卡住、短路或开路的元件焊接失败(Failed wire bonds)

2025-03-18 10:39:49 886

原创 第7章 站在对象模型的尖端3: RTTI

运行时类型识别(RTTI)允许程序员查询对象的实际类型,以及将基类的指针或引用转换为派生类的指针或引用。这里的type是所有类型的基类,fct代表单一函数类型,而gen代表可以被重载的函数类型。当尝试将 type* 指针转换为 fct* 时,如果该指针实际上指向的是 gen 对象,那么使用 static_cast 将导致未定义行为,因为 gen 和 fct 的内存布局可能不同。

2025-03-16 20:13:51 782

原创 第7章 站在对象模型的尖端2: 异常处理

如果在 catch 块内部再次抛出异常(例如 throw或者 throw e),那么原始的异常对象会被复制,并且新的副本会被传递给下一个匹配的 catch 子句。当一个异常被抛出时,异常处理机制需要确定异常对象的实际类型,这样才能找到匹配的catch子句。如果catch子句中有throw语句来重新抛出异常,那么原来的异常对象会被复制,新的副本将被传递给下一个catch子句。在这种情况下,p是原始异常对象的引用,任何虚函数调用都会基于exVertex的实际类型,对p的修改会传递到下一个catch子句。

2025-03-16 19:48:15 1033

原创 第7章 站在对象模型的尖端1: Template

template functions的实例化:目前有两个策略,一个是编译时期策略,另一个是链接时期策略。但这两个策略都有一个共同的缺点:当template实例被产生出来时,有时候会大量增加编译时间。总结因为模板类型不确定,所以对一个模板类型的变量赋初值可能会是错误的。因为模板类型不确定,所以并不是所有运算符都会支持。模板最后应该以分号结束。因为,在模板类中,所有关于类型的检查会延迟到实例化之后才会发生。

2025-03-16 19:15:00 647

原创 第6章 执行期语义学3:临时对象

s+t 产生的临时对象如果在调用 printf 之前就被摧毁,那么经由 conversion 运算符交给他的地址就是不合法的,真正的结果视底部的delete运算符在释放内存时的进取性而定。临时对象的被摧毁,应该是对完整表达式(full-expression)求值过程中的最后一个步骤。4. 两个临时对象,为了放置上述第一个和第二个临时对象,为的是完成第三个临时对象。完整表达式中,每一个式子产生的临时对象都应该在这个完整表达式被求值之后才能销毁。3. 一个临时对象,放置上述两个临时对象的相减的结果;

2025-03-16 12:10:24 915

原创 第6章 执行期语义学2:new 和 delete 运算符

但是事实上它是由两个步骤完成的通过适当的 new运算符函数实例,配置所需要的内存。*pi = 5;delete运算符的情况类似delete pi;当写下上面这句代码时,如果pi的值是0,C++语言会要求delete运算符不要有操作。我们在看看一个class object 吧而 destructor 的应用也极为类似如果在考虑异常捕获的情况下,我们需要将destructor放在一个try区段中。异常处理会调用delete运算符,然后再一次抛出异常。

2025-03-15 22:21:42 599

原创 第6章 执行期语义学1:对象的构造和析构

我们通过几个例子来看看一般的构造函数和析构函数是怎么安插的吧如上所示,每当一个对象被定义的时候,编译器就会显式插入一个该对象的构造函数,当该对象所在的作用为即将结束的时候,编译器就会自动为它安插一个析构函数。

2025-03-15 21:13:03 677

空空如也

空空如也

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

TA关注的人

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