- 博客(9)
- 收藏
- 关注
原创 静态时序分析(STA)中“Margin”详解
通过分析电路中的所有时序路径,验证设计在特定时钟频率下是否满足建立时间(Setup Time)和保持时间(Hold Time)的要求,数据从起点(Launch Flip-Flop)出发,经过组合逻辑延迟和布线延迟,到达终点(Capture Flip-Flop)的时间。= 时钟周期(10ns) - Setup Time(0.3ns) - 时钟不确定性(0.1ns + 0.5ns) == 发射时钟延迟(0) + 组合逻辑延迟(6ns) + 布线延迟(1ns) =为确保满足时序约束,数据必须到达的最晚时间。
2025-04-02 10:43:17
789
原创 verilog/systemverilog中宏定义作用域规则
├── def.v // 定义宏 `define DATA_WIDTH 32。// module1.v 和 module2.v 均可使用 `DATA_WIDTH。├── module1.v // 使用 `DATA_WIDTH。├── module2.v // 使用 `DATA_WIDTH。└── subdir/module3.v // 使用 `DATA_WIDTH。`include "def.v" // 显式包含宏定义。
2025-03-28 17:56:07
744
原创 Analog 差分differential与单端single-ended信号的区别
差分 vs. 单端:差分抗干扰强,单端成本低。一路差分:单声道差分输入(如左声道)。两路差分:立体声差分输入(左右声道均支持差分)。在AMIC中:若支持两路差分,则左右声道均可设为差分模式;若仅一路差分,通常只有单声道支持,另一声道可能受限。实际应用中,需结合具体硬件规格(如ADC通道数、引脚定义)判断声道配置的灵活性。
2025-03-17 10:34:26
363
原创 UVM环境中get_full_name() 方法解析
/ 使用 get_full_name() 打印完整路径。类提供的一个方法,用于获取组件在层次结构中的完整路径名称。当存在多个相同类型组件时,通过完整路径名区分不同实例的行为。:返回当前组件在UVM层次结构中的完整路径名称,格式为。:频繁调用可能对仿真性能有轻微影响,建议仅在需要时使用。是UVM的主要执行阶段,通常用于实现测试逻辑。:主要用于标识日志来源,支持调试和动态配置。:在日志信息中标识消息来源,便于追踪问题。的方法,用于获取组件的完整层次路径。:提升测试平台的可维护性和调试效率。
2025-03-13 12:04:41
772
原创 SystemVerilog中类的继承规则说明
在 SystemVerilog 中,类的继承规则遵循面向对象编程的基本原则,同时需要注意 UVM(通用验证方法学)中。// 显式调用父类配置。// 直接覆盖父类配置。管理执行顺序,可确保父类配置生效,同时允许子类灵活覆盖特定值。若父类配置为关键前置条件,需在文档中明确说明。成员仅父类内部可见,子类无法直接访问。父类配置先执行,子类后续赋值会。,UVM 框架会自动调用父类的。,子类配置完全生效。
2025-03-03 16:16:57
627
原创 verilog中参数赋值的相关问题
/ 编译时无法确定 shift 的值。:禁止在需要常量表达式的上下文中使用动态变量(如参数赋值、位宽定义、generate条件等)。if (shift == 3) begin // 编译时 shift 值未知。parameter SHIFT = 3 // 编译时确定的常量。// 直接使用 shift 进行移位。)中,移位位数可以是动态变量,综合工具会生成对应的。// 改为使用常量参数控制 generate 块。// 动态计算 shift 值。,因为它的值是在运行时动态计算的,而常量(如。
2025-02-13 19:23:58
866
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人