自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (7)
  • 收藏
  • 关注

原创 景芯SoC训练营DFT debug

大家记住,修改代码一定要慎之又慎,不能随意改,而且改了代码一定要做lint、spyglass,保证语法OK,仿真OK。景芯VIP学员说看了几遍还是正确指定了时钟,没有头绪。我们知道,在下图EN端输出X时,DFF的clk端将是X,于是就会产生C1的 violation,那么如果或门换成与门呢?遇到这个问题第一反映一定是确认时钟,于是小编让学员去排查add_clock是否指定了时钟,指定的时钟位置是否正确。如果EN是X,那么与门依然输出X到DFF的clk,造成DFF无法上链,也会造成覆盖率下降。

2024-07-08 21:42:36 314

原创 还分不清电平中断、边沿中端?

在芯片设计中端流程时,景芯SoC会插入UPF约束中的isolation等cell,但是无法插入power switch等cell,因此,作为power switch cell的控制信号pwrdown_mux在没有负载的情况下,会被裁员掉(优化掉),因此需要设置上面MUX器件为dont_touch或者使pwrdown_mux成为module的port并禁止auto_ungroup(并设置no_boundary_optimization),这样这个信号才能保留给后端,供后端实现power switch控制。

2024-06-25 23:51:50 810

原创 景芯SoC A72 12nm TOP的时钟树分析(二)

innovus的ctslog中的Clock DAG信息可以报出来CTS主要运行步骤的关键信息,比如clustering,balancing做完后的clock tree的长度,clock tree上所用的buffer、inverter,icg cell数量,clock skew等信息。

2024-06-20 23:26:18 829

原创 AXI三板斧之Outstanding、Out-of-order、interleaving

out-of-order,连续发送地址1和地址2,然后连续发送地址1要写入的数据和地址2要写入的数据,如果地址1对应的slave是busy,数据暂时无法写入,而地址2对应的slave是idle,那么数据可以先写入slave2,即先完成后发的地址2的操作,再完成地址1的写操作,这就是out-of-order。比如,可以连续发送地址1和地址2,然后连续发送地址1要写入的数据和地址2要写入的数据,最后依次等待地址1的响应和地址2的响应。请问,AXI Outstanding特性相比AHB的时序特性提高在哪里?

2024-06-19 21:11:09 477

原创 景芯SoC A72的时钟树分析

innovus的ctslog中的Clock DAG信息可以报出来CTS主要运行步骤的关键信息,比如clustering,balancing做完后的clock tree的长度,clock tree上所用的buffer、inverter,icg cell数量,clock skew等信息。可以看到cell、sink的counts,也可以看到BUF、ICG的数量,接下来我们来看看景芯SoC A72 TOP的CLOCK ID和BUF个数的变化吧。先看下景芯SoC A72项目的cts latency变化过程。

2024-06-13 23:06:25 1277

原创 先进工艺的DPT技术

总不能只接一个via吧。所以前后一样的,一般综合做multibit的merge split。掌握Stapling技术,实战power switch cell的布局和特殊走线的方法学,掌握CPU子系统的powerplan规划及实现,保证CPU子系统和顶层PG的alignment。以上就是今天分享的内容,如果您和小编一样渴求进步,想掌握芯片设计全流程,欢迎加入小编知识星球,疯狂成长,一起进步!以上就是今天分享的内容,如果您和小编一样渴求进步,想掌握芯片设计全流程,欢迎加入小编知识星球,疯狂成长,一起进步!

2024-06-04 12:45:08 1052

原创 详解寄存器模型reg_model的auto_predict

DUT的配置寄存器的值是实际值,reg_model有镜像值、期望值的概念。镜像值:存放我们认为此时DUT里寄存器的实际值。期望值:存放我们期望DUT寄存器被赋予的值。那么怎么更新reg_model里面的镜像值呢?有三种方式更新reg_model里面的镜像值。

2024-06-01 15:02:09 618

原创 为什么要用虚拟时钟Virtual clock?

