自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(493)
  • 资源 (6)
  • 收藏
  • 关注

原创 python脚本处理excel文件

分别尝试用perl和python处理excel文件,发现perl的比较复杂,比如说read excel就有很多方式不同的method,对应的取sheet的cell方式也不一样。更复杂的是处理含有中文内容的Excel。用perl目前没有成功过。对于python来说就比较简单,目前使用openpyxl库,处理起来清晰明了。

2025-03-25 21:13:19 490

转载 AMBA总线(2)—— AHB协议

AHB5手册的最后一章是User信号,分为HAUSER、HWUSER、HRUSER三组,但协议开头就说:“通常本规范建议不使用User信号。AHB协议没有定义这些信号的功能,如果两个组件以不兼容的方式使用相同的User信号,就会导致互操作性问题。”啊这……在章节后面,手册又说道:“建议在互连上包含User信号,但是没有要求在Master或Slave上包含它们。该规范建议互连组件包括对User信号的支持,以便它们可以在Master和Slave之间传递。

2025-03-20 21:53:08 363

原创 linux stdout/stderr重定向到文件,>或tee

正常情况下直接使用 '>'或者tee命令只能把stdout的终端输出重定向到文件中,而stderr的输出是无法写到文件中的。比如在使用svn up时遇到svn 报错的错误,svn ERROR/WARNING用下面的语句是不会将ERROR/WARNING行写到svn.log的要想同时将这两类输出都写到文件中,可以如下操作。

2025-01-14 15:55:24 433

原创 linux下中文输入法ibus

一般设对了环境变量就可以正确使用,如果有的软件可以,有的不行,可能需要到软件中设置。比如Firefox浏览器【经过实测设了环境变量之后,FireFox就可以输入中文了,如果你遇到不行的情况,可以接着看下文】。编辑Firefox的启动脚本以确保它使用IBus输入法。在IBus设置中,确保已添加并启用了中文输入法(如智能拼音)。,可以使用文本编辑器打开并添加以下环境变量:bash。这将启动IBus守护进程,并确保它在后台运行。保存并退出后,重新启动Firefox。确保IBus输入法已正确安装并配置。

2025-01-10 20:08:50 980

转载 万子长文和你一起探索Arm调试架构

从图中可以看出的是,当core正在处于(由一个debug event,比如breakpoint,触发的)debug exception中时,可以通过设置MDSCR_EL1.SS和PSTATE.SS都为1来让core在退出exception时进入单步调试,并在执行完一条指令后并重新触发debug exception,这就完成了一次单步调试。然而,据我了解,GPR在Arm的产品中很少出现,我只在一些Cortex-M core based subsystem中找到了它们。

2024-12-07 21:22:30 322

转载 万文长字带你搞懂JTAG的门门道道

JTGA这个东西IC和嵌入式靓仔们肯定是有用过的,但是对于JTAG内部的东西,以及实现如果不了解的,可以看看这篇文章。之前和coresight有了解过的靓仔,了解了对于ARM内部的调试,知道了对于调试的入口在于那个JTAG Port,但是对于外部的JTGA Port你真的又了解多少,是否真的就是那么简单的一个port?不知道coresight的可以看看【来跟着前辈看看coresight】这篇文章。

2024-12-07 19:30:36 1558 1

转载 SerDes知识详解

可以阅读。

2024-11-28 15:56:30 940

原创 excel按行排序

使用excel对一列数据进行排序比较简单,但是有时需要按行排列,更进一步有多行的时候,按照某一行排列是,相应的其他行也跟着变化,举个例子,下面有两行分别是。第一行1-6,第二行a-f,将第一行降序排列时第二行也跟着重拍,可以按以下步骤处理。然后在主要关键字中选择行1。点击选项,选择按行排序。

2024-11-08 17:40:21 699

原创 用awk将包含key1不包含key2的行及下一行输出/awk&sed删除匹配的块

有时候在vim中搜索和替换并不好做,这个时候可以充分利用shell的grep,sed,awk这些现成的命令。如果不知道怎么使用这些高级命令,可以问aiChat,这种一般会给出正确的脚本。

