自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 低功耗技术原理与分析

低功耗技术按照架构级、逻辑设计级以及物理设计级分类如下图所示,接下来,将详细介绍各种低功耗技术的原理。

2024-04-14 17:45:16 22

原创 动态功耗管理

当SRAM正在写入数据或读出数据时,是不能调整供电电压的,否则将出现功能性错误,也就是只有芯片IDLE时,才能调整供电电压,这显然是极其不灵活且影响性能的,为了在芯片工作过程中动态调整工作电压,可以添加额外的逻辑,从而可以通过配置寄存器控制SRAM的MEA和MEB信号(假设是双端口的SRAM,端口A用于写数据,端口B用于读数据,MEA表示写使能,MEB表示读使能)使得SRAM无法进行读写操作,如果此时向SRAM发出读写数据请求将不得不等待直到MEA和MEB信号重新拉高。

2024-04-14 14:05:33 15

原创 IR/EM 分析IR drop

IR drop分析工具需要依赖于gate waveform,在所选择的时间窗口中,芯片是否有足够重的负载,否则在实际使用中,如果出现负载更重的测试用例,造成的IR drop比分析出来的更大,会导致芯片因为供电不足而无法正常工作,所以为了保证芯片能够正常工作,尽可能选择负载最重的测试用例和时间窗口,同时工具分析出的IR drop需要加上一定的余量。

2024-04-14 13:03:53 38

原创 pre-silicon和post-silicon之间的功耗校验

1、虽然pre-silicon和post-silicon运行相同的测试用例,post-silicon采集的是整个测试用例运行期间的平均功耗,而在pre-silicon,因为功耗分析工具一次只能分析2~3us的gate waveform,虽然可以分析多个时间窗口,但总的时间窗口与post-silicon相比依然小得多,提供给待测模块的数据不同,模块内部的晶体管翻转不同(反应模块整体的toggle rate不同),导致动态功耗不同,因此如果提供给待测模块的数据是随机生成的,那么时间窗口的选择会对功耗产生影响。

2024-04-10 23:20:02 33

原创 PowerBist原理及实现

芯片中功耗较大或比较核心的模块或子模块(如GPU core,如果这些核心模块无法正常工作,那么整个芯片也无法正常工作)需要放置PowerBist逻辑,待测模块工作于PowerBist模式时,需要保证待测模块正常的时钟供应,同时归属于同一power rail的其他模块的时钟需要被关断,但由于这些模块的供电没有被关断,因此这些模块的泄露功耗依然会对测量结果产生干扰,为了排除这些干扰,只对pre-silicon和post-silicon的动态功耗做校验。

2024-04-10 22:51:52 23

原创 功耗分类、产生原因以及影响因素分析

由公式可知,开关功耗与供电电压、时钟频率以及等效负载电容C2呈正相关,且因为供电电压是平方关系而影响最大,当供电电压和时钟频率一定时,开关功耗至千负载申容有关,晶体管翻转实际是上负载电容充放电的过程,1到0翻转时,负载电容放电,而0到1翻转时,负载电容充电,芯片的 busy 程度越高,更多的晶体管翻转,意味着更多的负载电容参与充放电,导致等效负载电容越大,开关功耗越高。温度升高,晶格振动幅度变大,越容易与载流子发生碰撞,导致载流子迁移率降低, transition 时间变大,从而短路功耗变大。

2024-04-10 10:25:20 82

原创 CPO原理及实现

为了找出delay最大的关键路径,一种方法是遍历,具体硬件实现是在关键路径和反相器之间引入多路选择器,每次只选择其中一条关键路径产生的时钟作为输出,另一种方法是对所有的关键路径进行求与运算,具体硬件实现是在关键路径和反相器之间引入与门,输出产生一个脉冲信号,脉冲实际上是由最小delay路径的时钟下降沿和最大delay路径的时钟上升沿组成,脉冲信号的上升沿对应最大delay路径的时钟上升沿。

2024-04-10 10:09:21 54

原创 商用版PowerReplay工具存在哪些不足?

PowerReplay本质还是进行门级仿真,但与传统门级仿真不同的是, PowerReplay需要从RTL waveform抽取寄存器Q端的值,然后映射到netlist 中,以纠正由时序违例造成的数据错误,由于Q 端的值是映射而不是由netlist推导出来的,所以Q端的值的正确性是可以保证的,但因为时序违例的存在,寄存器Q端推导出的值与映射的值不一致,导致功耗失真。1、具有良好的兼容性,可以处理不同厂商EDA工具生成的RTL waveform;率的gate waveform;

2024-04-10 00:06:28 76

原创 分别用verilog和SystemC实现6阶FIR滤波器及其testbench

本文通过分别用verilog和SystemC来实现6阶FIR滤波器及testbench。6阶FIR滤波器有7个常数系数,6个乘法器和6个加法器,公式展开如下。N-1阶FIR滤波器的数学公式如下。6阶FIR滤波器的硬件结构如下。N-1阶FIR滤波器的结构如下。

