RAIL

低功耗设计基础:Power Gating详解

非 Y 不嫁゛ 提交于 2021-02-20 12:36:05
本文原创首发于知乎专栏【数字IC后端工程师修炼之路】 在低功耗设计领域,最有效的降低功耗的手段莫过于电源关断了。 其原因在于不论多低的电压,多小的电流,多慢的速度抑或多小的leakage,都不如将电源完全关闭来的彻底。 尽管如此,在实际设计中,由于power gating设计方法会极大地增加design的复杂度,从设计到验证,从后端实现到signoff methodology都有很多不同于一般design的特点。 今天主要从逻辑构成和后端实现的角度介绍一下power gating的特点和原理。一个典型的带有power gating的设计,应该包含以下的主要module: power gating controller: 控制芯片中关断模块的电源何时关闭并给特殊的cell如retention register输出必要的使能信号; power switching fabric: 也称power switch, 实现电源关闭的逻辑单元,一般由后端实现阶段加入并按照一定设计规则摆放; always-on module: 电源一直保持打开的模块; isolation cells: 简称ISO,一般在关断模块输入到电源always-on模块方向的信号需要加入此类cell,具体作用将在后面解释; retention DFFs: 特殊的寄存器能够在主电源关断的情况下保持数据不丢失

最让你印象深刻的模拟电路是什么电路?这个电路巧妙在哪儿?

元气小坏坏 提交于 2021-02-15 10:56:41
@匿名用户 对我而言,绝对是Paul R. Gray经典的bootstrap,没有之一,简直让人拍案叫绝。 电路用在各种ADC之前的Sample电路,可以让ADC实现rail to rail的input,sample电路的工作电压超过Vdd,极大的减少了了setting time,而且几乎没有reliability的问题。 电路里没有任何一个器件是可以被减少或者改变位置的。此电路直接使得ADC的发展往前跃进了一大步,现在已经几乎成为除ΔΣ之外各种ADC的标配,成为历史上最经典的模拟电路之一。当然,电路原理一眼看去也不是很好理解。 工作波形看着都让人舒服: @TANG XKEPHY 个人非常喜欢那些实现起来非常简单,性能却相当好的电路。 1.switch cap 的CMFB 仅仅4个电容加6个开关就实现了CMFB,非常简洁,且几乎不会影响OPAM本身像output swing,gain之类的spec,非常高效。 2. Data Weighted Averaging 基本思想是快速遍历DAC中的每一个电流元从而减少电流元mismatch对ADC信噪比的影响,仅仅通过几个简单的数电模块就实现对电流元mismatch的first order noise shaping,非常巧妙。 @原子弹lll 本科那会儿对我影响最深的就是万能的H桥电路,驱动电机正反转,妥妥的好用而且实惠

【开源村快讯】Kubernetes曝漏洞、Kata Container 发布 1.4 版本

孤者浪人 提交于 2021-01-10 17:02:34
Kubernetes曝漏洞!可取得管理员权限 近期Kubernetes爆出信息安全漏洞,Kubernetes 产品安全团队表示,近日在 Kubernetes API Server 内存在权限扩张漏洞,发现此漏洞的开发者为 Rancher 共同创办人兼首席架构师 Darren Shepherd 。 目前 Kubernetes 开发团队已经发布 V1.10.11、V1.11.5 及 V1.12.3 ,以解决该漏洞带来的风险。参与 Kubernetes 安全团队的 Google 高级工程师 Jordan Liggitt 建议,在集群内执行先前版本 Kubernetes 的企业用户,得尽速择一版本进行更新。 此漏洞编号为 CVE-2018-1002105 ,让攻击者可以发送特殊的系统请求,经由 Kubernetes API Server ,与企业内部后端服务器进行连线,借由取得 Kubernetes API Server 的认证,攻击者就能利用既有连线,任意向后端服务器发送请求。 红帽云端平台副总裁 Ashesh Badani 表示,此权限扩张漏洞的影响非常重大,可让不法人士在任何运算节点、Kubernetes Pod 取得管理员权限,黑客可以盗取机密资料、注入恶意程序码,或者瘫痪企业正式环境内的应用程序。而红帽使用 Kubernetes 作为核心调度引擎的产品线,包含容器平台

高性能极致用户体验前端开发实战