2024-11-05 20:43:36 215

转载 【精讲】PCIe基础篇——BAR(Base Address Register)详解

Bios可以为设备预留大于BAR要求的地址空间,而PCI规范中建议为需要的地址空间少于4KB的设备分配4KB的地址空间。我们发现PCI这种地址自然地要求为设备分配的地址空间要跟BAR定义的大小对齐,因此PCI设备的映射空间始终是跟BAR的大小对齐的。系统中的每个设备中,对地址空间的大小和访问方式可能有不同的需求,例如,一个设备可能有256字节的内部寄存器/存储,应该可以通过IO地址空间访问,而另一个设备可能有16KB的内部寄存器/存储,应该可以通过基于MMIO的设备访问。当该设备确认某一个请求(

2024-10-15 22:01:28 800

原创 PCIE基础概念BAR/in/outbound/空间映射/Post/CPLD

我们称pcie endpoint所在的芯片为设备,上位机为主机。pcie可以把设备上的内存空间和寄存器空间映射到Host上。这样Host就可以直接访问设备的内存空间和寄存器空间。空间映射是不会占用host原有的物理内存空间的,比如说Host有24GB的DDR+1GB寄存器空间,pcie设备有128GB的HBM+2G的寄存器空间。那么映射之后host可以看到Host的24GB的DDR+Host的1GB寄存器空间+128GB的设备HBM+2G设备寄存器空间。

2024-10-15 21:56:24 1851

转载 简单介绍SPI/Dual SPI/Quad SPI(SPF)几种通讯模式的差异

初接触Nor Flash的工程师可能会对SPI/Dual SPI/Quad SPI等传输方式有些困惑,下面以MX25L25645G为例,从硬件接口及传输时序简单分析这些通讯方式的差异。通过以上对SPI/Dual SPI/Quad SPI通讯在硬件接口及cmd+add+data的传输时序存在的差异比较,可以对SPI在不同模式下的通信方式进行区分。Dual SPI和Quad SPI 是半双工通信,数据可以在两个方向上传输,但是同一时间数据只能在一个方向上传输。

2024-10-12 18:56:01 889

转载 数控振荡器的基本结构以及电路原理解析

随着处理越来越广泛的应用,数字锁相环DPLL(Digital Phase Lock Loop)在现代设计中也越来越普遍,特别是在数字信号和这类高性能应用中,数字锁相环更是一种必不可少的电路。与传统的锁相环(Phase-Locked Loop)相比,由于数字锁相环较少采用高阻值以及电感等非线性器件,可以采用与高速数字逻辑电路相兼容的制造工艺来设计和制造,也更加容易在数字系统中应用。一个典型的数字锁相环结构如图1所示,Oscillat)是其中最关键和核心的部分。

2024-09-30 18:37:27 984

原创 DPLL的DCO与PLL的VCO(数控振荡器与压控振荡器)

无论DPLL还是PLL都是由PD,LPF和DCO/VCO组成。PD:鉴相器,是将VCO/DCO输出的频率信号分频后与refclk进行相位比对,输出一个相位差信号LFP:是将相位差信号转换为VCO的压控信号或DCO的延迟信号。VCO:根据不同的输入电压【注意不是电源电压而是输入的控制电压】产生不同的输出频率DCO:根据不同的输入延迟控制信号,控制DCO内部环路的延迟,以输出不同的频率以前一直有三个误解本文主要介绍振荡器,VCO由于涉及模拟器件,比较复杂。

2024-09-30 18:35:05 1708

原创 linux shell的$()作用-将一个命令结果输出给另个命令

在Shell脚本中,$()是一种命令替换的语法,它允许你执行一个命令,并将命令的输出插入到当前的命令行中。这种特性使得你能够在一个命令的输出基础上构建另一个命令。

2024-09-05 17:48:21 644

原创 spyglass-lint关闭(disable/stop/waiver)规则

