自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 anaroute项目结构

包含API接口相关代码,包括pybind11对c++接口的python封装,如。:包含DRC(Design Rule Check)相关的代码,如。: 包含详细的布线算法和管理器,如。:包含与LEF文件格式相关的代码,如。:包含与电路网络相关的数据结构,如。:包含各种数据结构的实现,如。:包含几何数据结构和算法,如。:包含全局布线相关代码,如。:包含全局定义和配置,如。:包含图算法相关代码,如。:包含外部库的头文件,如。:包含解析器模块,如。:包含写入器模块,如。:包含数据库模块,如。

2024-10-12 10:48:35 408

原创 Anaroute - 理论学习(一)

学习magical工具的模拟版图布线算法

2024-10-12 10:38:17 1196

原创 GlobalRouting - FastRoute代码框架和功能(三)

根据分析,FastRoute程序的整体功能为实现针对电路设计的布局引擎,从而辅助设计人员快速布线电路。文件名功能Box.h定义代表矩形框的Box类定义代表坐标的Coordinate类包装整个数据库的类文件实现FastRoute的主要算法、配置选项、容量调整和容量约束等Grid.h定义一个代表电路布局的网格模型Grid类Net.h定义代表网络的Net类Netlist.h定义代表整个网表的Netlist类Pin.h定义代表引脚的Pin类。

2024-04-20 10:34:00 875

原创 GlobalRouting - FastRoute布线算法运行流程(二)

算法生成较小重量生成树(RSMT),该算法首先将网络中的每个 PIN 抽象成一个点,然后根据这些点之间的联系生成一种最小的树形链接方式,使得网络中各个节点之间的链路之和最小。“gen_brk_RSMT”的函数,其参数是congestionDriven,reRoute,genTree,newType和noADJ。最后,函数将打印出一些数据,例如生成RSMT的数量,总线长以及其他一些信息。函数,该函数使用调整的权重因子来考虑当前网络的拥塞情况,以生成一个更好的 RSMT。函数的前五个参数都是类型为。

2024-04-20 10:24:30 1357

原创 GlobalRouting-FastRoute API(一)

1. 学习总结芯片内的开源全局布线工Fastroute的用户接口

2024-04-20 10:21:48 1273

原创 6. Do‘s and Don‘t

建议和不建议做的事项

2022-11-07 17:47:56 995

原创 5. The Storage String

The Storage String

2022-11-07 17:46:27 904

原创 4.运行中的可编程模块

获取运行中可编程模块名字和所在网格的名字

2022-11-07 17:44:37 300

原创 3. 运行时间

The running time

2022-11-07 17:42:48 578

原创 2. 处理脚本命令行参数

命令行参数解析

2022-11-07 17:40:23 531

原创 1. Grid Terminal System

学习《太空工程师》脚本编程

2022-11-07 17:38:06 683

原创 [图论] 6-1-1 网络最大流

学习图论

2022-11-04 23:36:40 2041

原创 ubuntu18.04下安装OpenRoad

RTL-GDSii全流程中OpenRoad的安装

2022-11-04 23:19:54 747

原创 第二章 构建工作空间和功能包

ros 构建工作空间和功能包

2022-11-04 23:09:46 425

原创 2. 升级git版本到2.36.0

综合查阅资料,在centos上基于git源码进行将git升级为2.x版本

2022-11-04 22:54:29 755

原创 1. centos: gdb的编译安装与使用

1. centos下编译gdb源码,安装或升级gdb到较新版本2. gdb的基础命令含义

2022-11-04 22:46:30 946 1

原创 4.4 测试度量指标体系和质量评估

学习测试度量指标体系和质量评估

2022-06-30 11:39:47 3259

原创 4.3 常见的测试方法

常见测试方法的学习,API测试,性能测试,契约测试、安全性可靠性测试等

2022-06-30 11:35:21 877

原创 4.2 测试管理

测试管理的学习,包括测试策略,测试设计,测试执行和问题单

2022-06-30 11:23:49 467

原创 4.1 敏捷软件测试理念、方法与实践

学习持续测试反馈,敏捷软件测试理念,方法和华为云测上的实践

2022-06-30 10:50:03 628

翻译 1、快速入门

个人开发学习记录

2022-06-01 09:53:27 220

翻译 3、创建loggers

spdlog学习记录,供后续使用时参考

2022-06-01 09:30:19 1634

翻译 8、Tweaking配置

调整配置spdlog参数学习记录,方便后续应用参考

2022-05-31 23:23:48 398

翻译 7、日志flush策略

日志flush策略学习记录,方便后续应用参考

2022-05-31 23:21:52 2508 1

翻译 6、异步日志记录

异步日志记录学习,方便后续应用参考

2022-05-31 23:20:13 3330

翻译 5、logger的注册

logger学习笔记,后续应用参考

2022-05-31 23:18:40 508

翻译 4、Sinks容器

Sink容器学习

2022-05-31 23:17:09 1713

翻译 3、创建loggers

学习笔记,方便个人后续参考

2022-05-31 23:14:27 96

翻译 2、spdlog线程安全函数

跟着作者的教程过了一遍,翻译记录一下,方便后续自己回来查看。有错误的地方希望大家轻喷

2022-05-31 23:09:26 554

原创 ubuntu18.04上安装ROS机器人操作系统

一、 版本选择ubuntu不同系统版本支持的Ros版本有所差异,需要选择对应的版本。我的系统是ubuntu18.04故使用Melodic版本。ubuntu18.04 --> Melodic二、安装步骤1. 检查Ubuntu软件和更新源软件和更新--> 所有选项都勾上--> 软件源下拉框选择阿里源2. 设置Ros的下载资源2.1 设置中科大源:sudo sh -c '. /etc/lsb-release && echo "deb http://mirror