但是,芯片timing sign off阶段会偶尔遇到IO时序少量违例,比如,输入reg的hold违例、输出reg的setup违例,本质原因是EDA时序分析工具会在输出输入外部假定一个理想化的不带clock propagation time的寄存器做时序分析。在约束set_input_delay/set_output_delay时,可以指定真实时钟CLKP,也可以指定虚拟时钟vCLKP,并且创建与CLKP同频率的虚拟时钟vCLKP时,无需指定时钟端口,参考脚本如下:​​​​​​​。

2024-05-24 18:00:43 631

原创 一文看懂OSC和PLL区别

对于LC振荡电路来说,一般产生的正弦波频率较高,若要产生频率较低的正弦振荡,势必要求振荡回路要有较大的电感和电容,这样不但元件体积大、笨重、安装不便,而且制造困难、成本高。而振荡器通常产生固定频率的信号,振荡器的频率通常由其设计决定。PLL的设计和实现通常比振荡器复杂,功耗更高,成本更高,PLL常用于需要精确频率控制和低相位噪声的应用,而振荡器则用于对频率精度要求不高的场合。每种振荡器都有其特定的应用场景,选择哪种振荡器取决于所需的频率范围、频率稳定性、相位噪声、成本和电路的复杂性等因素。

2024-05-22 21:34:00 592

原创 UPF里面设置的power switch和powerswitch.tcl设置的power switch有什么区别?

首先,powerswitch需要在upf里定义,然后后端在innovus里添加switch,-1801PowerSwitchRuleName也是根据upf里面switch的名字来添加的。景芯训练营UPF里面设置的power switch和powerswitch.tcl设置的power switch有什么区别?而景芯A72项目的powerswitch.tcl是我们实现power switch添加并打上power的实践脚本,下图是景芯对hierarchy设计的单核cpu的upf定义:maia_cpu.upf。

2024-05-21 23:31:34 213

原创 轻松玩转2.5GHz 12nm双核CPU实战—Black Box

而 FN,FS,FW,FE 则代表 Flip North,Flip South,Flip West,Flip East,表示反转以后的方向,对应着Mirror Y(沿Y轴翻转),Mirror X(沿X轴翻转),Mirror XR90,Mirror YR90。另一种写法分别称为 Rotate 0,Rotate 180,Rotate 90,Rotate 270。另外,大家总是问方向怎么定?数字后端关于方向的定义有 N,S,W,E 就是大家熟悉的 North, South, West, East。

2024-05-15 21:52:17 279

原创 UVM寄存器模型——手写Ralf问题debug

uvm_reg_block 则 属于比较大的单位,其中可以包含多个 uvm_reg,也可以包含多个 uvm_reg_block,block一般可以涵盖模块级 DUT 中的全部寄存器。其中m_reset用来储存寄存器的复位值,m_mirrored用来存储寄存器的镜像值,m_desired 用来存储期望值,这三个变量都属于本地变量,不能够直接从外部进行 访问,需要使用寄存器模型提供的方法,常用的访问方法如下表所示。这就要求寄存器模型有和真实寄存器类似的结构、相同的属性以及一定的访问方法,这样才方便理解和使用。

2024-05-15 21:41:44 771

原创 不懂数字后端Box List、Polygon的意思?

在后端innovus中会经常生成box,比如创建一个blockage,定义芯片的形状等。所以,学会通过坐标来表示一个box是最基本的知识点。

2024-05-14 20:32:18 525

原创 太劲爆了,MCU上5nm工艺了!

R52典型制造工艺是16纳米,最高时钟频率大约1.6GHz,性能一般是2.72DMIPS/MHz,S32N55的R52频率是1.2GHz,算力就是16*1200*2.72=52KDMIPS,景芯训练营A72的CPU最高频率做到了2.5GHz,未来MCU将会卷向高端工艺、高频、低功耗的场景,大家努力冲!闪存的制造工艺扩展到40nm以下非常困难,不仅要考虑各种参数和成本,同时很难集成到非常复杂的高K金属栅极技术中。瑞萨和NXP:都选择了STT-MRAM。意法半导体:选择了PCM(相变存储器)

