自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TOFU: A Two-Step Floorplan Refinement Framework for Whitespace Reduction

平面规划作为实体设计的早期步骤,将极大地影响后期阶段的PPA。为了在保持相对相同的芯片尺寸的同时实现更好的性能,所生成的布图规划的利用率需要高,并且应当遵守与设计规则、可布线性、功率相关的约束。在本文中,我们提出了一个两步的框架,称为TOFU,平面图的空白减少固定轮廓和软/预置/硬模块建模。首先通过迭代地细化模块的位置来减少空白。然后,靠近空白的模块将被改变成直线形状,以进一步提高利用率。为了保证中间布图规划在精化过程中的合法性和质量,提出了一种基于约束图的合法化器和一种新的约束图构造方法。

2024-01-30 14:42:29 832

原创 Neural Improvement Heuristics for Graph Combinatorial Optimization Problems

图神经网络(GNN)架构的最新进展和增加的计算能力已经彻底改变了组合优化(CO)领域。在所提出的模型CO的问题,神经改进(NI)模型已经特别成功。然而,现有的NI方法是有限的,在其适用性的问题,关键信息被编码的边,因为他们只考虑节点的功能和节点位置编码(PE)。为了克服这一限制,我们引入了一种新的NI模型,能够处理基于图形的问题,其中信息被编码在节点,边,或两者兼而有之。所提出的模型作为一个基本组成部分的基于爬山的算法,指导选择的邻域操作,每次迭代。

2023-10-13 10:31:47 102

原创 Floorplanning with Graph Attention

布图规划一直是一个关键的物理设计任务,具有很高的计算复杂度。它的主要目标是确定初始位置的宏和标准单元与优化的线长为给定的面积约束。本文介绍了Flora,一个基于图形注意力的布图规划器,学习电路连接性和物理线长之间的优化映射,并使用高效的模型推理产生芯片布图规划。植物群已与两个最先进的混合放置工具整合。使用学术基准和工业设计的实验研究表明,与最先进的混合尺寸放置器相比,Flora将放置运行时间提高了18%,平均线长减少了2%。在超大规模集成电路芯片的物理实现中,芯片布图规划一直是一项关键且具有挑战性的任务。

2023-10-07 15:16:47 1891 1

原创 GraphPlanner: Floorplanning with Graph Neural Network

在超大规模集成电路芯片的物理实现中,芯片布图规划一直是一项具有高计算复杂度的关键任务。它的主要目标是以最小的线长确定大芯片模块的初始位置,同时坚持密度约束,这在本质上是一个过程,构建一个优化的映射从电路连接到物理位置。芯片布图规划是一个NP难题,很难用算法有效地解决。本文介绍了GraphPlanner,这是一种用于芯片布局规划的基于变分图卷积网络的深度学习技术。GraphPlanner能够学习电路连接性和物理线长之间的优化和广义映射,并使用高效的模型推理生成芯片布图规划。

2023-07-10 11:30:33 368

原创 GoodFloorplan: Graph Convolutional Network and Reinforcement Learning-Based Floorplanning

一种基于端到端学习的布图规划框架GoodFloorplan来探索设计空间,该框架结合了图卷积网络(GCN)和RL。

2023-06-07 15:41:36 589

原创 MacroRank: Ranking Macro Placement Solutions Leveraging Translation Equivariancy

现代大规模设计广泛使用异构宏,这会显著影响可布线性。在早期宏布局阶段预测最终布线质量可以过滤掉差的解决方案并加速设计闭合。通过观察路由与元器件之间的相对位置之间的关系,提出了一种利用平移等方差和学习排序技术的宏布局排序框架–MacroRank。该框架能够学习宏布局解决方案的相对顺序,并基于布线质量指标(如线长、通孔数量和短路数量)对它们进行排序。

2023-03-15 20:13:05 266 1

原创 The Policy-gradient Placement and Generative Routing Neural Networks for Chip Design

用于芯片设计的策略梯度布局和生成式路由神经网络

2023-03-02 10:17:38 263

原创 PPO(proximal policy optimization)算法

PPO算法

2023-02-19 13:52:14 411

原创 Routability-Driven Macro Placement with Embedded CNN-Based Prediction Model

