IC
文章平均质量分 80
stm32stu
这个作者很懒,什么都没留下…
展开
-
[sv] Verilog文件操作 - BMP色彩格式替换
转载自:转载 2023-04-04 14:57:25 · 158 阅读 · 0 评论 -
【图像处理】颜色格式 yuv
YUV420P又叫plane平面模式,Y , U , V分别在不同平面,也就是有三个平面,它是YUV标准格式4:2:0,主要分为:YU12和YV12。转载 2023-04-02 17:26:08 · 820 阅读 · 0 评论 -
[图像处理] PPM、PGM、PBM图像格式剖析
PBM头部用P1和P4分别表示ASCII类型和字节码类型,但没有像PPM第3行的最大值,ASCII类型的像素值都是0或1。最开始的50 36对应ASCII为P6,31 33 30 35对应ASCII为1305。第1行是P3,第2行是图像大小,第3行是最大值,一般是255。从第4行起就是每个像素的颜色值了,像素顺序一般是从左到右、从上到下,通道顺序一般是RGB。PPM、PGM、PBM这三个图像文件格式很少见,其实也不难,分别用于彩色图像、PPM格式有两种类型:字节码和ASCII。这里以PPM格式为例。转载 2023-03-13 00:16:29 · 1042 阅读 · 0 评论 -
[接口-spi] spi接口
另一方面,距离主机越远的从机,获得服务的优先级越低,所以需要安排好从机的优先级,并且设置总线检测器,如果某个从机超时,则对该从机进行短路,防止单个从机损坏造成整个链路崩溃的情况;因此,双方以不同的速度进行数据接收和发送,就会出现问题。从理论上讲,只要实际可行,时钟速率就可以是您想要的任何速率,当然这个速率受限于每个系统能提供多大的系统时钟频率,以及最大的SPI传输速率。菊花链的最大缺点是因为是信号串行传输,所以一旦数据链路中的某设备发生故障的时候,它下面优先级较低的设备就不可能得到服务了;转载 2023-03-13 00:03:02 · 483 阅读 · 0 评论 -
[验证-VIP] 验证IP(VIP)及开发VIP的流程
经常复用的总线协议或者功能模块,可以针对其开发专用的VIP;对于总线VIP,需要master agent和slave agent,有时也需要environment去构建多个主端对从端的验证环境;VIP也需要对应的配置对象,即 configuration object,同时也需要对应的接口。功能特性提取特性覆盖率创建及映射VIP的架构。转载 2023-03-09 16:35:17 · 1318 阅读 · 0 评论 -
[接口-AMBA-AHB] AHB总线协议
ahb简要介绍转载 2023-03-09 15:57:12 · 1191 阅读 · 0 评论 -
[接口-mipi] mipi DBI
显示设备的话,分为很多种不同的类型,有的显示设备本身内部不带 Framebuffer,那么就需要主机不停的给显示设备送数据;还有的显示设备,它内部集成了 Framebuffer,主机只需要发送一帧的数据过去,然后主机就可以休息了,显示设备控制芯片那端的 Framebuffer 会自动的按照刷新率往显示上送;左边是我们的 CPU 的 DBI 控制器,右边是显示设备的控制器;左边是我们的 CPU 的 DBI 控制器,右边是显示设备的控制器;左边是我们的 CPU 的 DBI 控制器,右边是显示设备的控制器;转载 2023-03-01 12:04:50 · 885 阅读 · 0 评论 -
【低功耗】CMOS基础,功耗分类,低功耗方法
当bit-cell存储的内容为1而要写入0,即Q的电压值为VDD,此时只需要将WL电压值提高到VDD且BL为0,那么Q电压值将通过M6被拉低,Q' 的电压值将通过M5被拉高,再由M1/M2,M3/M4两个反相器推挽,bit-cell存储的内容就从1变成0了。因为在下级电路电压固定的情况下,内阻R越小,可以提供的电流越大。因为负载cell电阻越小,则电流越大,此时驱动cell内阻上的压降也越大,分摊到负载cell上的电压越小,导致负载cell无法维持高电平,以致出现逻辑混乱,不能实现预期的效果。转载 2023-01-18 18:42:47 · 1034 阅读 · 0 评论 -
【低功耗-验证】Verdi Power-Aware Debug简单使用
文档与源码:介绍:Verdi_Power_Aware: 使用VCS-NLP对带UPF的RTL进行仿真,dump power相关信息,用于low power case debug。转载 2023-01-18 15:35:56 · 357 阅读 · 0 评论 -
【低功耗-验证】UPF,低功耗流程,VCS NLP
以 UPF/PST 作为Golden去检查UPF本身的一致性,以及检查设计/网表是否有缺少/冗余的低功耗器件,包括检查带有电源地信息的网表里面电源/地的连接是否和 UPF 的设计意图一致,等等,一般由UPF实现工程师完成,是 LP 验证检查的第一步。推荐的UPF-flow如下图所示,仿真涉及三个阶段,逻辑综合前RTL+UPF,逻辑综合后Gate-level netlist+UPF',物理实现后Gate-level netlist+UPF" 或者Gate-level netlist with PG pin。转载 2023-01-18 14:20:09 · 1633 阅读 · 2 评论 -
【数字后端】ECO
一、概述在完成布局规划、布图规划、时钟树综合以及布线等步骤之后,芯片设计的物理实现部分已经基本确定。将在ECO阶段对时序以及DRC等部分的违例进行进一步的修复。ECO(Engineering Change Order)是指在设计后期,由设计人员根据静态时序分析和后仿真中所暴露出来的问题,对电路和标准单元布局进行小范围调整,保持原设计布局布线结果基本不变的前提下做小规模优化,修复芯片的剩余违例,最终达到芯片的签核标准。在ECO阶段,不能通过后端布局布线的流程来修复违例(重新走一遍流程太费时了。。转载 2023-01-17 15:49:19 · 1971 阅读 · 0 评论 -
【数字后端】物理单元介绍
最后介绍一下MIMCAP,其中MIM指的是Metal-Insulator-Metal,这是一种特殊类型的用来提供电容的cell,区别于DECAP的主要特点是电容量较大,大小也比一般的std cell要大很多,而且使用的金属层一般比较高,可以重叠放在绝大部分类型的cell上而不产生DRC。在集成电路制造过程中,无论是注入还是刻蚀,贴近空旷的区域的一边都倾向于受到更多的刻蚀或者注入,这样无疑会增大cell的variation,进而对时序的准确性产生负面影响。,防止电源线的电压降和地线电压的升高。转载 2023-01-17 14:45:05 · 2075 阅读 · 0 评论 -
【数字后端】低功耗单元库
由于在现阶段的低功耗设计中会使用多种低功耗技术,例如多电源电压低功耗技术和门控电源同时使用时,存在两种不同电源电压其中某个区域还可以关断电源的情况,这个时候我们就需要一种同时具有隔离功能和电平转换功能的器件单元,我们称这种器件单元叫使能的电平转换器单元(Enable Level Shifter Cell)。在较早的集成电路设计时期,由于所有的器件都连接在VDD 和VSS 上,所以单元库的元件都连接在单一的通用的电源上。随着多电源电压的使用,指定特殊的电源管脚来连接特定的电压就变的必不可少了。转载 2023-01-17 14:12:50 · 590 阅读 · 0 评论 -
【芯片数字后端】数字后端——低功耗设计物理实施
一、低功耗设计方案综述为了实现集成电路的低功耗设计目标,我们需要在系统设计阶段就采用低功耗设计方案,因为随着设计流程的逐步推进,到了芯片设计实现阶段,降低芯片功耗的方法将越来越少,可节省功耗的百分比将不断下降,这时,设计的主要目标将会侧重于如何将设计方案变成物理实现。1、方案的选择集成电路设计流程中设计数据是有统一的格式的,系统设计到逻辑综合由RTL网表传递,逻辑综合到物理实现则由门级网表传递,布局布线后,逻辑验证和形式验证由门级网表传递。转载 2022-12-30 19:56:49 · 2148 阅读 · 3 评论 -
[script] 脚本调试
常见脚本调试转载 2022-07-18 08:32:58 · 434 阅读 · 0 评论 -
【仿真】波形dump(vcd,shm,fsdb,saif,...)
IC研发过程中,可能会涉及到多种工具,过程中也可能需要不同格式的波形文件。从网上搜索情况来看,介绍saif的较少,所以这里着重介绍一下saif的dump。下面粘贴了两个相关背景知识的帖子,如其中介绍,saif主要用在功耗分析中。gPTPX功耗分析实战, VCD, SAIF, FSDB的区别_RTL2GDS的博客-CSDN博客PTPX功耗分析实战, VCD, SAIF, FSDB的区别PTPX功耗分析VCD,SAIF,FSDB的区别注:文章转载自微信公众号 RTL2GDS (微信号:rtl2gds).原创 2021-09-14 00:21:39 · 8641 阅读 · 0 评论 -
【sv】function与task
1. function与task的区别:总体来说,最关键的一点区别,function不能消耗仿真时间,task可以。function中会报以下error。function中也可以调用task,高版本的vcs编译时会报warning,提示function中调用task可能会消耗仿真时间。如果function中调用的task需要消耗仿真时间,那么需要用fork...join_none进行处理。UVM源代码中有几处此种用法。2. function与constaint....原创 2021-10-31 23:26:39 · 1243 阅读 · 0 评论 -
【sv】功能覆盖率
功能覆盖率的一些写法,过程记录1. coverpoint 直接收集 enum类型的变量,自动建仓名字可读性较好xxx:coverpoint xxx_enum'(xxx);2. 收集不连续的值xxx:coverpoint xxx iff (xxx inside {32'h0102????}) { wildcard bins xxx[] = {32'h0102????} with (item inside {xxx_q}); //xxx_q 为一些离散的值,checker,激励等其他部分原创 2021-10-27 23:53:17 · 2855 阅读 · 0 评论 -
verdi使用技巧(二)
使用verdi显示验证环境的结构原创 2021-08-11 00:47:02 · 6529 阅读 · 0 评论 -
【仿真】仿真过程状态记录
在仿真过程中,尤其是较大规模的芯片的后仿过程中,内存占用很大,仿真过程非常缓慢。运用save/store进行仿真状态的保存有更大意义。但还是想记录一下仿真过程和进度。我使用的方法是,在验证环境中,调用Linux命令打印时间。大致代码如下:task xxx_base_test::run_phase(uvm_phase phase); $system($sformatf("hostname > %s", logfile)); //打印主机名到logfile中 $system($s原创 2021-08-06 23:43:20 · 612 阅读 · 0 评论 -
verdi使用技巧
verdi 安装目录下的宝藏bin目录Linux环境 配置好相应的环境变量后,可以使用 which verdi 命令或者 type verdi命令,查找到verdi安装目录。其中,图2可以很明显地看出来都是和fsdb波形相关的命令。另外,由于Linux本身tab键可以自动补全,所以命令行输入fsdb后,键入tab键,可以看到fsdb开头的相关命令。doc目录verdi fsdb波形处理的小技巧仿真过程中,fsdb波形会有很多中间文件,由于需要,可能中途需要停止仿真。a. 如果在.原创 2021-08-05 00:31:48 · 3358 阅读 · 4 评论