2024-05-10 19:52:58 470

原创 SoC系统中AXI4 AXI3兼容性及exclusive access

然后manager发送一笔写事务,transaction ID是0,然后subordinate检查该笔transaction ID是否记录在monitor中,检查后发现该地址被记录在monitor的table中,因此独占访问写操作成功,返回EXOKAY响应,同时由于地址0xA000已经被写入修改了,monitor将所有地址为0xA000的独占记录移除。在AXI3中,USER信号没有具体规定,而在AXI4中,USER信号的位宽和用法被进一步定义和标准化,以支持更广泛的应用。显然AXI4更严谨。

2024-05-09 11:27:55 1062

原创 低功耗UPF设计的经典案列分享

时钟树是以平衡为目的,假设对一个root和sink设置了400ps的latency值,那么对另外的sink而言,就算没有给定latency值,CTS为了得到较小的skew,也会将另外的sink做成400ps的latency。所以前后一样的,一般综合做multibit的merge split。再分享个例子,比如,Cortex-A72课程的低功耗例子:请问,如果iso cell输出都要放parent,输入放self,那么下面-applies_to_outputs对应的-location为何是self?

2024-05-06 20:20:31 1090

原创 芯片低功耗VCLP

时钟树是以平衡为目的,假设对一个root和sink设置了400ps的latency值,那么对另外的sink而言,就算没有给定latency值,CTS为了得到较小的skew,也会将另外的sink做成400ps的latency。所以前后一样的,一般综合做multibit的merge split。再分享个例子,比如,Cortex-A72进阶版本课程的低功耗例子:请问,如果iso cell输出都要放parent,输入放self,那么下面-applies_to_outputs对应的-location为何是self?

2024-04-13 14:50:35 1066

原创 景芯2.5GHz A72训练营dummy添加(一)

比如,金属密度不一致会导致高低不平,机械研磨(平坦化)的时候,密度过大的地方会把不想磨掉的磨掉,密度小的地方想磨掉的又磨不掉,PO和OD也会有密度要求,制程越小密度问题越明显。另外,添加dummy后,在化学蚀刻时,可以使得金属腐蚀得更均匀,保护走线不被过度腐蚀而断掉。时钟树是以平衡为目的,假设对一个root和sink设置了400ps的latency值,那么对另外的sink而言,就算没有给定latency值,CTS为了得到较小的skew,也会将另外的sink做成400ps的latency。

2024-04-08 21:39:52 1686

原创 成为图像SoC大牛有多难?

H.265(也称为HEVC,High Efficiency Video Coding)是一种用于视频压缩的高效编码标准,相较于之前的H.264标准,它提供了更高的数据压缩率和更好的视频质量。为了成为高级架构师,以上知识内容只是基本面,首先要掌握上述技能和知识,结合实际项目经验和持续学习,十年板凳冷,才能够成为一名成功的IPC芯片架构师,并在智能监控和物联网领域做出贡献。前两张图是传统ISP能够达到的一般效果和最佳效果,第三张图是AI ISP达到的处理效果,可以看到,AI ISP已经远超传统ISP的性能。

2024-04-06 11:06:04 727

原创 字传输不变的3种大小端处理方式

对于大端转小端(2'b00),最高有效字节(MSB)被移动到最低有效字节(LSB)的位置,而最低有效字节被移动到最高有效字节的位置。对于小端转大端(2'b01),数据保持不变,因为我们假设输入已经是按照预期的格式排列的。大端,最高字节存储在最低的内存地址,小端则是最低有效字节存储在最低的内存地址。在Verilog中实现大端(Big-Endian)和小端(Little-Endian)之间的转换通常涉及到对多字节数据的操作。这个例子中,我们假设要转换的数据是一个32位的数字。

2024-04-01 21:53:32 233

原创 一文看懂DDR1到DDR5的演变