不羁的心 提交于 2020-11-23 08:58:00
课程介绍 高性能极致用户体验前端开发实战课程适合所有前端开发学习或者从业者,结合目前前端开发的最佳实践,提供前端网页性能分析优化知识,结合实际项目经验分析可以采用的优化思路,并给出开发高性能极致体验网页的通用方法和技巧。 课程官方博客: 前端学堂 在开始学习本课程之前,先提2个基本要求: 了解业务 作为一名合格的前端开发,我们的开发工作不是盲目的,我们的优化目标需要明确,所以首先要了解你所做的业务。不仅要知道整个业务背景,还需要了解业务需求,业务目的,最后最好能拿到业务结果。 了解业务的目的是能让你更好的分配开发的权重,合理安排开发的重点。比如开发的是视频类网站,那么开发的重点自然在于播放器加载和流畅播放以及降级方案。如果是天气类业务,那么核心业务是要保障稳定快速的展示出天气相关数据,然后是加载展示其他内容。如果是博文类网站,那么重点在于首屏的信息加载和展示。 了解用户 了解用户也是至关重要,如果连自己所做业务的受众都不知道,那么何谈用户体验,何谈极致性能? 这一部分至少你要知道现在做的业务主要是面向PC用户还是移动web用户,PC用户所用的浏览器都是什么版本,比例分布是怎样?移动端用户android和ios比例多少,各自平台版本分布情况如何?这是最基本的要求,因为我们开发的代码是在这些平台运行的。 如果不知道怎么办?没关系,从今天开始统计起来,做个埋点日志服务

WPF开源控件扩展库

时间秒杀一切 提交于 2020-10-19 18:19:05
WPF开源控件扩展库 - MaterialDesignExtensions MaterialDesignExtensions仓库截图 logo Material Design Extensions 在WPF开源控件库 ????Material Design in XAML Toolkit(本站介绍:????链接)的基础上进行了控件扩展和特性新增。本开源项目中的控件或许不在????Material Design specification明确规定中,在使用时也不会和????Material Design in XAML Toolkit冲突,请放心使用. NuGet 安装NuGet包. PM> Install-Package MaterialDesignExtensions 程序可在.NET Core 3.1 和 .NET Framework 4.5编译。 开始 创建WPF桌面应用程序 通过????NuGet安装Material Design Extensions 在你的App.xaml文件中添加样式(参考demo中的????App.xaml) 在你的XAML文件中添加命名空间 xmlns:controls="clr-namespace:MaterialDesignExtensions.Controls;assembly=MaterialDesignExtensions"

2018年六级高铁翻译

为君一笑 提交于 2020-08-08 20:44:25
中国目前拥有世界上最大最快的高铁网络 China currently has the largest and fastest high-speed rail network in the world 高铁列车的运行速度还将继续提升,更多的城市将修建高铁站。 The speed of high-speed rail trains will continue to increase, and more cities will build high-speed rail stations。 高铁大大缩短了人们出行的时间。 High speed rail has greatly shortened people's travel time 相对于飞机而言, Compare with airplane(aircraft) 高铁列车的突出优势在于准时。 The outstanding advantage of high-speed trains is punctuality. 因为基本不受天气或者交通管制的影响。 Because it is basically not affected by weather or traffic control. 高铁极大的改变了中国人的生活方式 High speed rail has greatly changed the Chinese way of

首台获得TOP500榜首的ARM架构超算——富岳Fugaku

微笑、不失礼 提交于 2020-08-08 18:02:59
  文|乌镇智库   最近发布的TOP500榜单中,日本的高性能计算系统Fugaku(富岳)以415.53 PFlop/s的Linpack性能拔得头筹(使用152,064个节点),为第二名美国超算Summit的2.8倍。          此外在多项超级计算机基准测试中,Fugaku也名列前茅 :在HPCG测试中,它使用 138,240个 节点获得了 13.366 PFlop/s 的算力,而在HPL-AI测试中,它使用 126,720个节点 获得了 1.421 EFlop/s 的算力。 Fugaku采用富士通的ARM架构A64FX芯片,是第一个获得TOP500榜首的基于ARM的高性能计算系统。          Fugaku    “京”的后继机    Fugaku富岳 :富岳是日本富士山的别称,借寓富士山海拔及山脚广阔馥郁的平原,以呈现Fugaku卓越的性能和庞大的用户群体。   01    Fugaku诞生历程   作为超级计算机“京(Kei,K Computer)”的后继产品,Fugaku的诞生还要从K Computer说起。虽然日本1980年代末期的第五代计算机项目失败了,但建造最快计算机的雄心从未泯灭。   自2006年以来,日本理化学研究所(RIKEN)和富士通共同开发了K Computer,旨在2012年开始公共服务。 2011年6月,K Computer凭借8

