首页 > 手机 > 配件 > item什么意思,gating

item什么意思,gating

来源:整理 时间:2022-04-02 15:40:44 编辑:华为40 手机版

芯片设计中,最难的是架构设计还是验证?

芯片设计中,最难的是架构设计还是验证

芯片设计这个行当 ,从大的方面讲,主要分模拟和数字两大块, 而每大块又分前端和后端, 我想大部分同学对这个肯定是非常清楚的, 下面就数字电路聊聊芯片设计的一些事情,就是芯片设计有哪些活做, 这并不是全面完整的系统介绍,只是个人的了解和总结, 希望抛砖引玉,也许不全面, 不正确, 欢迎同学们指正和补充。

说到数字芯片,不能不说FPGA, 这种是可编程的数字电路, 用法原理也不说了, 数字电路设计的目标,就是把这些功能,做成我们自己专用的ASIC/SOC, 这样无论面积, 成本或者安全性等等都能有保证。从流程上讲, 数字芯片设计的大致步骤就是系统与功能定义,RTL实现 验证, 综合及可测试性设计(synthesize , DFT ), ATPG仿真, 时序分析, 到自动布局布线(APR). 直至交付fab的GDS网表。

这个流程是可以反复迭代的, 当对于不同类型芯片, 如纯数ASIC或混合电路(mix-signal及系统级芯片(SOC), 每一步的方法和具体实施流程上可能又有所差异.下面就这些基本流程分步谈一些主要问题。系统设计主要设计到功能定义及架构设计, 总线架构的配置,模块设计,数据流的分配, 时钟的设计等问题。

总线包括模块之间,模块与MCU核之间,或者外部主机和芯片之间通信,或者测试需要等等一系列因素。 时钟涉及到数据流的规划, 通信接口或内部MCU的时钟约定,工艺条件,功耗等因素。模块需要明确接口和定义。在系统级设计上, 特别是很多数模混合电路中或对功耗有特别要求的电路中,还要有电压域的设计,不同模块之间,功能模块和接口之间可能都需要根据工艺条件,功耗要求设置不同的电压。

无论是时钟,还是电压,都可以通过控制开关来实现功耗的要求,时钟实现比较简单,在大部分电路中都可以实现这种时钟控制,电压控制一般是实现在集成有电源管理芯片的较大规模芯片上。但未来趋势是即使没有电源管理芯片,电压的gating也需要纳入考虑范围。在 SOC系统设计上,一个重要的环节是MCU 内核的选型,现在常用的内核一般是ARM, 较老的ARM7, Arm9等系列,较新的是三大系列cortex A , R, M, 具体的用途不做详细诉述,选定好后核需要根据需要进行设置,一般做硬件的人不需要对它的指令集了解太多,但是需要了解它的总线接口,数据总线,指令总线, 以及存储系统的设计,一般需要安排ROM, RAM分别作为指令和数据存储器,由于ROM是不可更改的,一般也需要加入flash作为补丁程序写入地。

也可能需要外部存储器或者DMA控制器来增加外 部存储空间。地址的分配是按照功能需要来进行的,现在有很多工具如synopsys的DesignKits可以产生外部总线代码及进行地址分配。第一步完成系统和功能定义后, 就要实施的就是RTL实现, RTL是专门描述硬件电路的工具语言, 有verilog和VHDL, RTL的特点就是硬件上的同时触发性,不同于软件的按顺序执行, 电路有时序逻辑和组合逻辑组成, 时序逻辑在物理构成上就是一些寄存器,这些寄存器受时钟控制, 寄存器代表了电路中数据或控制信号, 这些信号受时钟的驱动流动. 组合逻辑是不受时钟控制的电路块, 组合逻辑顾名思义,通过一些信号的组合直接生成一些逻辑结果。

RTL设计中,一大问题是异步设计问题,异步数据的处理根据不同情况有很多方式, 最简单的,如果对异步的电平信号, 可以直接在新的时钟域中加2级寄存器来隔离,避免不定态的发生. 当如果对于总线的处理, 或者脉冲的处理, 则需要同步模块, 同步模快一般是指需要握手信号,就是前一级时钟告诉采样的时钟,信号ok了, 采样的第二个时钟再去采,采好后再告诉前一级时钟,我搞定了,那样前一级时钟就可以换数据或其他处理。

有一种情况就是前一级时钟太快, 造成第二级来不及,则需要加入FIFO作为隔离, 就是让那些数据先放好, 我在慢慢来取. 这个FIFO的设计涉及到读写地址的判断,写满或读空都需要做相应处理, 读写地址之间的判断只能在其中一个时钟域中进行, 这本身又涉及异步信号的处理问题,这一般用格雷玛解决, 或者有些地方直接可以判断地址高位, 这些方法的目的就是不能让地址在比较的时候不稳定。

RTL设计中时钟本身的设计问题也要注意, 我们在一个芯片中, 尽量把时钟产生电路放在一块,主要是从综合, DFT的角度去考虑的, 让这些时钟统一管理和约束。 时钟的分频,切换也要专门处理,否则容易产生毛刺等事情。RTL设计中还有很多需要注意的问题,比如可综合性, 还有要考虑到电路的面积, 以及响应速度等等, 这些问题是RTL coding的基础问题。

代码写完后,需要进行的是验证工作, 下面谈谈这方面的事情:上次写完后,有人支持,也有个朋友说写这些东西意义不大吧,如果就某些细节方面感兴趣的朋友可以探讨和切磋,互相学习,也可以私下交流。这只是我的角度去写这些东西,希望大家指正和补充。下面接前天的,继续验证部分。芯片验证一般有这几个层面, 一个是RTL级或者Netlist( pre or post PR with SDF ), 这个也是一般意义上的芯片验证工作, 一个是FPGA级的,也是RTL, 只不过download到FPGA中, 借助硬件环境,也可以直接做应用实验。

芯片验证的工作量在芯片设计中占据了大部分的时间和精力,无论是那种验证,都需要搭建测试平台(testbench),验证平台从软件结构上模拟芯片的工作 环境。即有清晰的连线结构,也有完成这些测试所需要的非结构性的函数或任务包。测试平台中的被测试芯片是RTL级的,测试向量或者说施加的激励可以是 verilog/VHDL,HDL语言本身就具有比较完善的行为级描述功能,也可以满足绝大部分测试平台的搭建和测试激励的产生,当然我们面对更复杂设 计,或追求更高效率 也可以使用其它被编译器兼容的语言, 如C/C , SC, SV,E等等。

很显然,测试激励是有时间概念的,是按顺序进入和流出芯片的,使用的这些非电路描述语言和功能和软件几乎是没有区别的,所以验证中也越来越多地使用软件的一 些技术, 如面向对象的编程技术,SystemVerilog, Specman E等,SV也支持断言语句(assertion),不同厂家提供的OVM, VMM,UVM等也包括了很多类库可供使用。

关于这些技术其实可以有更深入的探讨,也期待感兴趣的能深入展开。无论传统的验证还是最新的验证方法学,都需要追求验证的收敛性,即验证完全是自动化的检测,除非debug, 我们无需通过波形判断测试通过与否。对于很多验证,我们几乎不需要上到FPGA上验证,比如数据通信类,完全可以软件实现数据的产生和比对。而有些应用,如影视频,图形抓取等等,如果进入 FPGA就可以实现效果功能的检验,FPGA的流程这里不做表述,不过要注意的是,我们用作流片的RTL代码可能和待烧入FPGA的代码有不同之处,比如 有些使用的IP在FPGA中可能和流片厂家提供的不一样,还有些端口等等需要特别注意。

还有post layout的后仿,这个后仿是指DFT和APR之后的网表,加入带有时序信息的SDF文件进行仿真。有些人说,我做过验证,代码和网表之间,PR前后网 表之间的一致性验证也做了,还需要后仿吗? 答案当然还是需要的,因为一致性也无法检测到很多时序的问题,比如毛刺,甚至DFT的错误, 功能性的问题等等。

现在比较常见数模混合芯片的验证,模拟的部分主要是采用了 verilogams建模,当然也有VHDLRN建模等等,这些东西就是引入了可控制和可检测的模拟量,进入数字仿真系统,也是数字验证流程的一环。 更专业的数模混合验证系统ADMS, 里面引入了数字和模拟多个引擎,如数字的nvverilog 模拟的Eldo等等,数字部分导入RTL代码,模拟部分直接导入GDS电路, 当然为了加快速度,模拟部分在使用中一般仍然导入数字模型。

SOC验证中, 植入了烧入ROM的软件, 在仿真验证系统中,使用的一般是存储器的模型加上文本格式的代码文件, 一般实现是直接通过系统读入指令把文件读入到存储器模型中。(有些仿真工具可以直接通过选项导入,类似SDF文件,如工具nscim),仿真器可以直接写 出指令执行的log以用于debug,不过现在有更先进的方式用于复杂SOC验证, 如Codelink工具,能够在原仿真器的基础上,建立起MCU和HDL电路已经软件的关系,通过展示波形和固件(firmware)源码的链接进行更方 便的debug。

下面需要说的实现部分,就是综合,DFT, STA ,ATPG等,准备合在一起写,感兴趣的朋友也可以接着我的写,我暂时不做这方面的更新,希望朋友们玩个接力。(此处略去若干回帖。。。。。)帖子的话题受到了大家关注, 也被加精 , 受到鼓舞, 一直想继续写完,但时间有限,更主要惰性使然, 一直没有接着写完, 今日得宽裕,继续谈谈数字 IC设计接下来的一些工作 。

不过在继续之前, 我要说的是, 其实我之前写的也不够完善, 只是想到了就随之敲下来了, 不够完整 ,特别是现在的芯片设计, 不同的产品,要求不同, 所设计的步骤也不完全一致 。比如, 对于很多设计数字电路可能实现建立软件模型, 来评估我们的频率,资源,或者数字信号处理中的信噪比等一些指标, 这些都是在规格定义之后, 电路设计之前需要做的一些工作。

在芯片完成了设计与验证之后, 我们要做的工作 就是把它装化成GDS网表,就是所谓的implementation(电路实现),这其中的流程包括综合,DFT, formality, STA, ATPG pattern generation 和仿真(和功能验证一样也包括前后仿), 再进入后端的PR/LVS/DRC 的流程 ,这个属于物理设计, 当然这个流程 是笼统的 ,这里主要讲几个后端物理设计之前的前端实现的几个步骤 。

综合的原理比较直观,从RTL到GTECH库到厂家工艺库的编译翻译映射与替代, 综合需要输入的就是时钟约束即sdc文件,sdc是设计与产品的使用要求决定的。DFT包括好几种类型, Scan chain是最常见的一种,这个可以在综合步骤中一起做,也可以在综合之后进行,扫描链的多少和芯片本身的规模和芯片可提供的可测试芯片管脚有关, 尽量扫描链的长度越短越好,以缩短测试时间;由于有些片子的管脚有限,需要压缩扫描链;甚至有些芯片由于可复用的管脚太少,进入测试模式都需要在功能模式下由主机的设定, 设定后再退出功能模式。

扫描链的插入后可以由工具产生ATPG的 pattern, DFT成功与否要看测试覆盖率,一般在95%以上说明就差不多ok了, 如果覆盖率偏低 ,需要追究原因,一般看有没有漏掉的DFF,以及为什么会溜掉,一般主要原因不是这个, 是一些不可控的节点造成了覆盖率低,需要在电路中做一些处理来使之能 有相关 ATPG产生,如加入测试模式生效的可选的DFF或者电平/地 。

有些电路包括了ROM/RAM,需要给ROM/RAM本身加入内建自测电路(BIST), 一般如果带有MCU的SOC,其实也可以通过软件来完成RAM测试,不一定加入BIST, 但是植入CPU软件的ROM肯定必须有BIST电路来完成自测,自测电路的原理很简单, 就是判断写入和读出的数据是否吻合, 否则会 BIST电路会给出错误的标识。

Boundary scan chain是另一种DFT, 很容易理解的是,我们可以控制芯片各个pad的输入输出值, 这样它的作用可以应用于板级调试。formaliry或者说equence check, 主要检查综合,DFT以及后端PR之后和各自步骤之前的RTL/网表的等效性。STA是静态时序分析, 主要用在芯片完成后端流程后,也检查是否满足时序要求, 特别是插入了时钟树之后,这是需要后端工具(ICC/Encounter等)反标出的sdf文件来进行分析 。

请问X86与ARM的功耗控制有什么区别?

芯片设计中,最难的是架构设计还是验证

ARM和X86功耗的差别一直是个很热的话题.ARM可以做的很低,甚至1瓦都不到.而X86服务器的芯片可以达到100-200瓦,就算是嵌入式处理器Atom系列也需要几瓦.很多人说这是指令集的关系.ARM采用精简指令集,X86采用复杂指令集,前者每条功能简单,单挑指令耗电低.而后者每条指令复杂,单个指令耗电高.但是这种解释很模糊.如果大家都做同样的事情,完成一个大功能,精简指令集需要指令较多,而复杂指令集需要指令少,加起来到底谁耗电多呢.还有,现在处理器普遍采用微指令,大的指令会被拆分成更小的指令,以达到更高的流水线效率.简单指令集的单条微指令和复杂指令集的单条微指令相比的话,情况就更复杂.我手头没有关于比较的具体数据,但是至少前文所列出关于功耗和指令集相关的解释不是很有说服力.今天碰到一个资深人士,总算找到一个比较合理的解释.首先,功耗和工艺制程相关. ARM的处理器,不管是哪家,主要是靠台积电等专业制造商生产的.而Intel的是自己的工厂制造的.一般来说后者比前者的工艺领先一代,也就是2-3年.如果同样的设计,造出来的处理器因该是Intel的更紧凑,比如一个是22纳米,一个是28纳米,同样功能肯定是22纳米的耗电更少.那为什么反而ARM的比X86耗电少得多呢.这就和另外一个因素相关了,那就是设计.设计又分为前端和后端设计,前端设计体现了处理器的构架,精简指令集和复杂指令集的区别是通过前端设计体现的.后端设计处理电压,时钟等问题,是耗电的直接因素.先说下后端怎么影响耗电的.我们都学过,晶体管耗电主要两个原因,一个是动态功耗,一个是漏电功耗.动态功耗是指晶体管在输入电压切换的时候产生的耗电,而所有的逻辑功能的0/1切换,归根结底都是时钟信号的切换.如果时钟信号保持不变,那么这部分的功耗就为0.这就是所谓的门控时钟(Clock Gating).而漏电功耗可以通过关掉某个模块的电源来控制(Power Gating).当然,其中任何一项都会使得时钟和电源所控制的模块无法工作.他们的区别在于,门控时钟的恢复时间较短,而电源控制的时间较长.此外,如果条单条指令使用多个模块的功能,在恢复功能的时候,并不是最慢的那个模块的时间,而可能是几个模块时间相加,因为这牵涉到一个上电次序(Power Sequence)的问题,也就是恢复工作时候模块间是有先后次序的,不遵照这个次序,就无法恢复.而遵照这个次序,就会使得总恢复时间很长.所以在后端这块,可以得到一个结论,为了省电,可以关闭一些暂时不会用到的处理器模块.但是也不能轻易的关闭,否则一旦需要,恢复的话会让完成某个指令的时间会很长,总体性能显然降低.此外,子模块的门控时钟和电源开关通常是设计电路时就决定的,对于操作系统是透明的,无法通过软件来优化.再来看前端.ARM的处理器有个特点,就是乱序执行能力不如X86.换句话说,就是用户在使用电脑的时候,他的操作是随机的,无法预测的,造成了指令也无法预测.X86为了增强对这种情况下的处理能力,加强了乱序指令的执行.此外,X86还增强了单核的多线程能力.这样做的缺点就是,无法很有效的关闭和恢复处理器子模块,因为一旦关闭,恢复起来就很慢,从而造成低性能.为了保持高性能,就不得不让大部分的模块都保持开启, 并且时钟也保持切换.这样做的直接后果就是耗电高.而ARM的指令强在确定次序的执行,并且依靠多核而不是单核多线程来执行.这样容易保持子模块和时钟信号的关闭,显然就更省电.此外,在操作系统这个级别,个人电脑上通常会开很多线程,而移动平台通常会做优化,只保持必要的线程.这样使得耗电差距进一步加大.当然,如果X86用在移动平台,肯定也会因为线程少而省电.凌动系列(ATOM)专门为这些特性做了优化,在一定程度上降低乱序执行和多线程的处理能力,从而达到省电.此外,现在移动处理器都是片上系统(SoC)结构,也就是说,处理器之外,图形,视频,音频,网络等功能都在一个芯片里.这些模块的打开与关闭就容易预测的多,并且可以通过软件来控制.这样,整体功耗就更加取决于软件和制造工艺而不是处理机结构.在这点上,X86的处理器占优势,因为Intel的工艺有很大优势,而软件优化只要去做肯定就可以做到。

在亚马逊上该如何避开VC账号的势力范围?

芯片设计中,最难的是架构设计还是验证

要想完美避开VC账号的势力范围,我们得先搞清楚VC账号到底能通过什么手段来威胁到卖家们~VC账号的优势:可以上传产品主图的视频有VC的专属A 也面无上限秒杀:在黑五、prime day等节日前使用VC 账号帮自家产品无上限上秒杀冲量,以便得到节日前的秒杀邀请,另外 VC开的秒杀是可以定时定点,可以自己安排秒杀时间BD可以开启一周VC账号开的广告现在bid都很低VC账号拥有很大的关联流量,可以强制关联自家产品能快速拯救被恶意修改的listing,同时也能修改别人的listing查询ARA数据,流量来源,关键词数据VC账号能为listing加小节点用VC 账号为listing增加VP再来,我们需要知道亚马逊跟卖的特点1.任何Listing(除非做了Brand Gating)都会被跟卖2.VC的Listing也会被跟卖3.但是每一个Listing只能被1个amazon.com的账户(也就是VC账户)跟卖4.同时,只有被VC账户跟卖大家才有可能立即失去销售权,甚至Listing被恶意串改;了解以上4点之后,我们还需要了解亚马逊对于跟卖的销售政策,那就是:产品必须和Listing的描述完全一致,否则跟卖的卖家账户必然被审核。

那我们接下来一起再深究一下,什么叫做“产品必须与Listing的描述完全一致”。其实,Listing的描述包括了几个重点:1.“文案”、“图片”,这里我们不多说了;2.其次,“品牌”亚马逊在2年前就禁止卖家通过Generic白牌上传产品,所以每个产品都有一个品牌描述;3.再次,UPC/EAN码,这个很重要,但是往往被“受害卖家”忽视。

现在我们把“品牌”和“UPC/EAN”码结合来给大家说明一下:1.UPC/EAN是VC跟卖的唯一渠道,因为靠亚马逊GCID上传的产品是很难被跟卖的;2.同时,UPC/EAN是唯一商品编码,相当于商品的身份证号码。而它的唯一性来自于1个编码对应1家公司;看完这两点之后我们再给大家一个总结:1.如果大家完成品牌备案,通过GCID上传产品(品牌 产品型号生成),别人是很难跟卖你的产品的(当然,你自己通过小号跟卖推BSR排名和Review的方法也很难使用,所以GCID上传产品是一把双刃剑);2.即使你被VC账户跟卖,只要你通过了品牌备案,拿Listing的编辑权不会很困难,也不会很久;3.但是,对于没有通过亚马逊品牌备案的产品,由于需要用完成注册的商标递交,所以对于大部分卖家而言,最危险的时候,就是你在品牌注册完成之前通过UPC或者EAN上传的产品的时候;针对于如何解决这个问题,小编从亚马逊内部了解到,卖家需要去做的其实比较简单,那就是:在没有完成品牌备案的情况下——1.用卖家公司的名称注册自己的UPC/EAN号码,这个很快就可以拿到。

亚马逊对被列入假货恶名市场名单一事如何回应?如何看?

当地时间周三特朗普政府在其年度报告中发布假货恶名市场名单,其中报告亚马逊网站,这让亚马逊很不满意。这份研究知识产权保护和假冒和盗版热点的报告,将亚马逊的加拿大、英国、德国、法国和印度网站列为山寨商品的网上市场。这也是美国企业首次被列入假货恶名市场名单。“《假冒和盗版恶名市场审查报告》突出了38个网上市场和34个实体市场,据报道,这些市场从事或促成了大量的商标假冒和版权盗版行为。

”美国贸易代表办公室的新闻稿中写道。被列入该名单并不会因此受到经济处罚或监管部门的监督,但它确实损害了亚马逊的声誉,并将其与臭名昭著的造假网站混为一谈。"这种活动损害了美国知识产权所有者在国外市场的创新和知识产权,损害了美国经济。据估计,在全球进口的产品中,估计有2.5%,即近5万亿美元的价值,是假冒和盗版产品。

"该新闻稿接着说。该报告的重点仍主要集中在 "盗版内容和假冒商品的网上销售",新的重点是 "网上盗版和恶意软件之间的联系"。亚马逊在一份声明中指责特朗普政府推进总统对亚马逊及其首席执行官杰夫·贝佐斯(Jeff Bezos)的 “个人恩怨”。“这一纯粹的政治行为是美国政府推进针对亚马逊的个人恩怨的又一个例子,”该公司发言人告诉Politico。

"亚马逊在积极主动的技术和流程方面进行了大量投资,以检测和阻止不良行为者和潜在的假冒产品在我们的商店中销售。" 该公司甚至不惜发表博文,称其被列入该名单是 "冤枉的"。"美国政府今天错误地将亚马逊在加拿大、法国、德国、印度和英国的商店列入美国贸易代表(USTR)的年度假货恶名市场名单,尽管亚马逊在全球范围内99.9%以上的客户浏览的网页中从未出现过假冒伪劣的报告,"博文中写道。

"我们坚决不同意USTR这份报告中对亚马逊的定性。"亚马逊表示,它在2019年投资了5亿美元,目前已经雇佣了8000名员工,用于打击欺诈和滥用行为。该公司还表示,其自动化系统和人工审查政策也阻止了250万个涉嫌 "不良行为者 "在其第三方Marketplace平台上的商品,该平台产生的销售额占亚马逊所有零售业销售额的一半以上,其中包括来自世界各地的卖家。

亚马逊称,在这样做时,它 "在60多亿个疑似不良商品发布到我们的店铺之前,就已经封杀了60多亿个疑似不良商品。"但该公司有对山寨商品“视而不见”的历史,尤其是在服装和鞋类部门,,而正是美国服装和鞋类协会敦促特朗普政府调查亚马逊在网上销售假冒服装和鞋类产品激增的过程中所重点关注的。在某些情况下,亚马逊曾与苹果和耐克等公司达成交易,进行所谓的brand gating,阻止第三方卖家(无论正品与否)打着商标的旗号销售产品。

然而就在去年11月,耐克公司就结束了作为亚马逊上的批发商的参与,原因是据说对第三方卖家缺乏控制,其中一些卖家贩卖耐克的假货,以及亚马逊平台上的激烈竞争。此外,这类交易的结果可能会像苹果公司那样,将合法的转售商踢出局。这是联邦贸易委员会去年夏天开始研究的情况,认为这可能违反了反垄断法。但无论如何,直接与亚马逊达成交易,如果交易持续下去,似乎确实可以保护公司在平台上的品牌形象。

该公司为减少山寨商品而运行的其他项目包括去年推出的 "Project Zero "计划,该计划让公司在不需要亚马逊干预的情况下,就可以标记并删除假冒的商品列表。然而,凉鞋制造商Birkenstock公司却因为声称亚马逊拒绝帮助解决造假问题而彻底退出了该平台。鞋业公司Allbirds也指责亚马逊盗用了其自有品牌之一的签名设计。

就在上周,《华尔街日报》的一篇报道发现,亚马逊自己的员工获取第三方卖家信息,帮助开发自有品牌山寨产品,参议员Josh Hawley正在敦促美国检察长因反垄断问题对该公司进行调查。即使是亚马逊自己的自有品牌,包括其大受欢迎的AmazonBasics系列,也被造假者劫持,希望利用亚马逊的名字及其相关的信任和搜索排名来套现。

尽管如此,亚马逊仍认为白宫最近的这一举动是与贝佐斯和特朗普的长期恩怨有关的惩罚性措施。该公司称,缺乏投入资源对被抓获的假货贩子进行收费是导致这种做法有增无减的原因之一,而在这种情况下,亚马逊认为此举更多的是损害其声誉,而不是积极保护合法零售品牌的方式。"我们的商店是一个安全的购物场所,这证明了我们持续的创新、合作和打击假冒伪劣和其他形式的欺诈行为的承诺,"亚马逊的博文中写道。

文章TAG:itemgating

最近更新