DDR5内存作为最新的标准,不仅在性能上有显著提升,还引入了一些新功能,如On-Die ECC,以适应未来计算的需求。】的低功耗ISP图像处理SoC,采用低功耗RISC-V处理器,内置ITCM SRAM、DTCM SRAM,集成包括MIPI、ISP、USB、QSPI、UART、I2C、GPIO、以太网MAC控制器等IP,采用SMIC40工艺设计流片。提供后端设计服务,工艺包括7nm、12nm、28nm、40nm、55nm、65nm、90nm、110nm、180nm等,提供投片渠道。业界独一无二的经验分享。

2024-03-31 16:04:22 1641

原创 这两个比较经典的LVS问题怎么解?

在芯片设计中端流程时,景芯SoC会插入UPF约束中的isolation等cell,但是无法插入power switch等cell,因此,作为power switch cell的控制信号pwrdown_mux在没有负载的情况下,会被裁员掉(优化掉),因此需要设置上面MUX器件为dont_touch或者使pwrdown_mux成为module的port并禁止auto_ungroup(并设置no_boundary_optimization),这样这个信号才能保留给后端,供后端实现power switch控制。

2024-03-31 16:03:22 1121

原创 SoC芯片的DVFS技术详解

DVFS技术是数字后端设计中重要的低功耗技术之一。通过动态调整工作电压和频率,可以有效降低芯片的功耗,延长设备的使用寿命,并减少能源消耗。然而,DVFS技术的实施需要克服时序收敛的复杂性和工作负载预测的准确性等挑战。通过合理的策略和精确的控制,DVFS技术能够在保证性能的同时,实现功耗的优化。“2.5GHz频率 hierarchy DVFS低功耗A72培训”​编辑一. 培训内容:2.5GHz hierarchy DVFS低功耗 A72实战。

2024-03-29 20:53:58 2243

原创 数字芯片retention cell

注意,景芯SoC休眠掉电时,将关键数据保存在SRAM,SRAM采用双电源设计,这样设计不仅节省了面积,还降低了设计复杂度。】的低功耗ISP图像处理SoC,采用低功耗RISC-V处理器,内置ITCM SRAM、DTCM SRAM,集成包括MIPI、ISP、USB、QSPI、UART、I2C、GPIO、以太网MAC控制器等IP,采用SMIC40工艺设计流片。大量使用有什么影响?提供后端设计服务,工艺包括7nm、12nm、28nm、40nm、55nm、65nm、90nm、110nm、180nm等,提供投片渠道。

2024-03-23 14:23:36 1238

原创 Verilog case/casez/casex的区别

在芯片设计中端流程时,景芯SoC会插入UPF约束中的isolation等cell,但是无法插入power switch等cell,因此,作为power switch cell的控制信号pwrdown_mux在没有负载的情况下,会被裁员掉(优化掉),因此需要设置上面MUX器件为dont_touch或者使pwrdown_mux成为module的port并禁止auto_ungroup(并设置no_boundary_optimization),这样这个信号才能保留给后端,供后端实现power switch控制。

2024-03-18 12:52:49 1371

原创 详解POCV/SOCV的时序报告

时钟树是以平衡为目的,假设对一个root和sink设置了400ps的latency值,那么对另外的sink而言,就算没有给定latency值,CTS为了得到较小的skew,也会将另外的sink做成400ps的latency。再分享个例子,比如,Cortex-A72进阶版本课程的低功耗例子:请问,如果iso cell输出都要放parent,输入放self,那么下面-applies_to_outputs对应的-location为何是self?正如下log提示所说,检查log是非常好的工程师习惯。

2024-02-26 17:29:21 835

原创 DC与DCT DCG的区别

时钟树是以平衡为目的,假设对一个root和sink设置了400ps的latency值,那么对另外的sink而言,就算没有给定latency值,CTS为了得到较小的skew,也会将另外的sink做成400ps的latency。再分享个例子,比如,Cortex-A72进阶版本课程的低功耗例子:请问,如果iso cell输出都要放parent,输入放self,那么下面-applies_to_outputs对应的-location为何是self?正如下log提示所说,检查log是非常好的工程师习惯。

