自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一文看懂ARM Cortex-V8 V9架构

在芯片设计中端流程时,景芯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-09-15 09:44:37 1869

原创 一文看懂DDR4控制器的DIMM

带寄存器的存储模组(RegisterDualInlineMemoryModule),简称RDIMM,特点是存储模组控制线路和地址线路先连接寄存器后再接入到控制器的封装引脚,而数据信号线路与控制器的封装引脚采用直接连接的方式。因此,一个Rank就是指一组内存颗粒的CS信号被连在一起,并由内存控制器单独的一根CS_N信号控制,共同组成位宽为64bit(不带ECC)或72bit(带ECC)的存储阵列,共同完成一条内存通道下发的指令。---------------------分割线。什么是SODIMM?

2024-09-09 23:20:13 399

原创 景芯SoC A72实战反馈

景芯视频和实践相结合的授课方式也非常有效,视频会大量讲解一些原理性的内容,比如MCMM、UPF的一些基本概念和环境配置、时钟树的基本理论和该项目的时钟树结构的设计方法、顶层模块的时序约束、POCV/SOCV时序报告解读等等,而上机实践的部分则需要自己动手跑脚本,发现bug并尝试解决,锻炼工程能力。我觉得最值的一点就是有专门的工程师全程答疑,工程师回消息特别快,解决方案也很细致,除了解决一些具体的bug之外,有时候还会讲解一些原理性的内容,分享一些工程经验等等,真的能学到很多除脚本之外的东西!

2024-08-28 23:25:29 779

原创 【芯片CDC/RDC】如何解决RDC问题

SoC设计除了包含多个电压域、多个时钟域外还包含了多个异步复位域。如果SoC中存在跨异步复位域时,同样经常会遇到亚稳态的问题。对于有多个异步复位域的设计,如果某个异步复位在复位时,其复位的信号可能正好落在接收时钟的建立和保持时间窗口内,如下图所示,采集到的信号q2可能为亚稳态,从而造成仿真行为和真实行为的不一致。上面的电路中, 两个触发器都有不同的复位源,即rst1和rst2。

2024-08-28 19:08:56 1040

原创 一文看懂multi-bit cell

比如,2bit single-bit DFF本来被place在不同位置,若合同为2bit的multi-bit DFF后,routing连线可能反而更长,增加了路径延迟,工具会采用buffering、sizing的优化方式优化时序,若依然不能满足timing,那么multi-bit cell不如拆分成single-bit cell,因为single-bit cell可以更方便resize、move。再分享个例子,比如,Cortex-A72低功耗设计,这个switch cell是双开关吗?

2024-08-14 23:35:42 860

原创 景芯SoC 好评如潮,一定要把景芯打磨成精品!

芯片全流程实战训练营

2024-08-11 00:12:05 1053

原创 景芯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 378

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

在芯片设计中端流程时,景芯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 966

原创 景芯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 1001

原创 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 1044

原创 景芯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 1333

原创 先进工艺的DPT技术

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

2024-06-04 12:45:08 1172

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

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

2024-06-01 15:02:09 700

原创 为什么要用虚拟时钟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 1040

原创 一文看懂OSC和PLL区别

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

2024-05-22 21:34:00 1642

原创 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 322

原创 轻松玩转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 304

原创 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 794

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

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

2024-05-14 20:32:18 595

原创 太劲爆了,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 601

原创 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 1160

原创 低功耗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 1325

原创 芯片低功耗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 1494

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

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

2024-04-08 21:39:52 2026

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

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

2024-04-06 11:06:04 777

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

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

2024-04-01 21:53:32 246

原创 一文看懂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 2570

原创 这两个比较经典的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 1343

原创 SoC芯片的DVFS技术详解

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

2024-03-29 20:53:58 3381

原创 数字芯片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 1370

原创 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 1807

原创 详解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 994

原创 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 2003

原创 芯片全流程培训

芯片全流程培训

2024-02-22 13:40:46 1138

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

在芯片设计中端流程时,景芯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 1380

原创 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 1673

原创 低功耗设计之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 1140

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

芯片功耗从28mW降到0.28mW

2023-11-28 17:42:10 1244

原创 芯片设计—低功耗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 2240

原创 景芯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 1032

汪文祥 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关注的人

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