其中xxx就是被disable的某一项规则。在disable_block和enable_block之间的verilog code就是作用区域。如果没有enable_block语句,则disable_block的默认作用范围到endmodule。而且会报一个un-paired block waiver pragma defined for rule 'xxx'

2024-08-27 21:43:07 2762

原创 rule ‘flopEConst‘和vcst-lint的disable

先从vcst-lint的一个warning开始:这个含义是存在不配对的块waiver语法,flopEConst。什么叫不配对的语法呢?我们打开对应的verilog代码可以看到有下面的语句但是没有找到对应的enable_block语句。这就表示一个disable_block会一直起作用。

2024-08-26 10:58:06 506

原创 Jira使用指南(高级搜索JQL/统计/面板设计)

上面的pdf比较详细的介绍了Jira的使用,目录如下:或者从Jira的中文官网获得更多的使用指南。

2024-08-23 18:34:21 2211

原创 dc/dc_shell的keep和donot touch区别

在半导体设计和综合工具中,donottouch和keep属性通常用于指定综合和布局阶段的特定要求。sizeonly是keep属性的一个可能值。以下是donottouch和keep属性以及sizeonlydonottouchkeepsizeonlyhierarchykeepkeepsizeonlydonottouchkeepdonottouchkeepsizeonlydonottouchkeepsizeonlydonottouchkeep在实际使用中,选择donottouch还是keep属性(以及keep。

2024-07-06 19:04:12 1187

原创 Excel中按行排列(VBA脚本)

要求对4列数据按照第一行abcd的顺序排列。

2024-07-03 19:16:39 1119

转载 sram的min period

sram除了setup/hold的检查,还需要进行min_period的检查。这个min_period是sram里给bitline进行预充电留足时间。如果两次读间隔period太近,那么第二次读就不能正确读出。minPeriod是sram的bitCell器件预充电时间决定的,和clk的transition也有一定的关系。如下图:clk的transition影响较小。

2024-06-01 17:22:54 1103

转载 数字IC后端实现的一些基本概念

2)place之后,假设setup和hold都正好为0ns,然后插入时钟树,树的完全平衡的,WC的时钟树insertiondelay是0.2ns,BC的insertion delay是0.1ns,这时做STA,会看到timingviolation吗?cloning是在有多个sink的情况下,不改变逻辑功能把当前cell复制一份,分别驱动下一级的cell,这样可以减少当前单元的负载,从而获得更好的时序,有时是为了placement的考虑,譬如几个sink的方向不同,缺点是会增加上一级的负载。

2024-06-01 16:40:09 1825

转载 Python的类(class)

(1)类(class):用来描述具有相同属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例,类对象的类型。类是抽象的概念,而对象是一个你能够摸得着,看得到的实体。两者相辅相成,谁也离不开谁。(2)类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。(3)数据成员:类变量或者实例变量,用于处理类及其实例对象的相关数据。

2024-06-01 11:18:04 258

转载 Python中的yield关键字

yield的高级用法包括生成器的状态保存,允许无限递增或递减的生成器。还可以与条件结合使用,用于过滤生成的值,仅生成符合特定条件的值。最重要的是,yield支持懒惰计算,允许在需要时计算值,而不是一次性计算所有值,从而节省内存和计算资源。在处理大型数据集、无限序列或需要逐个生成值的情况下,yield是一个强大的工具。通过深入理解yield,可以更好地利用生成器和懒惰计算,提高代码的效率和可维护性。

2024-06-01 11:10:31 90

转载 python之多进程(multiprocessing)

Multiprocessing.Pool可以提供指定数量的进程供用户调用,当有新的请求提交到pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进程数已经达到规定最大值,那么该请求就会等待,直到池中有进程结束,才会创建新的进程来执行它。Pool类用于需要执行的目标很多,而手动限制进程数量又太繁琐时,如果目标少且不用控制进程数量则可以用Process类。processes: 是要使用的工作进程数。如果进程是None,那么使用返回的数字os.cpu_count()。

2024-06-01 11:08:42 978

转载 Python Lambda 用法大全