2024-02-22 13:46:22 1747

原创 芯片全流程培训

芯片全流程培训

2024-02-22 13:40:46 1033

原创 芯片跨时钟域设计(二)

在芯片设计中端流程时,景芯SoC会插入UPF约束中的isolation等cell,但是无法插入power switch等cell,因此,作为power switch cell的控制信号pwrdown_mux在没有负载的情况下,会被裁员掉(优化掉),因此需要设置上面MUX器件为dont_touch或者使pwrdown_mux成为module的port并禁止auto_ungroup(并设置no_boundary_optimization),这样这个信号才能保留给后端,供后端实现power switch控制。

2024-01-31 18:46:19 1288

原创 12nm工艺,2.5GHz频率,低功耗Cortex-A72处理器培训

答:这个需要了解CPU的内部设计架构,tbnk掉电 VDDS_maia_noncpu也必然掉电,pst如下,所以-applies_to_outputs对应的-location是可以的,那么注意下debug domain呢?再分享个例子,比如,Cortex-A72进阶版本课程的低功耗例子:请问,如果iso cell输出都要放parent,输入放self,那么下面-applies_to_outputs对应的-location为何是self?进阶课程是hierarchy低功耗设计,价格较贵,暂时不推。

2024-01-31 18:43:53 1583

原创 低功耗设计之Retention cell

正常情况下,Retention flip-flop和普通的flip-flop功能一样,但是会在SAVE信号有效时候将flip-flop输出锁存在Save-latch中,当电源关掉时,由于Save-latch是由backup电源供电,Save-latch能锁存SAVE保存的信号;答:RETN是由BUF驱动,且BUF由VDDG VSSG供电,VDD VSS掉电后,RETN需要保持有效,具体由PMU模块设计,景芯SoC提供了PMU设计。请问,RETN的供电谁来决定?formal验证等技术。DFT设计(芯片级)

2024-01-24 16:22:46 845

原创 芯片功耗从28mW降到0.28mW

芯片功耗从28mW降到0.28mW

2023-11-28 17:42:10 1161

原创 芯片设计—低功耗isolation cell

假如电源的工作电源为1.2V,当B模块关断电压后,B模块输出到A模块的信号(X态)可能为0~1.2V中任意电压,如果X处在中间电平0.6V,若这个信号送给电压常开域中的一个反相器,就会导致这个反相器的PMOS和NMOS都导通,就会存在一个短路电流从电源流经PMOS、NMOS再到地,造成功耗浪费。因此,当A模块电压常开,B模块电压可关断,在B模块关断电压后,B模块输出到A模块的信号需要用isolation cell进行电压钳位(clamp 0或者clamp 1信号),这样就避免了X态的传播。

2023-11-24 11:09:11 1930

原创 景芯SoC 芯片全流程培训

【全网唯一】景芯SoC是一款用于芯片全流程培训的低功耗ISP图像处理SoC,采用低功耗RISC-V处理器,内置ITCM SRAM、DTCM SRAM,集成包括MIPI、ISP、CNN、QSPI、UART、I2C、GPIO、百兆以太网等IP,采用SMIC40工艺设计流片。一键式完成C代码编译、仿真、综合、DFT插入、形式验证、布局布线、寄生参数抽取、PT分析、DRC/LVS、后仿真、形式验证、功耗分析等全流程。仿真结果:仿真识别上图7、2、1、0、4、1、4、9。stat_awb - 自动白平衡统计。

2023-09-01 14:00:26 940

原创 【无标题】RC抽取工艺文件(三)Layer map错误

qrclayermap的作用是把Innovus里的层和qrcTechFile里的层对应起来。Innovus的层信息来自LEF或OA tech library,其使用字符串MET1, VIA1等代表层。qrcTechFile里也使用字符串代表层,但和Innovus的字符串不同,需要用这个qrclayermap把两者对应起来。在后端实践中发现log中有如下告警,layermap的层次名字不对!开始定位。可见,检查EDA工具的log是非常重要的。如何找对正确的Layermap关系.

2022-05-09 15:45:49 4878 1

