cts

P&R 2

馋奶兔 提交于 2019-11-28 10:42:08
Floorplan: 要做好floorplan需要掌握哪些知识跟技能? 通常,遇到floorplan问题,大致的debug步骤跟方法有哪些? 如何衡量floorplan的QA? Floorplan是后端实现的根本,对后续流程的影响最大,因此必须综合考量。SoC顶层的Floorplan涉及面广而杂,以此做说明较有通用性。至于模块级或IP级,可以在SoC级的基础上删减一些。 以下罗列各方面的因素: 芯片的形状和尺寸。评价芯片三大指标PPA里的A(Area)最终体现在了这里。在工艺参数一定的条件下,A越小成本越低越有竞争力。对于TSMC来说(有的Foundry对曝光利用率并不强制要求),光有A还不够,具体的长和宽的大小也会影响成本——即所谓的MFU。过低的MFU会被额外收费,很高的MFU会有额外奖励; 芯片在板级的互联情况。配套的显示屏、存储、电源管理、晶体等位于哪个方向,决定了与之相关的IO的摆放,进而影响Floorplan; 芯片一共有多少路电源输入,其各自是否需要单独关断。归属同一电源的模块应尽量集中到一起方便封装走线以及电源网络设计; 封装的具体要求。封装对于PAD开口大小通常有明确的要求,其基板过孔的大小也会导致要求预留一定的位置不能开PAD口。类似存储接口这类IO较密集的位置,需要仔细考量如何同时满足信号质量以及供电等方面的要求,并且方便封装走线; 进入先进的深亚微米工艺之后

CTS测试方法

丶灬走出姿态 提交于 2019-11-28 07:15:18
① 执行完整的CTS测试计划:run cts --plan CTS ② 单独测试某一个Module: run cts --module/ -m + module name ③ 单独测试某一Test 下的方法: run cts --module/ -m + module name --test / -t + test name # method name ④ Fail项测试: run retry --retry + session 1,run vts -m VtsHalSoundtriggerV2_0Target -t SoundTriggerHidlTest.LoadInvalidModelFail_32bit 单项测试 2,run vts -m VtsHalSoundtriggerV2_0Target 模块测试 3,run vts 完整测试 run cts-on-gsi run cts -m CtsCameraTestCases -t android.hardware.cts.CameraTest#testPreviewFpsRange run A -m B -t C -a D -s E A: 表示跑哪种测试,目前有cts、 gts、 sts、 cts-on-gsi 、 vts 。其中只有cts-on-gsi 、 vts这两个测试需要刷google的system.img B:

CTS,CLS,CLR解释

半城伤御伤魂 提交于 2019-11-28 03:07:42
问题阐述 CTS、CLS和 CLR分别是什么意思? 专家解答 CTS、CLS和 CLR是.NET框架的 3个核心部分,下面分别对它们进行介绍。 (1)CTS CTS即通用类型系统,它定义了如何在.NET Framework运行库中声明、使用和管理类型,同时也是.NET Framework运行库支持跨语言集成的一个重要组成部分。通用类型系统主要执行以下功能: .建立一个支持跨语言集成、类型安全和高性能代码执行的框架。 .提供一个支持完整实现多种编程语言的面向对象的模型。 .定义各语言必须遵守的规则,有助于确保用不同语言编写的对象能够发生交互作用。 .NET Framework类库中的通用类型系统支持两种类别的类型,分别为值类型和引用类型,下面分别对它们进行简单介绍。 ? 值类型 值类型直接包含它们的数据,值类型的实例要么在堆栈上,要么内联在结构中。值类型可以是内联的(由运行库实现)、用户定义的或枚举的。 ? 引用类型 引用类型存储对值的内存地址的引用,位于堆上。引用类型可以是自描述类型、指针类型或接口类型。引用类型的类型可以由自描述类型的值来确定,自描述类型进一步细分成数组和类类型,类类型是用户定义的类、装箱的值类型和委托。图 1.1 显示了通用类型系统的一般结构。 图 1.1 通用类型系统的结构 (2)CLS CLS 即公共语言规范,它是许多应用程序所需的一套基本语言功能。CLS

洛谷P4602/LOJ2555/UOJ402/BZOJ5343[CTSC2018]混合果汁(二分+线段树+可持久化)

∥☆過路亽.° 提交于 2019-11-27 21:24:50
首先二分$d$,那么要取最小价值,就要在所有满足$d_i\ge d$的$i$中选$p_i$最小的,一路取到$L$。这个东西和名次树很类似,可以在权值线段树上二分。 而快速找到$d_i\ge d$的数据构成的线段树明显是排序+可持久化了。 #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const int N=100050; char rB[1<<21],*rS,*rT; inline char gc(){return rS==rT&&(rT=(rS=rB)+fread(rB,1,1<<21,stdin),rS==rT)?EOF:*rS++;} inline ll rd(){ char c=gc(); while(c<48||c>57)c=gc(); ll x=c&15; for(c=gc();c>=48&&c<=57;c=gc())x=(x<<3)+(x<<1)+(c&15); return x; } int lc[N<<5],rc[N<<5],sz=0,rt[N]; ll cnt[N<<5],sum[N<<5],sr[N]; struct node{ int d,p,l; }a[N]; inline bool cmp(node a,node b){return a.d