tag 标签: cpu

相关帖子
相关博文
  • 热度 7
    2024-1-19 10:00
    871 次阅读|
    0 个评论
    作者: shannon.jin MPS Engineer Intel的CPU有很多rail需要供电,例如VCCIN,VCCINAUX,GT之类的,各个rail各司其职,需要的电压和电流不同,但测试起来形式类似,基本分为以下三个大类: SVSC (Static Voltage Static Current),顾名思义,就是静态电压静态电流。 SVDC(Static Voltage Dynamic Current),静态电压动态电流 DVSC (Dynamic Voltage Static Current),动态电压静态电流 下面我们来单独看这三个测试的含义: a. SVSC (Static Voltage Static Current),静态电压静态电流 与我们测普通的DCDC load regulation类似,这个就是设定个电压,加恒定负载,看输出电压的表现,比如电压值,纹波大小,还有就是电流精度回报是否准确。与普通的DCDC静态测试区别就是Load line,设置PS状态和SVID读取电流回报精度(Imon,mon可以理解为monitor,CPU需要监测是否抽载正确),这些可以在后续进行更深入的解释 b. SVDC(Static Voltage Dynamic Current),静态电压动态电流 这个也可以对标我们普通DCDC 的transient跳载测试,输出恒定电压,输出负载在两个给定的值之间周期性变化,并且电流切换时带有一定的切换斜率。与普通DCDC测试不同的是Intel会要求测试300Hz-1MHz的频率和10%-90%的占空比,这里的频率指的是高低电流周期变化的频率,占空比指的是重载在一个周期的占比,还有一个区别是load line带来的波形区别,后期进行补充。 c. DVSC (Dynamic Voltage Static Current),动态电压静态电流 这个在普通DCDC测试中比较少见,但不难理解,CPU的rail有时需要工作在不同的电平,CPU的高速运转有时需要电压能够在指定的时间内以一定的斜率完成切换,这个测试就是输出拉一个恒定的负载,发出调压指令,看输出电压能否在指定时间完成调压以及调压后的电压值是否满足需求,比如不低于某值。 关于Load line 一般我们测普通的DCDC,电流不大,但像笔电和服务器,电流会达到几十安甚至几百安,大电流跳载会给输出电压波形带来巨大的上冲和下冲,为了优化跳载表现,我们引入load line的概念。下图中粉色代表输出电流的跳变波形,中间的红色实线为普通DCDC跳载波形,紫色的为加了DC load line的波形,加了load line后,输出电压会随着输出电流的增大而减小(关系如图二),可以看到大电流持续的那一段时间内,输出并没有回到最初的水平线,而是维持在较低的电压值,这样,在电流突然减小时,电压的上冲有个更低的平台,上冲的最大的电压值就会相比没有DC load line的小很多。测试DCDC transient时,我们会关注输出电压的峰峰值,可以从图中看出,采用了load line的波形峰峰值明显减小了。这就给设计带来了一些好处,比如跳载时峰峰值减小了意味着可以在合理范围内减少输出电容从而cost down,同时,重载时更低的电压也减小了整体的功率需求。 关于PS状态 CPU在不同的工作状态下对电流有不同的要求,多相电源在重载时肯定是满负荷全员上,但轻载时如果全员都在打开关工作,就有点浪费资源了,为了提升电源在轻载时的工作效率,引入了PS的概念。目前笔电测试有五种PS(Power Status)状态,它们的定义如下: PS0:大功率工作,全相CCM意思就是所有的Dri-MOS都在稳定地打开关供应输出。 PS1:功率相对较小时选择这个状态,只有一个Dri-MOS在CCM工作,其余的MOS都进入待命。 PS2/3:功率更小,唯一工作的MOS进入DCM模式,更大地降低功耗,与普通DCDC相似,因为工作在DCM,输出纹波也会变大。 PS4:类似进入休眠状态,输出电压降为0V。 笔电测试中切换PS状态是靠CPU发切PS指令完成的,是被动的,但是服务器中切换Dri-MOS工作数量是我们的controller主动根据现有输出电流调节的,这种工作模式叫做APS(Auto-Phase Shedding),APS也是为了优化不同工作电流下的效率。 下图是MPS的GUI(可视化I2C调试小工具)内部APS的设置。从图中可以看出,随着输出电流从小往大走,我们的controller会自动控制一个个Dri-MOS参与工作,而随着电流从大往小走,controller又会控制一个个Dri-MOS停止打开关,在增加Dri-MOS和减小Dri-MOS的电流点有个滞回差值4A,这是为了防止在一个切phase电流点时,controller误判导致反复增加或减小Dri-MOS的数量 关于Imon(monitor监控电流)精度读取 CPU在抽取电流时需要知道电流是否已经足够支撑现在的运作,就需要通过SVID获取我们控制器这边sense反馈的电流值,看看是否抽载准确,从而来调整抽载的大小。 比如以下这个表格第一列代表测试工具抽的电流,表格第四列代表测试工具通过SVID读取的控制器自己sense的电流转化的16进制,表格会自动将十六进制转化为电流值,例子如下: 比如对应下表标红的一组数据,取自某次测试,Iccmax=128A,FF的十六进制可以将Iccmax 128A平分成256等分(256为十进制),当Imon回报的十六进制数据为20,转化成十进制就是32(可以用计算器转化),对应的电流就是256份里的32份,电流即可计算为I=128/256*32=16A 根据tool抽载和实际采样反馈的电流,测试表格会自动拟合一条曲线,看抽载是否准确,如果偏差不大,需要我们通过GUI(I2C)去微调controller里面的寄存器,如果偏差很大,就需要去debug电路中或者寄存器里是否有设置错误的地方。 Processor Test Current in (A) Measured Static Voltage in (V) Ripple in (mV) pk-pk SVID Iout reading (HEX) 0 0.8995 12 0 2 0.8958 12 3 9 0.8833 14 12 16 0.8699 14 20 24 0.8544 14 30 关于DVID(动态电压,静态电流)波形测试中的时间测量 前面讲到这个测试需要我们输出电压以一定的斜率在限定的时间内完成调压以及在稳定时输出电压不低于规定的数值。电压切换的斜率有三种,fast,slow以及decay,其中每一个rail的fast和slow都有intel各自规定好的斜率,decay直译为衰减,可以看出它只针对输出电压从高往低调节,并且decay的时间不可控,所以遇到decay的测试,电压下降的时间我们一般不测量。 电压切换的时间怎么测量呢?下图为我们测试过程中截取的波形,图中有三个信号,一个是Vout,另外两个CSO和ALERT就是我们用来测试时间的信号。当CPU给controller发指令时,CSO会被拉低,当controller接收到指令并接受指令时,CSO又会回到高位,通常每个CSO会持续38个clk(一个clk为40ns),如果controller拒绝CPU发的指令,CSO就不会被拉高(比如还在DVID过程中,如果发了某些指令会被拒绝)。下图有两个CSO信号,第一个代表调压,第二个是发送get register 10H(用来清空alert,把alert重新拉高)。整个系统工作时,alert会在三种情况下被拉低,我们测试接触的是电压跳到指定的step了,alert会被拉低。测量调压时间卡的就是CSO上升沿到ALERT的下降沿,具体哪个CSO需要结合图片和测试表格给的条件,理解每一个CSO对应的含义。 前面测试时间时的alert是我们controller接收到调压指令后自己内部去数多少个step后拉低alert,而不是测量电压值拉低alert。我们controller通常会提前几个step拉低alert,比如测试中VCCIN从1.63V跳到1.83V,斜率为25mV/us,这时表格会限定时间不能超过200/25=8us,我们测试CSO上升沿到alert下降沿的时间就要小于8us才算pass。 有时候ALERT会先于CSO上升沿导致测量的时间为负数,这是允许的,因为我们芯片会提早几个step去跳DVID,再加上有的测试电压跳变的幅度很小,比如1.81V跳1.83V,时间很短。如下图所示 下面来看一些测试中遇到的波形解析 第二幅图相较于上面一幅图多了一个CSO,可以看到,在电压平稳时,输出电压的纹波变大了,第三个CSO是set PS 2/3的指令,切换成一相DCM,纹波变大了。 A. 测试中常见的CSO和Alert波形解读 第二幅的alert和第一幅也不一样,一开始alert是低的,这个原因是什么呢,看下面第三幅图,测试DVID时,为了方便抓图,tool会循环发指令让输出电压在两个数值之间来回跳,前面一个清空alert的指令在alert拉低之前就来了,导致alert没有拉高。 B. 服务器中CPU指令间隔时间不同的对比测试(注意CSO和ALERT波形) 下面我们来看一些服务器测试的波形,这些测试条件都会在测试表格中给出,按照步骤设置就会出现如下波形。下面两幅图是一个对比测试,对比的是发出指令的时间间隔不同会给波形带来什么样的影响。 下图是从1.7V跳1.8V然后跳1.6V的波形,可以看到有两个alert拉低的动作,说明1.8V和1.6V都完成了。 但是下面这幅图可以看到只有一个alert拉低的动作,原因是在发出跳1.8V指令没过多久就立马发了跳1.6V的指令,还没来得及跳完1.8V。 C. 补充controller拒绝CPU指令的波形(关注CSO波形) 前面还有讲到controller在DVID过程中拒绝CPU指令的情况,如下图所示,在输出仍处于DVID过程中,CPU发了一个切换PS的指令,芯片在DVID过程中是默认全相CCM的,这样他就会拒绝CPU的指令,所以CSO就没有回到高电平。 关于DVID测试中的电压波形 DVID还有一项需要测试的是在alert插入一定时间后(测试表格会提供时间),最小的电压值是否已经高于规定值,测试波形如下所示,在alert插入4us,用横向的光标卡4us后的电压最小值。这个最小值需要注意的是可能刚好处于4us的时候,也可能处于后面稳定的电压纹波下面的那条线,只要高于表格的spec就行。 如果输出电容过多或者某些参数没设置好,输出电压上升的斜率过慢,导致alert插入一定时间后电压还没有调到指定值,会造成fail。下图绿色为理想状态下的DVID调压曲线,在规定的时间内(CSO上升沿到ALERT下降沿),输出电压调至了CPU需要的电压值,棕色的是我们实际测试期望的波形(controller提前几个step开始跳,让输出电压在设定时间之前先往高的跳,然后再调回稳定的电压值),红色的是fail的波形,输出调压过慢,导致在alert插入后一段时间内(这个时间测试表格会给出)都无法调至需要的电压值。 如何去改善这个上升缓慢的问题呢,有三种方法: 通过MPS的I2C工具GUI调节DVID upward,这个是让它多提前几个step调压 如果DVID upward已经调到最大6个step了,接下来可以调VFB1 pin脚到地的阻容参数(一般为6.04kohm,1nF,一开始没上件) 还有一个可调的就是减小输出电容,让输出电容充电更快,输出上升得也更快。 笔电Transient 测试波形 前面讲到VRTT测试中的transient波形如下图所示,那么我们需要如何从测试波形中获取数据填入表格呢。 区别于普通的DCDC,我们需要先截取300Hz, 50%(看测试表格给的多少duty)的V_start以及V_end。 V_start可以理解为,输出电流即将增大,输出电压即将迎来下冲的参考电平;V_end可以理解为输出电流即将减小,输出电压即将迎来上冲的参考电平。 将V_start和V_end填入测试表,接下来就是测试最worse的overshoot和undershoot,可以通过over和under的字面意思知道,这两个一个上冲,一个下冲。 下面这幅图为笔电测试过程中的overshoot的波形。首先保留300Hz,50%测到的V_end光标,调至输出overshoot最差的频率,光标卡到overshoot并记录数值。 下面这幅图为笔电测试过程中的undershoot的波形。首先保留300Hz,50%测到的V_start光标,调至输出undershoot最差的频率,光标卡到undershoot并记录数值。 笔电测试一般是保持duty不变,改变跳载频率,这个在Intel测试工具界面上有操作的地方,一点点改变频率,从300Hz扫到1MHz,然后使用示波器上的触发功能,触发到波形后继续移动触发的电平,直到触发不到为止,这个就是最worse的点。 笔电测transient还有一个测试,就是在进入轻载后,需要发切PS的指令,并且测试切PS前后纹波底部的差值,如下图所示。需要注意的是,进入transient之前先把PS都设为PS0,进入之后再enable PS change,测试完成关掉transient之前把PS都改为PS0。 服务器VRTT transient测试波形 相较于笔电,服务器transient测试更加精细,除了需要从300Hz扫到1MHz,占空比也要从10%扫到90% (载重的时候是10%-50%,表格会有提示),方便的是服务器的扫频和占空比可以通过跑脚本自动扫的,然后我们可以通过脚本生成的excel表筛出最worse的点。还有一点是服务器需要开累积截取transient波形防止漏掉一些worse的点,一般要累积500次以上。 与笔电transient一致,一开始也需要卡300Hz,50%的V_start和V_end。 扫频脚本的修改后续会讲到,下图是扫频完成后生成的excel文件,我们可以用excel自带的筛选功能,分别在min voltage和max voltage里选出min里面的minimum和max里的maximum,把对应的频率和占空比填入测试表格,后可以将频率和占空比带入tool界面跑起来截取波形。 Undershoot测试与笔电类似,就是把扫频得到的最worse的频率和duty在tool界面设置好后,开累积截取波形,光标卡在undershoot最小值。 Overshoot测量方法也与笔电类似,就是把扫频得到的最worse的频率和duty在tool界面设置好后,开累积截取波形,光标卡在overshoot最大值。这幅图的overshoot波形不像前面的那么规整,是因为跳载频率高了,输出波形产生了畸变。 Overshoot还需要测量一个VCCIN_MAX以及overshoot超过VCCIN_MAX的时间。这个VCCIN_MAX目前不同人有不同理解。有人理解为在300Hz 50%卡纹波的上沿,有的人理解为在最worse的overshoot频率duty点,输出电压在轻载进入重载最后一个时刻纹波的上沿(如上图卡的VCCIN_MAX)。不过目前overshoot超出VCCIN_MAX的spec是25us,目前测到的overshoot最worse的频率一般大于100kHz,本身在轻载停留的时间就很短,小于25us,一般都能过spec。 服务器transient过程中PS切换的问题 前面有讲到APS时有提到服务器切PS是根据实际sense的电流自动切换的,而不是像笔电一样靠CPU发指令切换。虽然在服务器的测试表格里也有切换PS的要求,但是我们在实际测试中不会去在意PS状态。 脚本测试代码修改 服务器测试的自动脚本可在FAE处获取,下面我们来看看测试脚本修改步骤吧。 首先这些插件需要和脚本在同一文件夹下面 右击脚本文件,点开edit with IDLE,后进行脚本修改。 脚本修改后在run这个tag选择run module后就可以跑脚本了。运行的同时Intel的自制软件也需要开着,方便脚本控制intel软件运行。 1. Static LL 脚本修改 拿到脚本,我们只需要修改几个地方,如下图所示,第一个要修改的就是输出电压以及测试的最大电流,这些可以从表格上获取 第二个需要修改的是抽载电流点,下图a代表抽载电流占Iccmax的百分比,假设Iccmax=495A,a=0.05, 测试电流就是495*0.05=24.75A,一开始测static,我们会先跑几组小电流,看看load line和Imon是否准确,再去跑完整的电流,这时候修改下面a的数组就行了。测VCCIN时需要开风扇,因为温漂会给输出电压带来影响,另外最好同步检测GUI上的温度。 跑完脚本会生成一个excel表格,把下图框出来的部分拷贝到Intel的表格里即可,纹波因为脚本设置问题没办法读取,可以单独用tool加载,用示波器观测后填入测试表格。 2. Transient 脚本设置 Transient测试的脚本修改如下所示,需要修改的内容在测试表格上都能找到对应的,占空比可以关注测试表格上的小红点,会提示占空比最高扫到百分之几,一般载很重的扫到50%,载轻的扫到90%。 扫频结束会在同个文件夹下生成一个excel,在min Voltage里筛选出电压最小的,获取频率和占空比作为undershoot最worse的情况,在max Voltage里选出电压最高的,获取频率和占空比作为overshoot最worse的情况。如果有一个电压差得特别多,就把这个点单独挑出来看看。另外,电流大的时候需要全程开风扇,不然会OTP。 3. DVID 脚本设置 DVID需要脚本的测试都各自有单独的脚本,设置内容也可以直接从表格获取,如下图,1.63V跳1.83V再回到1.63V,这是测试第一个指令和第二个指令时间间隔不同带来的波形区别。电压的十六进制可以在tool界面获取,调压后tool界面会显示该电压的十六进制。运行后会自动跑起来,我们在示波器截取DVID波形测量所需数据即可。 服务器软件安装 在服务器测试transient过程中,不仅需要将频率从300Hz扫到1MHz,在各个频率点还需要占空比从10%扫到90%来获取overshoot以及undershoot的数据量很大,这个扫频率和占空比的工作就由自动化脚本来代劳了。 除了intel研发的测试工具,我们还需要安装python,目前测试安装的是python 3.6.5 (32位),在安装过程中需要勾选下图圈出部分add python 3.6 to path. 安装好python后需要装一些插件,打开windows的终端(WINDOWS+R然后输入CMD),界面出来后,一条条输入以下的命令按回车 pip install openpyxl pip install numpy pip install pythonnet pip install pillow pip install matplotlib pip install pandas pip install xlrd Set WP波形解读 Set WP全称是set working point,这个测试与DVID类似,CPU发出set WP指令,输出电压完成跳变,截取CSO上升沿到alert下降沿的时间,并且测量在alert插入一段时间后,输出电压的最小值(详见DVID波形测试)。Set WP与DVID不同的是,set WP需要几个rail一起跳。 下图是VR13HC 某个测试版本set WP的测试条件,WP1里,VCCIN,VCCSA和VCCIO的电压分别为1.83V, 0.87V和1V,WP2分别为1.6V, 0.85V和1V。根据电压差和斜率计算出每一个rail电压跳变所需的时间,如下表有颜色的部分,VCCIN的time=(1.83-1.6)/0.025=9.2us,一个CLK为40ns,那么VCCIN完成电压跳变需要的CLK=9.2/0.04=230个CLK。同理可得其余两个rail完成电压跳变所需的时间。 从时间上可以看出VCCIO在接收到指令时就会马上完成跳变,紧接着VCCSA也会完成跳变,过比较长的时间后,VCCIN会完成跳变,ALERT拉低的顺序也会跟着三个rail完成跳变的顺序来。 按上面的逻辑,理论上应该有三个ALERT拉低的动作,实际测试波形如下,4个CSO对应的指令已在图中标注,棕色框出的部分波形有点异常,可以看到ALERT少了一个,这是因为两个ALERT只间隔了25个CLK,但是一个完整的CSO占用38个CLK,这就导致CSO还没来得及把第一个ALERT清空,第二个ALERT就来了,这个波形是正常的。 下面我们来看看set WP的脚本修改。 首先是设置各个rail在不同Working point里的电压,下图给出了VCCIN WP1的电压修改解读,后面的指令分别修改VCCSA,VCCIO在WP1的电压以及三个rail在WP2的电压,电压的16进制可以从intel软件界面获取。 下图可以看到三个rail的SVID Addr,WP1和2对应的寄存器,电压的话需要根据测试表格要求修改,测试需要拿到最新的表格因为Intel一直在更新平台要求。 设好了各个rail在WP1和WP2的工作电压后,就需要修改每个清空alert指令发出的时间。 下图是set WP以及清空alert的指令,框出来的第一行是set WP1,后面接着的就是清空各个rail的alert,我们可以先看看框出来的内容每个数字的意义。 第一个是0,它代表第一条指令,可以看到每一行这个数字是递增的。 第二个是2,每一行这个数字都是一样的,不需要去改动 第三个是15,十六进制就是F,代表SVID address里的all call,是给所有rail发指令,可以看到下面的几行是2,1,0,分别代表VCCIO, VCCSA, VCCIN的SVID address,前面有讲到过这三个调压完成的顺序。 第四个是9,这个对应的就是set WP指令,下面几行7代表get register,获取寄存器数值 第五个是0x21,这个的意思是set WP1 with fast slew rate,后期会补充怎么计算这个值,后面几行0x10和上一个get register连起来就是清空alert。 第六个和第七个数字分别是2和3,这两个数字也不需要管 第八个数字是0x04,它代表的就是在这条指令完成后间隔多少个CLK去进行下一条指令 最后一位数字是1,代表这条指令active,可以看到最下面几行最后一位数字是0,代表最下面几行不工作。 Set WP那条指令0x21以及0x22是怎么算出来的呢 假设我们需要以fast的斜率跳WP1,参考下图,100001对应的16进制就是0x21,如果以fast的斜率set WP2,那就是100010,对应16进制就是0x22。 Delay的CLK该怎么计算呢 再次回到这张表格和脚本以及电压跳变的图,在set WP1发送之后,VCCIO的alert马上就来了,但是一个CSO固定38个CLK才会拉高,那么下一个清空VCCIO ALERT的指令是可以马上跟上的,但又不想两个CSO凑太近造成混乱,所以在set WP1发出完成后(就是第一个CSO被拉高后)选择delay 4个CLK清空VCCIO的alert。 VCCSA在set WP1后25个CLK就会来,但因为和VCCIO的alert太近,再加上VCCIO清空alert的CSO也有38个CLK,时间上有冲突,所以就接着VCCIO清空alert信号后4个CLK发出。 第三个alert属于VCCIN,在set WP1后230个CLK到来,时间该怎么算呢,考虑到前面两个CSO各自占38个CLK以及前面每条指令间隔4个CLK,VCCIN清空alert的指令距离上一条指令delay的时间就是230-38-38-4-4=146个CLK,也就是说在清空VCCSA alert发出后大概146个CLK后我们可以去清空VCCIN的alert,下面这个脚本选取的时间为167个CLK(16进制A7)比146个CLK(16进制92)长,长一点没问题,把alert拉高就行。 具体问题具体分析,结合表格和实际跑出的波形,可以适当去修改delay的CLK。 来源:mps
  • 热度 4
    2023-11-17 11:46
    443 次阅读|
    0 个评论
    随着32GT/s 的PCIe 5.0产品问市后,高速运算及AI人工智能开始显露出其效能,特别是生成式AI更迅速地融入进入人们的日常生活,逐渐在各产业扮演重要角色,同时也带动对高速服务的依赖需求不断增长。这个效应带动了服务器产业的持续成长,同时也加速了服务器的世代升级周期缩短。 客制化数量不大的白牌市场或DIY服务器市场客户在采购时,通常会考虑到成本因素,因此会分散采购后,再客制化组成所需的系统规格,其中机壳、主板及储存装置更是系统稳定性与否的重要关键部分,但随着主板开始导入高速的PCIe 5.0技术后,此类型的服务器将面临更严峻的潜在风险挑战。 白牌服务器五大潜在风险 1. 散热不平均 支持PCIe 5.0的CPU,其TDP(Thermal Design Power)都大于350W以上,对散热要求非常高!不同的主板其CPU设计的位置也不同,不一定能跟机壳风扇完全对应,此时就会引发CPU的散热不平均问题。 2. 机壳风扇效能不够 当CPU的TDP大于350W时,通常必须搭配高转速或高电流的风扇来满足其散热需求,当机壳厂商所安装的风扇规格不够时,就会导致整体散热效能不足,造成系统温度不断升高,影响运算访问速度,甚至严重致系统热当机。 Source:双鸿、富果研究部 3. Cable走线无法优化 由于机壳与主板是分开采购,主板的连接器位置可能与机壳设计的走线不一致,这时就会造成散热风流的干扰,也会降低散热的效能,此类风险问题较不容易于第一时间察觉。 4. 内部线材质量问题 进入高速的PCIe 5.0时,对于缆线的高频特性要求非常的高,通常机壳厂商对于高频技术并不专业,此时所配置的缆线有可能因为高频特性不佳而导致系统效能降低。 5. 高频背板设计挑战 同样的情境还会引发另一个潜在问题,因机壳厂商对高频技术并不专业,因此在设计储存装置的背板时会面临极高的挑战,如Impedance mismatch、Insertion loss/Return loss过大及Cross talk等问题的产生,导致讯号干扰过多而降低服务器效能及系统稳定性。 上述的潜在风险,除了会导致系统效能大幅降低、CPU寿命缩短及系统不稳定外,更严重时将导致系统不断重启、关机或热当机。所影响的会是布署在服务器上的应用服务状态长时间不稳定或中断服务,甚至造成数据的流失,这些将会造成严重的使用者负面体验,并引起众多客诉,进而影响业绩及客户整体数量,品牌的声望也岌岌可危。
  • 热度 5
    2023-8-18 22:02
    3439 次阅读|
    0 个评论
    1、请解释WatchDog(看门狗)的工作原理。 看门狗有两个重要信号:时钟输入和复位输出。电路工作时,CPU 送出时钟信号给看门狗,即喂狗。如果系统出现故障, CPU 无法送出连续的时钟信号,看门狗即输出复位信号给CPU,复位系统。 2、键盘与控制器(或者是单片机)连接时是如何工作的? 答:通过控制器(或者是单片机)对键盘扫描,即:通过键盘与控制器相连导线上的电平值来判断按下的键盘,从而判断相应的键盘值,通过中断,调用相应的中断服务子程序。一般是通过键盘的行扫描和列扫描判断键盘。 3、什么叫做OTP片、掩膜片,两者的区别何在? OTP means one time program,一次性编程 MTP means multi time program,多次性编程 OTP(One Time Program)是MCU的一种存储器类型 MCU按其存储器类型可分为MASK(掩模)ROM、OTP(一次性可编程)ROM、FLASHROM等类型。 MASKROM的MCU价格便宜,但程序在出厂时已经固化,适合程序固定不变的应用场合; FALSHROM的MCU程序可以反复擦写,灵活性很强,但价格较高,适合对价格不敏感的应用场合或做开发用途; OTP ROM的MCU价格介于前两者之间,同时又拥有一次性可编程能力,适合既要求一定灵活性,又要求低成本的应用场合,尤其是功能不断翻新、需要迅速量产的电子产品。 4、单片机上电后没有运转,首先要检查什么? 首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。 接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。 然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的“X10”档。另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。 另外还要注意的地方是,如果使用片内ROM的话(大部分情况下如此,现在已经很少有用外部扩ROM的了),一定要将EA引脚拉高,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子不行,往往是因为EA引脚没拉高的缘故(当然,晶振没起振也是原因只一)。经过上面几点的检查,一般即可排除故障了。如果系统不稳定的话,有时是因为电源滤波不好导致的。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善。如果电源没有滤波电容的话,则需要再接一个更大滤波电容,例如220uF的。遇到系统不稳定时,就可以并上电容试试(越靠近芯片越好)。 6、单片机对系统的滤波。 答:单片机对系统只能实现数字滤波,即通过一种数字算法对系统进行滤波。常用的有中值滤波,平滑滤波,程序滤波等。 7、 总线是什么概念 什么原理 常用的总线有哪些 各种存储器的详细性能介绍、设计要点及选型. 描述反馈电路的概念,列举他们的应用。 反馈,就是在电子系统中,把输出回路中的电量输入到输入回路中去。 反馈的类型有:电压串联负反馈、电流串联负反馈、电压并联负反馈、电流并联负反馈。 负反馈的优点:降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非线性失真,有效地扩展放大器的通频带,自动调节作用。 电压负反馈的特点:电路的输出电压趋向于维持恒定。 电流负反馈的特点:电路的输出电流趋向于维持恒定。 8、名词解释:IRQ、BIOS、USB、VHDL、SDR。 (1) IRQ:中断请求 (2)BIOS:BIOS 是英文"Basic Input Output System"的缩略语,直译过来后中 文名称就是"基本输入输出系统"。其实,它是一组固化到计算机内主板上一个 ROM 芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置 信息、开机后自检程序和系统自启动程序。其主要功能是为计算机提供最底层的、 最直接的硬件设置和控制。 (3) USB:USB,是英文 Universal Serial BUS(通用串行总线)的缩写,而其 中文简称为“通串线,是一个外部总线标准,用于规范电脑与外部设备的连接和 通讯。 (4) VHDL:VHDL 的英文全写是:VHSIC(Very High Speed Integrated Circuit) Hardware Description Language.翻译成中文就是超高速集成电路硬件描述语言。 主要用于描述数字系统的结构、行为、功能和接口。 9、What is PC Chipset? 芯片组(Chipset)是主板的核心组成部分,按照在主板上的排列位置的不同,通常分为北桥芯片和南桥芯片。北桥芯片提供对CPU的类型和主频、内存的类型和最大容量ISA/PCI/AGP插槽、ECC纠错等支持。南桥芯片则提供对KBC(键盘控制器)、RTC(实时时钟控制器)、USB(通用串行总线)、Ultra DMA/33(66)EIDE数据传输方式和ACPI(高级能源管理)等的支持。其中北桥芯片起着主导性的作用,也称为主桥(Host Bridge)。 除了最通用的南北桥结构外,目前芯片组正向更高级的加速集线架构发展,Intel的8xx系列芯片组就是这类芯片组的代表,它将一些子系统如IDE接口、音效、MODEM和USB直接接入主芯片,能够提供比PCI总线宽一倍的带宽,达到了266MB/s。 不断添加中。。。。。。
  • 热度 5
    2023-8-18 11:24
    843 次阅读|
    0 个评论
    芯片里面100多亿个晶体管是怎么装进去的?
    如今随着芯片制程的不断提升,芯片中可以有 100 多亿个晶体管,如此之多的晶体管,究竟是如何安上去的呢? 这是一个 Top-down View 的 SEM 照片,可以非常清晰的看见 CPU 内部的层状结构,越往下线宽越窄,越靠近器件层。 这是 CPU 的截面视图,可以清晰的看到层状的 CPU 结构,芯片内部采用的是层级排列方式,这个 CPU 大概是有 10 层。其中最下层为器件层,即是 MOSFET 晶体管。 Mos 管在芯片中放大可以看到像一个“讲台”的三维结构,晶体管是没有电感、电阻这些容易产生热量的器件的。最上面的一层是一个低电阻的电极,通过绝缘体与下面的平台隔开,它一般是采用了 P 型或 N 型的多晶硅用作栅极的原材料,下面的绝缘体就是二氧化硅。 平台的两侧通过加入杂质就是源极和漏极,它们的位置可以互换,两者之间的距离就是沟道,就是这个距离决定了芯片的特性。 当然,芯片中的晶体管不仅仅只有 Mos 管这一种类,还有三栅极晶体管等,晶体管不是安装上去的,而是在芯片制造的时候雕刻上去的。 在进行芯片设计的时候,芯片设计师就会利用 EDA 工具,对芯片进行布局规划,然后走线、布线。 如果我们将设计的门电路放大,白色的点就是衬底 , 还有一些绿色的边框就是掺杂层。 晶圆代工厂就是根据芯片设计师设计好的物理版图进行制造。 芯片制造的两个趋势,一个是晶圆越来越大,这样就可以切割出更多的芯片,节省效率,另外就一个就是芯片制程,制程这个概念,其实就是栅极的大小,也可以称为栅长,在晶体管结构中,电流从 Source 流入 Drain ,栅极( Gate )相当于闸门,主要负责控制两端源极和漏级的通断。 电流会损耗,而栅极的宽度则决定了电流通过时的损耗,表现出来就是手机常见的发热和功耗,宽度越窄,功耗越低。而栅极的最小宽度(栅长),也就是制程。 缩小纳米制程的用意,就是可以在更小的芯片中塞入更多的电晶体,让芯片不会因技术提升而变得更大。 但是我们如果将栅极变更小,源极和漏极之间流过的电流就会越快,工艺难度会更大。 芯片制造过程共分为七大生产区域,分别是扩散、光刻、刻蚀、离子注入、薄膜生长、抛光、金属化,光刻和刻蚀是其中最为核心的两个步骤。 而晶体管就是通过光刻和蚀刻雕刻出来的,光刻就是把芯片制作所需要的线路与功能区做出来。 利用光刻机发出的光通过具有图形的光罩对涂有光刻胶的薄片曝光,光刻胶见光后会发生性质变化,从而使光罩上得图形复印到薄片上,从而使薄片具有电子线路图的作用。 这就是光刻的作用,类似照相机照相。照相机拍摄的照片是印在底片上,而光刻刻的不是照片,而是电路图和其他电子元件。 刻蚀是使用化学或者物理方法有选择地从硅片表面去除不需要材料的过程。通常的晶圆加工流程中,刻蚀工艺位于光刻工艺之后,有图形的光刻胶层在刻蚀中不会受到腐蚀源的显著侵蚀,从而完成图形转移的工艺步骤。刻蚀环节是复制掩膜图案的关键步骤。 而其中,还涉及到的材料就是光刻胶,我们要知道电路设计图首先通过激光写在光掩模板上,然后光源通过掩模板照射到附有光刻胶的硅片表面,引起曝光区域的光刻胶发生化学效应,再通过显影技术溶解去除曝光区域或未曝光区域,使掩模板上的电路图转移到光刻胶上,最后利用刻蚀技术将图形转移到硅片上。 而光刻根据所采用正胶与负胶之分,划分为正性光刻和负性光刻两种基本工艺。在正性光刻中,正胶的曝光部分结构被破坏,被溶剂洗掉,使得光刻胶上的图形与掩模版上图形相同。 相反地,在负性光刻中,负胶的曝光部分会因硬化变得不可溶解,掩模部分则会被溶剂洗掉,使得光刻胶上的图形与掩模版上图形相反。 我们可以简单地从微观上讲解这个步骤。 在涂满光刻胶的晶圆(或者叫硅片)上盖上事先做好的光刻板,然后用紫外线隔着光刻板对晶圆进行一定时间的照射。原理就是利用紫外线使部分光刻胶变质,易于腐蚀。 溶解光刻胶:光刻过程中曝光在紫外线下的光刻胶被溶解掉,清除后留下的图案和掩模上的一致。 “刻蚀”是光刻后,用腐蚀液将变质的那部分光刻胶腐蚀掉(正胶),晶圆表面就显出半导体器件及其连接的图形。然后用另一种腐蚀液对晶圆腐蚀,形成半导体器件及其电路。 清除光刻胶:蚀刻完成后,光刻胶的使命宣告完成,全部清除后就可以看到设计好的电路图案。 而 100 多亿个晶体管就是通过这样的方式雕刻出来的,晶体管可用于各种各样的数字和模拟功能,包括放大,开关,稳压,信号调制和振荡器。 晶体管越多就可以增加处理器的运算效率;再者,减少体积也可以降低耗电量;最后,芯片体积缩小后,更容易塞入行动装置中,满足未来轻薄化的需求。 芯片晶体管横截面 到了 3nm 之后,目前的晶体管已经不再适用,目前,半导体行业正在研发 nanosheet FET ( GAA FET )和 nanowire FET ( MBCFET ),它们被认为是当今 finFET 的前进之路。 三星押注的是 GAA 环绕栅极晶体管技术,台积电目前还没有公布其具体工艺细节。三星在 2019 年抢先公布了 GAA 环绕栅极晶体管,根据三星官方的说法,基于全新的 GAA 晶体管结构,三星通过使用纳米片设备制造出 MBCFET(Multi-Bridge-Channel FET ,多桥 - 通道场效应管 ) ,该技术可以显著增强晶体管性能,取代 FinFET 晶体管技术。 此外, MBCFET 技术还能兼容现有的 FinFET 制造工艺的技术及设备,从而加速工艺开发及生产。 关注公众号“优特美尔商城”,获取更多电子元器件知识、电路讲解、型号资料、电子资讯,欢迎留言讨论。
  • 热度 6
    2023-7-26 10:28
    453 次阅读|
    0 个评论
    HBM的未来:必要但昂贵
    高带宽内存 (HBM) 正在成为超大规模厂商的首选内存,但其在主流市场的最终命运仍存在疑问。虽然它在数据中心中已经很成熟,并且由于人工智能 / 机器学习的需求而使用量不断增长,但其基本设计固有的缺陷阻碍了更广泛的采用。一方面, HBM 提供紧凑的 2.5D 外形尺寸,可大幅减少延迟 Rambus 产品营销高级总监 Frank Ferro 在本周的 Rambus 设计峰会上的演讲中表示: “HBM 的优点在于,您可以在很小的占地面积内获得所有这些带宽,而且还可以获得非常好的电源效率。 ” 缺点是它依赖昂贵的硅中介层和 TSV 来运行。 图 1 :实现最大数据吞吐量的 HBM 堆栈 Cadence IP 团队产品营销总监 Marc Greenberg 表示: “ 目前困扰高带宽内存的问题之一是成本。 3D 堆叠成本高昂。有一个逻辑芯片位于芯片堆叠的底部,这是您必须支付的额外硅片。然后是硅中介层,它位于 CPU 或 GPU 以及 HBM 内存下的所有内容之下。然后,你需要一个更大的封装等等,这是需要昂贵的代价的。 ”Marc Greenberg 进一步指出: “ 目前存在的 HBM 脱离了消费者领域,并更牢固地放置在服务器机房或数据中心,存在许多系统成本。相比之下, GDDR6 等图形内存虽然无法提供与 HBM 一样多的性能,但成本却显著降低。 GDDR6 的单位成本性能实际上比 HBM 好得多,但 GDDR6 器件的最大带宽与 HBM 的最大带宽不匹配。 ” Greenberg 表示,这些差异为公司选择 HBM 提供了令人信服的理由,即使它可能不是他们的第一选择。 “HBM 提供了大量的带宽,并且点对点传输的能量极低。您使用 HBM 是因为您必须这样做,因为您没有其他解决方案可以为您提供所需的带宽或所需的功率配置文件。 ” 而且 HBM 只会变得越来越快。 “ 我们预计 HBM3 Gen2 的带宽将提高 50% , ” 美光计算产品事业部副总裁兼总经理 Praveen Vaidyanathan 说道。 “ 从美光的角度来看,我们预计 HBM3 Gen2 产品将在 2024 财年期间实现量产。在 2024 日历年年初,我们预计随着时间的推移,将开始为预期的数亿美元收入机会做出贡献。此外,我们预测美光的 HBM3 将贡献比 DRAM 更高的利润。 ” 尽管如此,经济因素可能会迫使许多设计团队考虑价格敏感应用的替代方案。 “ 如果有任何其他方法可以将问题细分为更小的部分,您可能会发现它更具成本效益, ”Greenberg 指出。 “ 例如,与其面对一个巨大的问题并说, ‘ 我必须在一个硬件上执行所有这些操作,而且我必须在那里拥有 HBM ,也许我可以将其分成两部分,让两个进程并行运行,也许连接到 DDR6 。如果我能够将该问题细分为更小的部分,那么我可能会以更低的成本完成相同数量的计算。但如果您需要那么大的带宽,那么 HBM 就是您可以承受成本的方法。 ” 散热挑战 另一个主要缺点是 HBM 的 2.5D 结构会积聚热量,而其放置在靠近 CPU 和 GPU 的位置会加剧这种情况。事实上,在试图给出不良设计的理论示例时,很难想出比当前布局更糟糕的东西,当前布局将 HBM 及其热敏 DRAM 堆栈放置在计算密集型热源附近。 “ 最大的挑战是热量, ”Greenberg 说。 “ 你有一个 CPU ,根据定义它会生成大量数据。您通过此接口每秒传输太比特数。即使每笔交易只有少量皮焦耳,但每秒都会执行十亿笔交易,因此您的 CPU 会非常热。它不仅仅是移动周围的数据。它也必须进行计算。最重要的是最不喜欢热的半导体组件,即 DRAM 。 85℃ 左右它开始忘记东西, 125℃ 左右则完全心不在焉。这是两个截然不同的事情。 ” 还有一个可取之处。 “ 拥有 2.5D 堆栈的优势在于, CPU 很热,而 HBM 位于 CPU 旁边,因此喜欢冷,之间有一定的物理隔离, ” 他说。 在延迟和热量之间的权衡中,延迟是不可变的。 “ 我没有看到任何人牺牲延迟, ”Synopsys 内存接口 IP 解决方案产品线总监 Brett Murdock 说道。 “ 我看到他们推动物理团队寻找更好的冷却方式,或者更好的放置方式,以保持较低的延迟。 ” 考虑到这一挑战,多物理场建模可以提出减少热问题的方法,但会产生相关成本。 “ 这就是物理学变得非常困难的地方, ” Ansys 产品经理 Marc Swinnen 说。 “ 功率可能是集成所能实现的最大限制因素。任何人都可以设计一堆芯片并将它们全部连接起来,所有这些都可以完美工作,但你无法冷却它。散发热量是可实现目标的根本限制。 ” 潜在的缓解措施可能很快就会变得昂贵,从微流体通道到浸入非导电液体,再到确定散热器上需要多少个风扇或翅片,以及是否使用铜或铝。 可能永远不会有完美的答案,但模型和对期望结果的清晰理解可以帮助创建合理的解决方案。 “ 你必须定义最佳对你来说意味着什么, ”Swinnen 说。 “ 你想要最好的热量吗?最好的成本?两者之间的最佳平衡?你将如何衡量它们?答案依赖于模型来了解物理学中实际发生的情况。它依靠人工智能来处理这种复杂性并创建元模型来捕捉这个特定优化问题的本质,并快速探索这个广阔的空间。 ” HBM 和 AI 虽然很容易想象计算是 AI/ML 最密集的部分,但如果没有良好的内存架构,这一切都不会发生。需要内存来存储和检索数万亿次计算。事实上,在某种程度上,添加更多 CPU 并不会提高系统性能,因为内存带宽无法支持它们。这就是臭名昭著的 “ 内存墙 ” 瓶颈。 Quadric 首席营销官 Steve Roddy 表示,从最广泛的定义来看,机器学习只是曲线拟合。 “ 在训练运行的每次迭代中,你都在努力越来越接近曲线的最佳拟合。这是一个 X,Y 图,就像高中几何一样。大型语言模型基本上是同一件事,但是是 100 亿维,而不是 2 维。 ” 因此,计算相对简单,但内存架构可能令人难以置信。 Roddy 解释说: “ 其中一些模型拥有 1000 亿字节的数据,对于每次重新训练迭代,您都必须通过数据中心的背板从磁盘上取出 1000 亿字节的数据并放入计算箱中。 ”“ 在两个月的训练过程中,你必须将这组巨大的内存值来回移动数百万次。限制因素是数据的移入和移出,这就是为什么人们对 HBM 或光学互连等从内存传输到计算结构的东西感兴趣。所有这些都是人们投入数十亿美元风险投资的地方,因为如果你能缩短距离或时间,你就可以大大简化和缩短训练过程,无论是切断电源还是加快训练速度。 ” 出于所有这些原因,高带宽内存被认为是 AI/ML 的首选内存。 “ 它为您提供了某些训练算法所需的最大带宽, ”Rambus 的 Ferro 说。 “ 从你可以拥有多个内存堆栈的角度来看,它是可配置的,这为你提供了非常高的带宽。 ” 这就是人们对 HBM 如此感兴趣的原因。 “ 我们的大多数客户都是人工智能客户, ”Synopsys 的 Murdock 说。 “ 他们正在 LPDDR5X 接口和 HBM 接口之间进行一项重大的基本权衡。唯一阻碍他们的是成本。他们真的很想去 HBM 。这是他们对技术的渴望,因为你无法触及在一个 SoC 周围可以创建的带宽量。现在,我们看到 SoC 周围放置了 6 个 HBM 堆栈,这需要大量的带宽。 ” 然而,人工智能的需求如此之高,以至于 HBM 减少延迟的前沿特征突然显得过时且不足。这反过来又推动了下一代 HBM 的发展。 “ 延迟正在成为一个真正的问题, ”Ferro 说。 “ 在 HBM 的前两轮中,我没有听到任何人抱怨延迟。现在我们一直收到有关延迟的问题。 ” Ferro 建议,鉴于当前的限制,了解数据尤为重要。 “ 它可能是连续的数据,例如视频或语音识别。它可能是事务性的,就像财务数据一样,可能非常随机。如果您知道数据是随机的,那么设置内存接口的方式将与流式传输视频不同。这些是基本问题,但也有更深层次的问题。我要在记忆中使用的字长是多少?内存的块大小是多少?您对此了解得越多,您设计系统的效率就越高。如果您了解它,那么您可以定制处理器以最大限度地提高计算能力和内存带宽。我们看到越来越多的 ASIC 式 SoC 正在瞄准特定市场细分市场,以实现更高效的处理。 ” 使其更便宜(也许) 如果经典的 HBM 实现是使用硅中介层,那么就有希望找到成本更低的解决方案。 “ 还有一些方法可以在标准封装中嵌入一小块硅,这样就没有一个完整的硅中介层延伸到所有东西下面, ”Greenberg 说。 “CPU 和 HBM 之间只有一座桥梁。此外,在标准封装技术上允许更细的引脚间距也取得了进展,这将显著降低成本。还有一些专有的解决方案,人们试图通过高速 SerDes 类型连接来连接存储器,沿着 UCIE 的路线,并可能通过这些连接来连接存储器。目前,这些解决方案是专有的,但我希望它们能够标准化。 ” Greenberg 表示,可能存在平行的发展轨迹: “ 硅中介层确实提供了可能的最精细的引脚间距或线间距 —— 基本上是用最少的能量实现最大的带宽 —— 所以硅中介层将永远存在。但如果我们作为一个行业能够聚集在一起并决定一个适用于标准封装的内存标准,那么就有可能提供类似的带宽,但成本却要低得多。 ” 人们正在不断尝试降低下一代的成本。 “ 台积电已宣布他们拥有三种不同类型的中介层, ”Ferro 说。 “ 他们有一个 RDL 中介层,他们有硅中介层,他们有一些看起来有点像两者的混合体。还有其他技术,例如如何完全摆脱中介层。您可能会在接下来的 12 或 18 个月内看到一些如何在顶部堆叠 3D 内存的原型,理论上可以摆脱中介层。事实上, IBM 多年来一直在这样做,但现在已经到了你不必成为 IBM 也能做到这一点的地步。 ” 解决该问题的另一种方法是使用较便宜的材料。 “ 正在研究非常细间距的有机材料,以及它们是否足够小以处理所有这些痕迹, ”Ferro 说。 “ 此外, UCIe 是通过更标准的材料连接芯片的另一种方式,以节省成本。但同样,你仍然必须解决通过这些基材的数千条痕迹的问题。 ” Murdock 希望通过规模经济来削减成本。 “ 随着 HBM 越来越受欢迎,成本方面将有所缓解。 HBM 与任何 DRAM 一样,归根结底都是一个商品市场。在中介层方面,我认为下降速度不会那么快。这仍然是一个需要克服的挑战。 ” 但原材料成本并不是唯一的考虑因素。 “ 这还取决于 SoC 需要多少带宽,以及电路板空间等其他成本, ”Murdock 说。 “ 对于那些想要高速接口并需要大量带宽的人来说, LPDDR5X 是一种非常受欢迎的替代方案,但与 HBM 堆栈的通道数量相匹配所需的 LPDDR5X 通道数量相当大。您有大量的设备成本和电路板空间成本,这些成本可能令人望而却步。仅就美元而言,也可能是一些物理限制促使人们转向 HBM ,尽管从美元角度来看它更昂贵。 ” 其他人对未来成本削减则不太确定。 Objective Analysis 首席分析师 Jim Handy 表示: “ 降低 HBM 成本将是一项挑战。 ”“ 由于将 TSV 放置在晶圆上的成本很高,因此加工成本已经明显高于标准 DRAM 。这使得它无法拥有像标准 DRAM 一样大的市场。由于市场较小,规模经济导致成本在一个自给自足的过程中更高。体积越小,成本越高,但成本越高,使用的体积就越少。没有简单的方法可以解决这个问题。 ” 尽管如此, Handy 对 HBM 的未来持乐观态度,并指出与 SRAM 相比,它仍然表现出色。 “HBM 已经是一个成熟的 JEDEC 标准产品, ” 他说。 “ 这是一种独特的 DRAM 技术形式,能够以比 SRAM 低得多的成本提供极高的带宽。它还可以通过封装提供比 SRAM 更高的密度。它会随着时间的推移而改进,就像 DRAM 一样。随着接口的成熟,预计会看到更多巧妙的技巧来提高其速度。 事实上,尽管面临所有挑战, HBM 还是有理由保持乐观。 “ 标准正在迅速发展, ” 费罗补充道。 “ 如果你看看 HBM 如今的发展,你会发现它大约以两年为节奏,这确实是一个惊人的速度。 ” 关注公众号“优特美尔商城”,获取更多电子元器件知识、电路讲解、型号资料、电子资讯,欢迎留言讨论。
相关资源