2024-04-05 23:00:23 165

原创 在芯片开发的哪些阶段需要进行功耗分析?

在RTL freeze前的RTL版本迭代中,设计团队发布一个新的RTL版本,功耗团队需要根据综合团队发布的netlist,来评估RTL改动对power的影响,虽然综合团队发布的netlist是不带sdf延时反标文件,也就是分析得到的power中不含glitch power,但RTL的改动主要是影响是switch power,因此此阶段的power评估RTL改动的影响。2、rtl到netlist的mapping文件。在一款芯片的设计中,各团队的协作如下图所示。该replay工具的输入有以下几个。

2024-04-05 16:12:59 268

原创 为什么需要PowerReplay工具?

2、仿真速度慢,需要从配置时钟,初始化,对于含有PHY的模块,如HBM,还需要进行training,直至运行真正的测试用例,整个仿真时间可能达到几百us,对应几天甚至几个星期;3、对于SDF要求高,如果某些timing path存在violation,这会导致仿真失败;1、仿真环境复杂,尤其是存在一些大型模块(HBM/DDR/PCIE)时;传统的门级仿真(gate simulation)存在以下几点不足。

2024-04-05 16:11:19 93

原创 SystemC概述

SystemC和TLM(Transaction Level Modeling)是一个ANSI标准C++类库,芯片设计人员和架构师可以使用它来处理软硬件协同的复杂系统。

2024-04-04 14:59:08 110

原创 SystemC Learning Resource

1、IEEE Standard

2024-04-04 14:47:19 94

原创 SystemC中的regression test suite

tests目录即regression test suite,包括以下几个目录。包含一个regression test script,verify.pl。包含所有tests所共享的一些文件。包含SystemC tests。包含TLM2 tests。

2024-04-04 00:36:05 81

原创 SystemC在Ubuntu下的的安装与运行

2、SystemC下载完成后解压缩得到systemc-main目录。3.2 创建并切换至临时目录。3.1 生成配置可执行文件。3.7 删除创建的临时目录。1、SystemC下载链接。3.5 编译结果检查。3、安装SystemC。

2024-04-03 23:54:41 216

原创 状态机设计(一段式、两段式和三段式)

三段式状态机第一段,时序always块,状态跳转第二段,组合always块,状态更新第三段,时序always块,输出控制两段式状态机两段式状态机是把三段式状态机的第二段和第三段合为一段,那么两段式状态机的第二段是组合always块,还是时序always块,如果是组合always块,输出信号可能出现毛刺,而如果是时序always块,状态跳转和状态更新各需要一个时钟周期,而三段式状态机一个时钟周期即可完成状态的更新...

2021-07-24 22:33:11 2291 1

原创 怎么验证SOC芯片中的IP模块?

首先不是看block_guide,而是在schematic中查看IP模块的端口信号,可能有些输入端口是Tie 0/1或没连接的,有些输出端口是没连接的,因为SOC designer可能遗漏掉某些端口信号,或者最初只是简单的Tie 0/1,但后面遗忘了,如果对某些端口信号,需要及时和SOC designer沟通,这样其实也是节省验证时间,因为可能debug一个失败的case,最后发现其实是只因为端口信号没连接或者Tie 0/1了。随后,搞清楚IP模块的基地址、复位信号、所有的时钟以及支持的时钟频率。最后,基于

2021-07-21 23:25:21 1209

原创 SOC芯片的功耗管理策略

SOC芯片的功耗模式(power mode)如下表所示,其本质上是电压和时钟控制的组合,按照CPU是否进入sleep模式可以分为两大类。CPU不进入sleep模式的功耗模式SOC芯片在完成boot后,功耗模式默认选择Normal RUN,在user case中可以根据需要将功耗模式通过软件的方式配置成OD_RUN1/OD_RUN2/LS_RUN/LV_RUN。CPU进入sleep模式的功耗模式为了降低功耗,CPU执行完当前任务,且没有后续任务需要执行时,CPU将通过WFI指令进入sl

2021-07-20 22:16:14 1512

原创 在SOC芯片的功能仿真中,至少需要哪些case?

SOC芯片是基于IP模块的集成,这些IP模块是经过充分验证的,因此,在SOC芯片的功能仿真中,应该更多关注IP模块之间的互联以及系统级验证,那么验证一个IP至少需要哪些case呢?1、CPU访问IP寄存器的验证IP是否正确地挂载到总线上了,且对寄存器的RTL实现与DOC描述进行double check2、CPU访问IP未定义的寄存器验证当CPU访问IP未定义地寄存器时,是否能够触发HARD FAULT中断3、CPU访问IP未开放的寄存器验证当CPU试图访问IP未开放的寄存器时,是否h