滚动条插件Nicescroll用法

余生长醉 提交于 2020-04-25 19:58:51
https://www.cnblogs.com/jinqi79731/p/nicescroll.html Nicescroll滚动条插件是一个非常强大的基于JQUERY的滚动条插件,不需要增加额外的css,几乎全浏览器兼容。ie6+,实现只需要一段代码,侵入性非常小,样式可完全自定义,支持触摸事件,可在触摸屏上使用。 官网地址:http://www.areaaperta.com/nicescroll/ 引入核心文件,插件需要引入1.5.X以上版本的jquery库 最简单的用法如下: $(document).ready( function() { $("html").niceScroll(); } ); 注意:一定要放在 $(document).ready 中进行初始化! 隐藏滚动条 $("#mydiv").getNiceScroll().hide(); 检测滚动条是否重置大小(当窗口改变大小时) $("#mydiv").getNiceScroll().resize(); 滚动到某个位置 $("#mydiv").getNiceScroll(0).doScrollLeft(x, duration); // Scroll X Axis $("#mydiv").getNiceScroll(0).doScrollTop(y, duration); // Scroll Y Axis

【理论研究】漫谈云计算IT基础设施05-超融合技术

梦想与她 提交于 2020-04-06 15:16:30
其实超融合这一块,放在云计算IT基础设施里面,不算是完全合适。你说它是分布式存储,但是它同时又是硬件服务器与存储;你说它算硬件,但是它又离不开分布式存储软件。 一、超融合架构 传统的IT基础设施架构,主要分为网络、计算、存储三层架构。但随着云计算与分布式存储技术的发展以及x86服务器的标准化,逐渐出现了一种将计算、存储节点融合在一起的架构--超融合架构。超融合将三层的IT基础设施架构缩小变成了两层。 2019年11月的Gartner超融合产品魔力象限中,领导者象限有5家:Nutanix、DELL、VMware、CISCO、HPE。(其中DELL vxRail一体机里面用的分布式存储软件也是VMware的VSAN,而VMware提供的则是VSAN纯软件的解决方案) Nutanix能够成为超融合领导者中的领导者,自然是经过市场的充分验证,得到市场的认可。而且由于其公开资料(Nutanix 圣经)比较齐备,因此我们可以通过Nutanix一窥超融合的究竟。 二、关于Nutanix的起源、背景、设计理念等: 这边就不搬运了,可以直接搜索引擎搜索“Nutanix圣经”或“Nutanix-Bible”,可以找到相应的官方文档。 三、Nutanix的技术特点(以下部分为个人根据圣经与实际测试结果归纳,与圣经内容有部分重复): 一)逻辑架构: 引用自NUTANIX圣经 -

什么是时间分片(Time Slicing)?

依然范特西╮ 提交于 2020-03-07 15:19:53
根据 W3C性能小组 的介绍,超过50ms的任务就是长任务。 图片来自 使用 RAIL 模型评估性能 根据上图我们可以知道,当延迟超过100ms,用户就会察觉到轻微的延迟。 所以为了避免这种情况,我们可以使用两种方案,一种是 Web Worker ,另一种是 时间切片(Time Slicing) 。 Web Worker 我们都知道,JS是单线程,所以当我们在运行长任务时,容易造成页面假死的状态,虽然我们可以将任务放在任务队列中,通过异步的方式执行,但这并不能改变JS的本质。 所以为了改变这种现状, whatwg 推出了 Web Workers 。 具体的语法不会进行说明,有兴趣的童鞋可以查看 MDN Web Worker 。 我们可以看看使用了 Web Worker 之后的优化效果: const testWorker = new Worker('./worker.js') setTimeout(_ => { testWorker.postMessage({}) testWorker.onmessage = function (ev) { console.log(ev.data) } }, 5000) // worker.js self.onmessage = function () { const start = performance.now() while