Lambda表达式可以作为参数传递给key,定义更复杂的列表排序规则。map函数和Lambda表达式常常一起使用,可以对序列中的每个元素应用Lambda表达式,并返回结果序列。filter函数接收一个Lambda表达式和一个序列,它会返回序列中所有偶数组成的新序列。filter函数和Lambda表达式组合使用可以实现对序列中符合特定条件的元素进行筛选。reduce函数可以对序列中的元素依次累加,Lambda表达式可以定义累加过程。Lambda表达式可以作为函数的返回值,用于构造更为复杂的计算过程。

2024-06-01 10:44:07 86

原创 csdn的insCode怎么用IDE和linux终端 服务器

右边有个终端,点击即可出现linux的xterm终端。找到我的项目,没有项目的话可以新建一个。1.进入insCode,选择工作台。

2024-05-25 20:10:53 308

原创 计算机如何将输入文字显示出来的?渲染Image rendering

渲染图像,可以理解为用cpu/gpu构造出原本不存在的图像。比如输入计算机的英文字符都是ASCII码,而我们在屏幕上看到显示的字符对应的应该是RGB/YUV的像素。计算机把ASCII字符转化成像素的过程就是文字渲染。又比如我们GPU用多个2D图片渲染出3D图片,图片亮度根据时间自动调整阳光的强度,阴影等。原图像中不存在的信息,这个是GPU的渲染。渲染图像和sonser直接采样进来的RGB/YUV图像帧显示是不一样的。

2024-05-24 20:23:21 1298

转载 Power Gating的设计(概述)

对于multi-processor CPU,每当一个core完成自己的task,都可以power gating,清除自己的cache,但是big-little的core调用。对于cache cpu system,Power gating可以很大程度的减少leakage,消除dynamic power,但是cache内容的复原,需要花费。外部power gating,要求板级中有多个voltage regulator,带来相应的RC,增大了板级负担,而且,switch time花费的太多。

2024-05-23 19:39:41 1691

转载 浅谈power signoff之什么是IR drop

芯片中的电源VDD和 VSS)通过metal rail和metal stripe均匀分布,称为电源传输网络(Power Delivery Network,PDN)或power grid。PDN 中使用的每个金属层都具有一定的电阻率。当电流流过供电网络时,一部分施加的电压将根据欧姆定律在 PDN 中下降。电压降的量将是 V = I.R,称为 IR drop。图 1 显示了电源网络中的 IR drop。任何金属网络都可以假设为小 的R 和 C 的组合。图1 金属网络中的IR drop。

2024-05-23 19:35:43 5288

转载 【低功耗】电压域和电源域

cluster内的PPU也处于该电源域,因为PPU需要能够在保持活动的同时关闭包括PDCLUSTER在内的其他域的电源。因此,PDTOP电源域必须在任何其他电源域通电之前通电,并且必须仅在其他电源域断电之后断电。每个L3高速缓存片被放置在其自己的独立电源域(PDSLICE)中,以允许高速缓存片的逻辑和RAM在不需要时断电。指使用同一个电压源的模块合集,如果几个模块使用相同的电压源,就认为这几个模块属于同一个电压域。一个单独的电压域中,同时支持DynamIQ cluster中的每个核都采用独立的电压域。

2024-05-23 19:18:02 736

原创 关于div/mod除法和取余的化简及硬件实现

在硬件设计中常会用到整数之间的除法和取余操作,一般而言除法和取余的两个操作数都是变量时,这个算法的实现复杂度包括时间复杂度和空间复杂度是O(N)的,N是被除数和除数的最大位宽【这个复杂度的结论不一定是准确的】。对于有限常量集的div/mod,它们的复杂度可以做到o(logN).所以硬件在做div/mod的时候,如果发现除数或被除数是比较少的集合,可以不用变量除div/mod这种通用电路。时间复杂度体现在硬件实现上就是分多少次基础的加减计算上,基础计算越多就需要更多的clk,否则时序无法收敛。

2024-05-22 14:10:52 396

转载 傻白入门芯片设计,Substrate/RDL/Interposer/EMIB/TSV(三)