2021-07-20 15:19:47 530

原创 在SOC环境中,如何实现一个VIP?

VIP根据实现方式不同,分为C侧和V侧,C侧为C语言实现的.h文件,而V侧是HDL实现的.sv文件,VIP的目录结构如下图所示IP_reg.h中定义了与IP寄存器相关的四个函数,一个是寄存器读写函数,第二个函数是检查寄存器的复位值,这两个函数用于验证IP是否正确地挂载到总线上,另外一个目的是验证RTL实现是否与DOC一致(double check),因为这两个函数是参照DOC中寄存器的定义实现的,可能存在着RTL实现与DOC描述不一致的情况,特别是在SOC芯片验证过程中,IP在持续更新(可能增加

2021-07-20 15:10:42 744

原创 GCC编译过程

GCC编译过程分按照顺序分为以下四个步骤1、预处理(Pre-Processing)使用的工具是编译器2、编译(Compiling)使用的工具是编译器3、汇编(Assembling)使用的工具是汇编器4、链接(Linking)使用的工具是链接器预处理阶段处理的是以#开头的指令,如#define、#include以及#ifdef…#endif等,这些#开头的指令是GCC编译器的指令,并不是C语言的语法,使用选项-E即可查看预处理的结果,预处理生成的文件是.i文件,预处理完

2021-07-20 10:26:58 175

原创 跨时钟域(CDC)

如下图所示,两个DFF分属两个不同的时钟域a和b,时钟域a的数据adat需要传输到时钟域b,由于adata对于bclk是异步的,所以有可能adata在DFF的建立时间的窗口期内发生跳变,造成bdat1是一个不确定的状态,也就是DFF出现了亚稳态,注意,跨时钟域并不一定会出现亚稳态,只是有可能会出现。IP之间交互的信号分为总线信号以及其他数据/控制信号,总线信号如AXI和AHB协议,所有采用AXI协议的IP的总线时钟都是ACLK,所有的总线信号都同步到ACLK,所以总线信号不存在跨时钟域的问题,而对于其他数据

2021-07-18 20:57:54 4394

原创 SOC芯片的电源管理策略

下面以我所做过的一款SOC芯片来说明SOC芯片集成一个DCDC, 该DCDC具有动态电压调节,可以通过配置寄存器调节输出电压大小,另外DCDC输出的电压可能有偏差,通过TRIM值可以调节精度。SOC芯片的外部供电电压是3.3v,其作为输入提供给DCDC,DCDC输出为1.0v和1.8v两个电压,其中1.8v专供给USB PHY使用,而1.0v给CPU core、储存器以及数字模块使用。SOC芯片集成四个LDO(低压差线性稳压器),LDO_PLL、LDO_AON_ANA、LDO_AON_DIG、LDO

2021-07-17 22:55:21 2282 2

原创 SOC芯片的时钟生成策略

SOC芯片的时钟来源有两种1、外部oscillator(SOC芯片留有专用的PAD)2、内部oscillator但在实际应用中,外部oscillator会带来较大的功耗,所以通常使用内部oscillator,内部oscillator分为RC oscillator和crystal oscillator两种RC oscillator(电阻电容震荡器)由于电阻电容的的精度问题,且受到温度和湿度的影响,RC oscillator产生的时钟频率会有偏差,但RC oscillator可以较快的输出稳

2021-07-17 22:49:35 1477 1

原创 SOC芯片中VIP和IP之间的路由关系

通用PAD是双向端口(inout),这就意味着每个通用PAD可以根据需要被配置成输入或输出,如图1所示 图1ind是输入端口do是输出端口obe是输出使能信号当obe为低电平时,PAD作为输入端口使用,三态门关闭,do高阻,片外数据通过ind传输到片内当obe为高电平时,PAD作为输出端口使用,三态门打开,片内数据通过do传输...

2021-07-17 22:31:16 1859

原创 SOC芯片门级仿真失败的原因分析及其解决办法

由于SOC芯片中不同电路模块工作于不同的时钟频率,即SOC芯片中存在多个时钟域,为了解决多个时钟域之间的通信或数据交互问题,一个解决办法是使用两级同步触发器进行同步,上一级异步触发器输出的信号达到同步一级时,同步一级输出x,但是同步二级输出正常的0或1,x没有向后传播,即实现跨时钟域同步,如果没有两级同步,即没有同步二级,x将向后传播。在门级仿真中,与实际电路一样,仿真工具在检查时序时将同步一级的...

2020-03-07 11:15:06 1254

原创 SOC芯片门级仿真

静态时序分析(Static Timing Analysis, STA)在没有激励输入的情况下分析通路中触发器是否满足建立时间和保持时间,静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误,由于可以比较准确地确定路径的最小延时,静态时序分析可以理论上...

2020-03-07 11:07:48 2487

空空如也

空空如也

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

TA关注的人

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