<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ICer_Designer的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ICer_Designer</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ICer_Designer]]></copyright><item><title><![CDATA[RISC-V(五)：xceptions, Traps, and Interrupts介绍]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/161821946</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/161821946</guid><author>ICer_Designer</author><pubDate>Tue, 09 Jun 2026 10:36:26 +0800</pubDate><description><![CDATA[表格术语定义Exception（异常）运行时与当前指令直接相关的异常情况，例如非法指令、地址错误。Interrupt（中断）来自外部的异步事件，可能导致控制流意外跳转，例如外设中断、定时器中断。Trap（陷阱）由异常或中断引发的，控制流跳转到陷阱处理程序的行为。补充：这里对 “exception” 和 “trap” 的定义与 IEEE-754 浮点标准兼容。本节清晰界定了 RISC-V 中异常、中断和陷阱的概念，并根据软件可见性和处理方式将陷阱分为四类，其中ContainedRequested。]]></description><category></category></item><item><title><![CDATA[DCU的Evict Buffer和Miss Buffer介绍]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/161460806</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/161460806</guid><author>ICer_Designer</author><pubDate>Wed, 27 May 2026 19:37:05 +0800</pubDate><description><![CDATA[下面拆开讲清楚，再给对比表。]]></description><category></category></item><item><title><![CDATA[关于CPU的介绍(五)----关于显示Explicit和隐式Implicit访问的介绍]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/160256717</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/160256717</guid><author>ICer_Designer</author><pubDate>Fri, 17 Apr 2026 17:51:28 +0800</pubDate><description><![CDATA[本文对比了显式和隐式内存访问的核心区别。显式访问由指令直接发起（如Load/Store操作），地址由指令计算，程序员可见且可控；隐式访问是CPU后台自动执行的访存操作（如取指、TLB缺失时的页表遍历），地址由硬件决定，程序员不可见。验证时需分别关注数据通路（LSU/DCache）和指令通路（ICache/TLB/MMU）的行为。理解这两种访问方式对计算机体系结构设计和验证具有重要意义。]]></description><category></category></item><item><title><![CDATA[ACE协议介绍(四)：ace协议在哪些场景下会进行snoop操作？]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/158699095</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/158699095</guid><author>ICer_Designer</author><pubDate>Thu, 05 Mar 2026 16:30:02 +0800</pubDate><description><![CDATA[摘要：ACE协议的Snoop操作用于维护多核系统缓存一致性，仅在共享内存（Shareable）内由相干主设备发起一致性事务时触发。主要场景包括：读共享数据（ReadShared）、获取独占权限（ReadUnique）、写操作（WriteUnique）和缓存维护（CleanInvalid）。触发条件包括：共享内存属性、相干主设备、一致性事务类型及互连判断需求。不触发Snoop的情况包括：非共享内存、非一致性事务、非相干主设备及SnoopFilter优化判定。Snoop操作通过广播请求确保各主设备缓存状态一致。]]></description><category></category></item><item><title><![CDATA[关于sv中this的使用介绍，以及与super的区别]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/158068144</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/158068144</guid><author>ICer_Designer</author><pubDate>Sat, 14 Feb 2026 10:55:57 +0800</pubDate><description><![CDATA[本文阐述了面向对象编程中this关键字的核心作用，即明确引用当前类实例的成员（属性和方法），解决命名冲突和区分作用域。文章通过验证场景案例拆解了this的四大使用场景：1）解决成员变量与局部变量命名冲突；2）显式调用当前实例方法提升可读性；3）在构造函数中传递当前实例；4）配合super区分父子类成员。同时指出了this的使用限制：不能在静态方法和类外部使用。最后对比了this与super的区别，强调this的核心价值在于明确作用域，在验证中常用于事务类构造、参考模型方法调用和组件注册等场景。]]></description><category></category></item><item><title><![CDATA[ACE协议介绍(三)：ace协议中的make和clean操作]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/158007014</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/158007014</guid><author>ICer_Designer</author><pubDate>Thu, 12 Feb 2026 14:13:58 +0800</pubDate><description><![CDATA[在 ACE（AXI Coherency Extensions）协议中，和是两类核心的缓存一致性操作，用于管理缓存行的状态和权限，确保多核系统中数据的一致性。]]></description><category></category></item><item><title><![CDATA[ uvm_analysis_imp_decl的使用及举例说明]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/157994164</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/157994164</guid><author>ICer_Designer</author><pubDate>Thu, 12 Feb 2026 10:42:27 +0800</pubDate><description><![CDATA[摘要： uvm_analysis_imp_decl宏是UVM中实现多端口分析通信的关键工具，允许一个组件（如Scoreboard）同时接收多个Monitor的事务。核心流程：1）通过宏定义自定义后缀（如_icache、_axi）；2）在组件中声明对应的uvm_analysis_imp_后缀端口；3）实现write_后缀()方法处理事务；4）在Env中绑定生产者的analysis_port到消费者的analysis_imp。注意事项：宏需在组件前声明，方法名严格匹配后缀，事务类型一致。]]></description><category></category></item><item><title><![CDATA[cpu的fetch/prefetch]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/157944973</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/157944973</guid><author>ICer_Designer</author><pubDate>Tue, 10 Feb 2026 19:53:43 +0800</pubDate><description><![CDATA[它们都是核心工作。]]></description><category></category></item><item><title><![CDATA[关于systemverilog中的随机化的使用]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/157616179</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/157616179</guid><author>ICer_Designer</author><pubDate>Sun, 01 Feb 2026 17:16:40 +0800</pubDate><description><![CDATA[只能在 class 中使用- 可以在任何地方使用。]]></description><category></category></item><item><title><![CDATA[关于typedef和enum枚举的配合使用介绍]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/157547636</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/157547636</guid><author>ICer_Designer</author><pubDate>Fri, 30 Jan 2026 14:24:53 +0800</pubDate><description><![CDATA[代码简洁：避免重复写冗长的enum定义，提升代码可读性。强类型检查：使用别名声明的变量只能接受枚举中的合法值，编译器会自动检查类型错误，减少 bug。可维护性高：枚举定义集中在一处，修改时只需改一次，所有引用都会同步更新。跨模块复用：通过包（package）导出typedef后的枚举，可以在整个项目中复用，确保一致性。先在项目的公共 UVM 包中定义 AXI 响应类型枚举，通过typedef创建别名，供整个验证环境复用：// 文件：axi_defines_pkg.sv（公共枚举/参数定义包）]]></description><category></category></item><item><title><![CDATA[关于CPU的介绍(四)----CMO(Cache Maintenance Operations）]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/157475332</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/157475332</guid><author>ICer_Designer</author><pubDate>Wed, 28 Jan 2026 17:36:49 +0800</pubDate><description><![CDATA[摘要：CMO（缓存维护操作）是管理缓存状态的关键机制，包含两类核心操作：Cache cleaning（将脏数据写回主存，使外设可见）和Cache invalidation（使缓存行失效，强制重新加载）。前者用于数据同步，后者用于数据更新。两者常配合使用，如DMA操作时先清理确保数据可见，再失效使CPU获取最新数据。这些操作解决了缓存一致性问题，是多核系统和外设交互的重要保障。]]></description><category></category></item><item><title><![CDATA[ACE协议介绍(二)：ace协议为什么增加AC/CR/CD这三个通道？]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/157296836</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/157296836</guid><author>ICer_Designer</author><pubDate>Fri, 23 Jan 2026 17:38:11 +0800</pubDate><description><![CDATA[ACE 新增 AC/CR/CD 通道的本质，是将缓存一致性的监听机制从 AXI 的点对点模型中剥离，用独立通道承载 “反向地址 + 响应 + 数据”，解决 AXI 无法支撑的全局一致性问题。这三个通道不仅是协议层面的扩展，更是硬件设计中 “时序隔离、带宽优化、状态同步” 的关键保障，是 ACE 能够实现多主设备缓存一致性的底层基石。]]></description><category></category></item><item><title><![CDATA[ACE协议介绍(一)：ace协议为什么增加RACK/WACK这两个通道？]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/157257407</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/157257407</guid><author>ICer_Designer</author><pubDate>Thu, 22 Jan 2026 16:57:37 +0800</pubDate><description><![CDATA[ACE协议在AXI基础上扩展了RACK/WACK通道，解决了多主设备缓存一致性的核心问题。传统AXI的RESP机制只能实现单向响应，而ACE通过独立确认通道实现了事务生命周期的闭环管理、全局操作排序、资源释放和状态同步。RACK/WACK作为事务终点锚点，确保主设备完成数据处理后通知互联更新全局状态，避免资源泄漏和一致性错误。这种设计解耦了数据传输与一致性控制的时序，为ACE实现多主设备共享缓存提供了关键机制，是其区别于AXI点对点传输的本质特征之一。]]></description><category></category></item><item><title><![CDATA[RISC-V(四)：RV32F(RISC-V 32 位单精度浮点扩展指令集)]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/156871645</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/156871645</guid><author>ICer_Designer</author><pubDate>Mon, 12 Jan 2026 20:14:50 +0800</pubDate><description><![CDATA[RV32F 是 RISC-V RV32 架构的单精度浮点核心扩展独立浮点寄存器：f0~f31 专门存储浮点数，与整数寄存器分离，简化硬件设计；灵活的控制机制：通过 fcsr 寄存器配置舍入模式、记录浮点异常，适配不同应用场景；高效的融合乘加：FMA 指令减少运算延迟和精度损失，是浮点计算的性能关键；与整数指令的无缝交互：支持浮点与整数的双向转换和数据移动，兼容原有整数指令集。]]></description><category></category></item><item><title><![CDATA[RISC-V(三)：RV32M(RISC-V 32 位乘法 / 除法扩展指令集)]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/156871381</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/156871381</guid><author>ICer_Designer</author><pubDate>Mon, 12 Jan 2026 20:01:36 +0800</pubDate><description><![CDATA[RV32M 是 RISC-V RV32 架构的核心算术扩展，通过 10 条 R 型指令实现了 32 位有符号 / 无符号的乘法、除法、取余操作，解决了 RV32I 仅支持基础运算的局限。其设计遵循 RISC-V 的模块化、精简性乘法指令拆分高低位结果，适配 32 位寄存器的限制；除法 / 取余指令明确向零取整和余数符号规则，保证跨平台兼容性；可选实现的特性，让处理器可在性能和面积 / 功耗之间做权衡。]]></description><category></category></item><item><title><![CDATA[RISC-V(一)：RV32I(RISC-V 32 位基础整数指令集)]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/156422235</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/156422235</guid><author>ICer_Designer</author><pubDate>Tue, 30 Dec 2025 14:17:39 +0800</pubDate><description><![CDATA[RV32I 是 RISC-V 32 位架构的 “最小核心”，通过固定指令格式、正交寄存器设计、精简指令集，实现了 “低硬件复杂度 + 高兼容性” 的平衡。它不仅是所有 32 位 RISC-V 处理器的必备基础，也是理解 RISC-V 模块化设计思想的核心 —— 在此基础上，可通过叠加 M/C/A 等扩展适配不同场景，同时保持指令集的简洁性和可实现性。]]></description><category></category></item><item><title><![CDATA[RISC-V(二)：RV32E(RISC-V 32 位嵌入式精简扩展)]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/156422048</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/156422048</guid><author>ICer_Designer</author><pubDate>Tue, 30 Dec 2025 14:11:12 +0800</pubDate><description><![CDATA[RV32E 是 RISC-V 架构对 “极致精简嵌入式场景” 的定制化优化，核心通过裁剪通用寄存器数量实现硬件面积和功耗的降低，同时保持与 RV32I 的指令集兼容，是物联网、超低功耗传感器、微型 MCU 的理想选择。其设计体现了 RISC-V “模块化、可裁剪” 的核心优势 —— 既保留架构统一性，又适配细分场景的极致需求。]]></description><category></category></item><item><title><![CDATA[关于CPU的介绍(三)----MMU(内存管理单元）]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/156303378</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/156303378</guid><author>ICer_Designer</author><pubDate>Fri, 26 Dec 2025 14:09:31 +0800</pubDate><description><![CDATA[CPU是否包含MMU取决于应用场景需求。带MMU的CPU（如x86、ARMCortex-A）支持虚拟内存、多任务隔离和权限控制，适用于复杂系统如服务器和智能手机；无MMU架构（如Cortex-M、8051）则简化设计、降低功耗，适合实时嵌入式系统和物联网设备。MMU提供地址转换和内存保护，而无MMU架构直接访问物理地址，确保实时性和低延迟。RISC-V等模块化架构可根据需求灵活选择是否集成MMU。]]></description><category></category></item><item><title><![CDATA[关于CPU的介绍(二)----DTLB(数据转址旁路缓存)]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/156278716</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/156278716</guid><author>ICer_Designer</author><pubDate>Thu, 25 Dec 2025 21:25:51 +0800</pubDate><description><![CDATA[是 CPU 中用于的高速缓存，是内存管理单元（MMU）的关键组件。以下从。]]></description><category></category></item><item><title><![CDATA[关于CPU的介绍(一)----IFU取指单元]]></title><link>https://blog.youkuaiyun.com/ICer_Designer/article/details/156277515</link><guid>https://blog.youkuaiyun.com/ICer_Designer/article/details/156277515</guid><author>ICer_Designer</author><pubDate>Thu, 25 Dec 2025 19:56:43 +0800</pubDate><description><![CDATA[IFU 是 CPU 的 “指令供应中心”，核心任务是高效、连续地从内存中获取指令，并通过预取、分支预测、缓存等技术，为后续流水线阶段提供稳定的指令流。其设计复杂度随 CPU 架构和性能需求提升，是衡量 CPU 性能的关键指标之一。]]></description><category></category></item></channel></rss>