原创 RISC-V SoC设计—SRAM定制

超低功耗、小面积RISC-V CPU需要ILM SRAM、DLM SRAM。本SoC设计指标:ILM SRAM:64KB,LD/ST指令可访问,即可作为data sram。DLM SRAM:256KB+64KB共计384KB SRAMMemory Compiler定制采用Artisan公司提供的Memory Compiler定制如下number of words:RAM深度number of bits:RAM宽度Library Compiler

2022-05-09 11:32:39 2492 5

原创 ECC纠错算法(二)

ECC纠错算法汉明码实现原理汉明码(Hamming Code)是广泛用于内存纠错的编码。汉明码不仅可检错,还可纠错。(只能发现和纠正一位错误,对于两位或者两位以上的错误无法纠正)。我们约定一串编码里1的个数是偶数个,那么这串编码里携带的信息就是对的,否则就是错的。我们可以在开头对这串编码加一位校验码实现奇偶校验。比如:我们想传输10010这串码,那么在传输的时候,就传010010,其中在开头的0就是校验位。我们想传输10000这串码,那么在传输的时候,就传110000,其中在开头

2021-11-16 11:08:09 8174

转载 汉明码(Hamming Code)原理及实现

汉明码实现原理汉明码(Hamming Code)是广泛用于内存和磁盘纠错的编码。汉明码不仅可以用来检测转移数据时发生的错误,还可以用来修正错误。(要注意的是,汉明码只能发现和修正一位错误,对于两位或者两位以上的错误无法正确和发现)。设将要进行检测的二进制代码为n位,为使其具有纠错能力,需要再加上k位的检测位,组成n+k位的代码。那么,新增加的检测位数k应满足:2 k − 1 ≥ n + k 2^k-1\geq n+k2k−1≥n+k这就是Hamming不等式,汉明吗规定,我们所得到的m位

2021-11-15 17:54:17 3196

原创 详解NLDM/CCS library model

首发于微信公众号:全栈芯片工程师随着工艺节点下降到65nm以后,传统的NLDM model不再精确,Synopsys提出了基于电流源模型的Composite Current Source(CCS),集timing/power/noise于一体,精确度更高,与SPICE的误差可以达到±2%。什么是Timing Model数字芯片设计,除了矿机的全定制设计外,绝大部分都是基于STD Cell的半定制设计,那么STD Cell的模型就极为重要,尤其半定制,需要把一个std cell看成block bo

2021-11-09 15:25:15 8544

原创 芯片设计之CDC异步电路(三)

芯片设计之CDC异步电路(二)芯片设计之CDC异步电路(一)上面两篇简单总结了异步电路设计,下面接着介绍Gray码转换。格雷码的特点就是任意两个相邻码只有一比特不同。我们接下来介绍二进制码、格雷码的转换原理、不同代码实现风格比较。(一)二进制码 -> 格雷码二进制码的最高位作为格雷码的最高位;二进制码的高位、次高位相异或得到次高位格雷码;格雷码其余位依此类推;直接上图,简单明了:编码风格1://code style 1: ...

2021-04-08 17:52:56 741

汪文祥 CPU设计实战_实验资源.zip

CPU设计实战 源代码

2021-06-10

sdf_3.0.pdf

SDF3.0官方协议及解释,后仿真SDF反标必须理解的协议,反标了IOPATH,INTERCONNECT、TIMING CHECK等等时序延时及时序要求。

2020-09-16

arm_cortex_m3_designstart_eval

arm_cortex_m3_designstart_eval,arm cortex m3的设计文档

2018-12-13

精通VERILOG+HDL:IC设计核心技术实例详解part1

精通VERILOG+HDL:IC设计核心技术实例详解

2015-05-25

经典跨时钟域同步电路

经典跨时钟域同步电路 各种异步处理 值得推荐

2015-05-25

精通VERILOG+HDL:IC设计核心技术实例详解part2

精通VERILOG+HDL:IC设计核心技术实例详解

2015-05-25

空空如也

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

TA关注的人

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