一个芯片设计只有通过设计规则检查(DRC)后才能被贴出。设计复杂度严重恶化了设计可路由性,这可以用详细路由阶段之后的DRC违规次数来衡量。此外,由于知识产权的广泛使用,现代大型设计通常由许多巨大的宏组成。根据经验,宏的布局在很大程度上决定了可路由性,但由于单元布局和路由的复杂性和不可预测性,目前还没有一个有效的成本指标来直接评估宏布局。在本文中,我们提出了第一个基于深度学习的宏布局方法RoutabilityDriven。

2023-02-15 15:21:01 541

原创 Towards Machine Learning for Placement and Routing in Chip Design: a Methodological Overview

布局和布线是现代芯片设计流程中两个不可缺少且具有挑战性的任务(NP-hard)。与使用启发式或专家精心设计的算法的传统求解器相比,机器学习以其数据驱动的特性显示出了很好的前景,它可以减少对知识和先验的依赖,并通过其先进的计算范式(例如带有GPU加速的深度网络)具有潜在的更大的可扩展性。本调查首先介绍了布局和路由的基本知识,并简要描述了经典的免学习求解器。然后,我们对机器学习在布局和布线方面的最新进展进行了详细的评述。最后,我们讨论了未来研究的挑战和机遇。

2023-02-12 15:25:33 376

原创 Standard Cell Routing with Reinforcement Learning and Genetic Algorithm in Advanced Technology Nodes

这个工作最大的特点是把强化学习和遗传算法结合起来,解决布局布线问题中不同需求。

2023-02-10 15:30:17 278

原创 On Joint Learning for Solving Placement and Routing in Chip Design

在这个工作中,作者提出了一种基于布局和路由的端到端学习模式。对于宏的布局,采用了强化学习的方法;对于比较繁琐的标准单元布局,采用了基于梯度的优化技术。同时将布线(路由)也纳入强化学习对布局布线进行联合求解,这是区别于之前先布局再布线的的方法。主要的创新点有:1.提出了基于双视图(布局图和布线图)来融合和嵌入全局和局部的信息;2.设计了基于蒸馏方法的奖励策略,提高了搜索的效率。

2023-02-09 16:50:17 598

原创 监督学习和无监督学习

监督学习回归问题(regression):回归是指我们的目标是一个连续值输出(有很多同一件货物的库存,预测在接下来的三个月里你能卖出多少[把要卖的货物的量看成连续的值])分类问题(classification):预测离散值输出(写一个软件来判断你的很多个客户的账户,每一个账户是否被入侵或者破坏[设置预测数:如0表示没有被入侵,1表示已经被入侵了])...

2020-12-07 19:02:05 156

原创 决策树

决策树决策树-熵P(X,Y)=P(X)*P(Y) X和Y两个事件相互独立 Log(XY)=Log(X)+Log(Y)H(X),H(Y)当成它们发生的不确定性P(几率越大)->H(X)值越小P(几率越小)->H(X)值越大熵=-

2020-11-21 09:52:11 276

原创 Post&Send