Substrate 是芯片的基底,是芯片的基础构件。它通常是一块硅片或其他半导体材料,用于承载芯片上的元件和连接器。Interposer 是一种中间层技术,用于连接两个芯片。它通常是一块硅基底,上面带有微型连接器,用于将两个芯片连接在一起。Interposer 可以用于提高芯片的性能和带宽,以及使芯片更加紧凑。RDL(Redistribution Layer)是芯片上的一层连接层,用于将芯片上的电路重新分配。RDL 可以用于提高芯片的性能和效率,以及使芯片更加紧凑。

2024-05-14 16:16:51 3431 1

转载 芯片封装---Seal ring

常见的seal ring会将工艺中所有的层都列出来,并标明 dark or clear,用这里的dark和clear去对照工艺制作过程中这些layer的dark或clear,如果同为dark或clear则seal ring上面有这层,反之则seal ring上没有这层。这是工艺中实际实验出来的最优的方案。今天我们就来讲一讲看似简单却又不可缺少的Seal ring在这其中的作用,当我们完成整个芯片的版图设计后往往要在外围给它加个围墙,保护最为珍贵的它不受到伤害,就像是中间的房子盖好了,外面再拉一个围墙一样。

2024-05-14 15:13:18 10488

转载 叶脊(Spine-Leaf)网络架构-数据中心网络设计

要支持大规模的网络,就必须有性能最好,端口密度最大的汇聚层核心层设备,这样的设备成本高,不是所有企业都买得起,且必须在建设网络时就预先规划好网络规模,在网络规模小时,会造成资源的浪费,在网络规模继续扩大时,扩容也比较困难,因而让企事业单位陷入了成本和可扩展性的两难选择之中。而又因为每台叶交换机都需要连接到脊交换机,因此脊交换机的端口密度取决于拓扑结构中叶交换机的最大数量,同时,网络中的脊交换机的数量取决于叶交换机之间的吞吐量、叶子层的冗余/等价多路径(ECMP)数以及脊交换机中的端口密度。

2024-05-09 16:02:29 4461 1

转载 AI的分布式通信操作reduce/gather/broadcast/scatter

All Reduce包括了All Gather的概念,即将加和(或者其他操作)后的数据再分发到各个设备上。总结(方便大家梳理各个概念的区别):我们要记住,只有Reduce相关的操作要做计算,其余操作都不涉及计算。而Broadcast是针对单台机器对多台机器(1->N),Gather是多台机器对单台机器(N->1),All相关的操作是多台机器对多台(N->N),没有All的操作仅仅将数据汇总到一台设备。

2024-05-09 15:58:03 7375

原创 芯片安全(security)

所谓镜像文件其实和rarZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个操作系统、游戏等。它最重要的特点是可以被特定的软件识别并可直接刻录到光盘上。其实通常意义上的镜像文件可以再扩展一下,在镜像文件中可以包含更多的信息。boot.img是Android系统启动所必须加载的文件。简单的说,boot.img包含两部分,分别为kernel 和ramdisk。所以理解boot.img就是包含Android启动的一个软件包。安卓系统中各镜像介绍。

2024-04-24 20:18:13 1174 5

原创 DDR/HBM寻址与地址交织

对于HBM来说没有rank DIMM的概念,但是有channel的区分,HBM内部的多层die和bank可以组成不同的channel【HBM里面的channel可能不是由完整的层组成,比如HBM3有12层,但是有64个channel,每个channel有16bit】。对于bank,rank,dimm级别的交织,基本上就随着多颗ddr颗粒的组织形式和物理地址与BG(Bank group addr),BA(bank addr)的关系就确定了。channel的位宽,和burst概念及关系?

2024-04-19 11:58:40 1694

原创 AXI bus matrix与跨4K拆分/deadlock

为什么axi bus matrix没有成为soc内多master和多slave的互联总线?现在常用的都是nocaxi bus matrix都是corssbar拓扑结构?对于大型soc太过于复杂?

2024-04-16 19:39:41 808