2022-05-17 22:13:31 814

原创 g++常用命令

g++常用命令常用命令默认生成a.outg++ test.cpp指定生成可执行文件g++ test.cpp -o test.out生成调试和警告信息 g++ -g -Wall test.cpp -o test.out编译选项option功能举例输出格式-E预处理宏替换、头文件展开、去掉注释g++ -E test.cpp -o test.i*.i-S生成汇编文件g++ -S test.i -o test.s*. s-c生

2021-03-23 13:08:32 3771

原创 gdb命令

g++ 简单编译指令g++ -g -std=c++11 main.cpp -o main.outgdb main.out常用的指令如下:1. 运行指令:命令功能run®运行到第一个断点处,再次执行r时将从头开始continue©继续执行到下一个断点处,或运行结束next(n)单步跟踪执行,遇到函数调用时不进入函数,直接跳过step(s)单步调试,如果遇到函数调用,将进入到函数内部until(u)在一个循环体内单步跟踪时,可以运行程序直到退出

2021-03-22 18:18:28 238

原创 数据结构之递归

递归递归的定义递归的作用递归的应用线性递归递归分析递归跟踪递推方程递归模式多递归基递归消除二分递归递归的定义递归是函数和过程调用的一种你特殊形式,允许函数和过程进行自我调用。递归有直接和间接两种形式:· 直接: 在函数中进行自我调用· 间接:某方法首先调用其他方法,再辗转的通过其他方法的相互调用,最终调用起始方法自身递归的作用对实际问题中反复出现的结构和形式高度概括,并从本质层面加以描述和刻画,导出高效的算法。从程序结构来看可以避免复杂的分支以及嵌套循环,从而更简明的描述实现算法,减少

2021-03-22 15:35:00 248

原创 时间复杂度

常见的时间复杂度复杂度名称具体表示常数O(1)对数O(log n)线性时间复杂度O(n)平方O(n^2)立方O(n^3)指数O(2^n)阶乘O(n!)常见的空间复杂度原则1、数组:2、递归深度:

2021-03-22 15:34:40 83

原创 c++笔记----面向对象抽象继承与动态绑定

面向对象一、核心思想​ 面向对象程序设计的核心思想: 数据抽象,继承和动态绑定。· 数据抽象:将类的接口与实现分离· 继承: 定义相似类型以及对其相似关系建模· 动态绑定:一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象二、继承2.1 基类负责定义再层次关系中所有类共同拥有的成员定义:基类中类型是否相关有两种类型的成员函数需要定义,以及相关的访问控制:①、动态绑定: 类型相关的虚函数定义,类型在程序运行时动态绑定,接受的参数必须是一个对象的引用或者指针类型, virtu

2021-03-22 15:31:12 112

原创 c++笔记----拷贝控制

拷贝控制本章笔记将记录,类在控制拷贝,赋值、移动和销毁的时候都干些什么。学习的重点主要关注以下五个个与拷贝控制有关的特殊的成员函数:拷贝构造函数拷贝赋值运算符移动构造函数移动赋值运算符析构函数拷贝控制操作的定义:当类需要进行构造,赋值,析构的时候需要进行的操作叫做拷贝控制操作。一、 拷贝、赋值和销毁本小节主要关注拷贝构造函数,拷贝赋值运算符和析构函数的相关特性,以及使用这些拷贝控制操作的时机。当我们没有显示的定义这5个特殊的拷贝控制函数时,编译器时常会隐式的帮我们定义好这些拷贝控制函

2021-03-22 15:30:49 118

原创 c++笔记----构造(析)函数能否调用虚函数

构造函数能够调用虚函数吗?在构造函数中调用示例代码class base{public: base(){func()} virtual void func(){cout<<1<<endl};};class derive{public: derive():base(),data(2){} virtual void func(){cout << data << endl;};private: int data;};int m

2021-03-22 15:30:04 130

原创 c++笔记----this指针

this指针this是一个特殊的指针1. 指向调用该成员函数的那个对象。2. 是一个隐含每一个非静态成员函数的特殊指针。对象调用成员函数1. 编译器先将对象的地址赋予this指针2. 通过this指针调用成员函数ps: 每次适用成员函数时,都隐式的使用了this指针this指针的隐式声明1. 创建对象时,this将被隐式声明为 className *const this; · this时常量指针,this不能被改变。2. 对于类中的const成员,this指针类型为

2021-03-22 15:29:23 164

原创 c++笔记----static

static关键字作用修饰普通变量1. 修改变量的存储区域和生命周期,使变量存储在静态存储区,在main函数 运前就分配了空间。2. 如果有初始值就初始化它,如果没有初始值,系统用默认值初始化它修饰普通函数1. 表明函数作用范围,仅在定义函数的文件内才能适用。2. 在多人开发项目时,为了防止与他人命名空间里的函数重名,可以将函数定义为static。修饰成员变量1. 修饰成员变量使所有的对象只保存一个该变量,2. 不需要生成对象就可以访问该对象修饰成员函数

2021-03-22 15:27:39 82

原创 c++笔记----new和malloc的区别

new和malloc的区别属性new/delete是操作符是c++关键字,需要编译器支持。malloc/free是库函数,需要头文件支持返回类型new:内存分配成功后返回的是对象类型的指针,类型严格与对象匹配,无需类型转换;是类型安全的malloc: 内存分配成功后返回void* 指针,需要通过强制类型转换将void*转换为需要的类型;分配失败new:抛出bad_alloc异常malloc: 返回NULL重载C++允许重载new/delete操作符,特

2021-03-22 15:26:54 95

空空如也

空空如也

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

TA关注的人

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