Post&Send发送请求GETfunction senMsg() { //1.创建一个XMLHttpRequest对象 var xhr = new XMLHttpRequest() //2.调用open方法打开链接 //open有三个参数 //1.请求的method //2.请求的url //3.是否异步,默认值为true,一般这个参数可以不传 xhr.open('get',url) //3.发送请求 xhr.send() //4

2020-05-13 20:15:04 282

原创 set数据结构

set数据结构set类似于数组,但是成员的值都是唯一的,没有重复的值set的本身是一个构造函数,用来哦生成set数据结构const s = new Set();set函数可以接受一个数组作为参数,用来初始化const set = new Set([1,2,3,4,4]);数组中的值会自动存储在set函数中const s1 = new Set();console.log(s1,s...

2020-05-05 20:16:42 941

原创 Web Storage

本地储存的几种方式cookie:一般只能存储4kb的数据,每个http请求都会被传送回服务器,使用安全策略跟踪Web Storage:大约5MB,类似于key-value的存储方式Web SQL Database兼容性Indexed Database: 索引数据库,类似于NoSQL强大,支持索引,事物处理和健壮的查询功能Web Storage会话储存session storage...

2020-05-01 22:19:35 95

原创 几种定位方式

几种定位方式浮动1.浮动元素会脱离标准流(起飞)2.浮动的元素会一行内显示并且元素顶部对齐()3.浮动的元素会具有行内块状元素的特性特性脱离标准普通流的控制浮动到指定的位置。即脱标浮动的盒子不再保留原先的位置如果块级盒子没有设置宽度,默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决定。只会影响前面的不会影响后面的相对定位relative是元素在移动位置的时候,...

2020-04-20 19:47:44 1273

原创 String的扩展方法

String的扩展方法模板字符串中可以解析变量let name = '这是一个字符串’;let sayHello = 'hello,my name is ${name}';//$可以将字符串直接引用模板字符串可以换行let result = { name: "xiaonannan", age: 20, };//可以换行let html = ' &l...

2020-04-19 12:44:06 408

原创 箭头函数

箭头函数定义函数的方式() => {}const fn = () =>{}函数体中只有一句代码,且代码的执行结果就是返回值,可以省略大括号//看一下传统函数function sum(num1,num2) { return num1+num2; }//箭头const sum = (num1,num2) => num1 +num2const re...

2020-04-18 22:08:58 109

原创 数组的一些方法

剩余参数//...三个点表示调用所有的参数const sum = (...args) => { let total = 0; args.forEach(item => total += item); return total; };console.log(sum(10,20));console.log(su...

2020-04-18 22:05:05 92

原创 对于let,const,var

let关键字let关键字就是用来声明变量的在大括号中使用let关键字声明的变量具有块级作用域在大括号中如果是使用var声明的变量不具备块级作用域特性优点在于防止循环变量变成全局变量,你比如说,使用for循环,var i=0在循环外面打印i依然可以得到即这个变量在外面可以访问,如果是let的话在循环外面是访问不到的不存在变量提升,必须先声明再提升暂时性死区,在一个大括号中使用let关键...

2020-04-07 10:17:55 92

原创 对于淘宝flexibleJS源码分析的笔记

对于淘宝flexibleJS源码分析的笔记下面三种情况刷新页面的时候会触发load事件①a标签的超链接②f5或者刷新按钮③前进或者后退按钮在火狐中有一个“往返缓存”,这个缓存不仅保存着页面数据,还保存着DOM和js的状态,实际上将整个页面都保存在了内存里。此时的后退按钮不能刷新页面,但是可以使用pageshow事件来触发,这个事件在页面显示的时候触发,无论页面是否来自缓存,。在重新加...

2020-04-07 08:16:44 275

原创 mouseenter和mouseover的区别

mouseenter和mouseover的区别当鼠标移动到元素上的时候,会触发mouseentermouseover鼠标经过自身盒子会触发,经过子盒子还会在触发。mouseenter只是经过自身盒子的时候才触发也就是说,mouseenter不会冒泡...

2020-04-06 16:44:36 73

原创 递归

递归函数内部自己调用自己,这个函数就是递归函数铁锅炖自己,但是要禁止无限套娃简单理解:效果和循环一样,有于递归很容易发生:“栈溢出”错误,不断开辟内存。所以必须要加退出条件returnvar num=1;function fn(){ console.log('我小楠楠贼六'); if(num==6){ return;//递归里面必须加退出条件 ...

2020-04-06 15:42:22 59

原创 Object.defineProperty方法

Object.defineProperty方法定义对象中新属性或修改原有的属性Objcet.defineProperty(obj,prop,descriptor)obj:必须,目标对象prop:必需,需定义或修改的属性的名字descriptor:必需,目标属性所拥有的特性看一下以前添加和修改属性的方式var obj={ id=1; pname:nannan; ...

2020-04-06 15:41:59 196

原创 立即执行函数

立即执行函数不需要调用,铁锅炖自己,能立马自己执行注意:两个立即执行函数写在一起需要加分号 表示结尾写法(function(){})()第二个小括号可以看作是调用函数 (function(){ console.log(2); })(); (function(a,b){ console.log(a+b); })(1,2)//3,可以传递参数(...

2020-04-06 15:41:14 210

原创 可拖动模态框

css把模态框用固定定位,top和left设为50%;然后用tranform:translate(-50%,-50%)来水平居中,垂直居中思路获取元素点击弹出层这个链接link 让mask和login显示出来点击closeBtn就隐藏mask和login再也页面拖拽的原理,鼠标按下并且移动,之后松开鼠标触发事件是鼠标按下mousedown,鼠标移动mousemove鼠标松开mou...

2020-04-06 14:33:20 513

原创 offset和client和scroll

offsetoffset翻译过来就是偏移量,我们使用offest系列相关属性可以动态的得到该元素的位置(偏移),大小等获得元素距离带有定位父元素的位置获得元素自身的大小(宽度高度)注意:返回的值不带单位offset系列常用属性offset 系列属性作用element.offsetParent返回作为该元素带有顶级的父级元素。如果父级没有定位,返回body...

2020-04-06 10:23:12 153

原创 几个对象

几个对象location对象window对象给我们提供了一个location属性用于获取或设置窗口的URL,并且可以用于解析URL,因为这个属性返回的是一个对象,所以我们称这个属性为location。...

2020-04-06 09:08:31 149

原创 鼠标事件即跟随案例

鼠标事件即跟随案例鼠标事件对象event对象代表事件的状态,即事件相关的一系列消息的集合,现阶段我们主要是用鼠标对象事件MouseEvent和键盘事件对象KeyboardEventdocument.addEventListener('click',function(e){ //1.client鼠标在可视区的x和y坐标 console.log(e.clien...

2020-04-04 16:15:23 251

原创 BOM

关于BOMBOM(browserObjectModel)即浏览器对象模型,它提供了独位于内容而与浏览器窗口进行交互的对象,其核心对象是window。BOM由一系列相关的对象构成,而且每个对象都提供了很多方法和属性浏览器对象模型BOM的顶级对象是windowBOM是浏览器窗口交互的一些对象BOM是浏览器厂商在在各自浏览器上定义的,兼容性较差window:(包括以下)documen...

2020-04-03 14:23:49 59

原创 事件之行为

e.target和this区别 <ul> <li>abc</li> </ul> <script> //e.target返回的是触发事件的对象(元素) this返回的是绑定事件的对象(元素) var div = document.querySelector('div');...

2020-04-02 11:34:28 99

原创 关于事件

关于事件DOM事件流事件流描述的是从页面中接受事件的顺序事件发生的时候会在元素节点之间按照特点的传播顺序,整个传播过程叫DOM事件流三个阶段捕获阶段当前目标阶段冒泡阶段注意js代码只能执行捕获或者冒泡其中一个阶段inclick和attachEvent只能得到冒泡阶段addEventListener(type,listener,[useCapture])第三个参数如果是...

2020-04-02 10:19:46 96

原创 DOM核心

DOM核心我们获取过来的DOM元素是一个对象(object),所以称为文档对象模型主要有增,删,改,查,属性操作和事件操作捞一波属性操作setAttribute:设置dom的属性值getAttribute:得到dom的属性值removeAttribute 移出属性①事件操作,捞一波鼠标操作事件类型相关函数点击事件onclick移入/移出onmou...

2020-04-01 21:25:14 201

原创 三种动态创建元素区别

三种动态创建元素区别document.write()是直接将内容写入页面的内容流,但是文档执行完毕,则它会导致页面全部重绘element.innerHTML是将内容写入某个DOM节点,不会导致页面全部重绘创建多个元素效率更高(不要拼接字符,采取数组形式拼接),结构稍微复杂document.creatElement()创建多个元素效率稍微低一些,但是结构更清晰//1.var bt...

2020-04-01 21:00:52 159

原创 正则表达式

概述正则表达式是用于匹配字符串中字符数组的模式,在js中,正则表达式也是对象。正则表达式常用来检索,替换那些符合某的样式规则的文本,如用户名表单只能输入英文字母。此外,正则表达式还常作用于页面内容中的某些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等。灵活性,逻辑性和功能性非常强可以迅速地用简单的方式表达字符串的复杂控制通过调用RegExp对象的构造函数创建var 变...

2020-04-01 20:31:29 83

原创 拷贝

利用递归遍历先看个例子<script> var data = [{ id:1, name:'家电’, goods:[{ id:11, name:冰箱; },{ id:12, na...

2020-04-01 17:52:45 168

原创 优先级

优先级注意的问题选择器选择器权重继承或者*0,0,0,0元素选择器0,0,0,1类元素选择器,伪类选择器0,0,1,0ID选择器0,1,0,0行内样式 style=“”1,0,0,0!important无穷大注意点权重是有四位数字组成,但不会有进位可以理解为类选择器永远大于元素选择器,id永远大于类等级判断从左到右,如果...

2020-03-31 23:55:15 90

原创 CSS3选择器

CSS3选择器(权重为10)如div的权重为1,[]权重为10,即11大于类选择器而类选择器的权重为101.属性选择器选择符简介E[attr]选择具有attr的E属性E[attr=“val”]选择具有attr属性且属性值等于“val”的E属性E[attr^=“val”]选择具有attr属性且以“val”开头的E属性E[attr$=“val”]选...

2020-03-31 23:27:32 61

空空如也

空空如也

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

TA关注的人

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