原创 公网IP与私有IP及远程互联

公网IP是全球唯一的IP,通过公网IP,接入互联网的设备是可以访问你的设备。但是IPV4资源有限,一般ISP(Internet Service Provider)并不会为用户提供公网IP。所以家里的计算机在公司是没法直接使用windows远程桌面直接访问的。理解起来就是你家里的计算机和公司的计算机都在ISP组建的不同的局域网中,在这个局域网中给各自的计算机分配私有IP,那么这些处于局域网的只有私有IP的主机又是怎么可以访问互联网的呢?

2024-03-08 19:52:29 1718

锁存器和触发器的分类和电路

该文档给出了各类锁存器和寄存器的的电路原理 包括主从,SR,JK等类型 电平触发,脉冲触发和边沿触发

2025-03-07

数字控制振荡器-多级反相延迟组成DCO

设 计 了一 个用 于时钟 产 生的全数 字锁 相 环 (ADPLL),其数 控 振 荡器 (DCO)采 用 9级 环 形振 荡器,每级延迟单元的延 迟时间均是可调的,详细介绍了设计原理

2024-09-30

问题跟踪神器-Jira使用指南

可以使用JQL语言来进行高级搜索,创建过滤器 问题的导入导出,批量操作 生成饼图 问题统计 面板管理等

2024-08-23

JPEG 文件编/解码详解

JPEG 文件编/解码详解,同时对JPEG的码流结构进行了分析

2023-11-24

异步FIFO设计与使用

异步FIFO的设计 基本知识 和异步fifo复位以及flush的处理

2023-10-27

DRA829/TDA4VM Technical Reference Manual (Rev. C)

TI的adas芯片 DRA829/TDA4VM的技术参考手册

2023-04-13

TI的TDA4VM dataBook

TDA4VM Jacinto Processors for ADAS and Autonomous VehiclesSilicon Revisions 1.0 and 1.1的中英文手册

2023-02-22

High Definition Audio Specification

High Definition Audio Specification Revision 1.0a June 17, 2010

2023-02-10

NVIDIA Jetson AGX Orin Series

NVIDIA Jetson AGX Orin Series Ampere GPU + Arm Cortex-A78AE CPU + LPDDR5 + 64GB eMMC5.1 Data Sheet & nvidia-jetson-agx-orin-technical-brief

2023-02-10

arm coreSight soc-400 R3P1 技术参考手册

arm coreSight soc-400 R3P1 技术参考手册 pdf文档

2023-02-08

xilinx的jtag2axi databook

文档给出了xilinx的jtag2axi master的IP的使用及生成 databook

2023-02-07

mipi dpi+cphy的spec

mipi dpi+cphyv1.2的specification 其中cphy的1.2版本规格说明书是mipi最新的cphy版本

2023-02-07

xilinx的hdmi 1.4/2.0 产品指导书

xilinx的hdmi 1.4/2.0 产品指导书

2022-12-27

TSMC 18um的std cell的dataBook

该文档给出了18um 工艺下的stdCell的电器特性和时序图

2022-12-22

systemVerilog的vim语法高亮脚本

在vim中source该文件,vim可以对systemverilog的语法高亮

2022-02-22

线性方程组的迭代解法.pdf

讲述了矩阵方程求解的定常迭代算法 - 经典(定常,不动点)迭代法: Jacobi/Gauss-Seidel,SOR,AOR等 - Krylov子空间迭代法: CG,MIRES,GMRES,BiCGStab等

2020-06-13

sdf语法语义,如何看懂sdf

英文文档详细介绍了sdf的含义,内容格式,教你如何读懂sdf

2019-03-11

芯片命名规则

描述了一般芯片命名的规则,每个字段的含义

2019-03-08

setup hold英文介绍

setup hold分析,全英文直观解释了 launch capture

2019-03-07

后端设计各种文件说明

ASIC后端设计各种文件说明(CIF,LEF,DEF,SDF,SPEF,ALF,PDEF,TLF等)

2019-01-03

空空如也

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

TA关注的人

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