自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

那么菜的博客

勤,方能补拙,那就一步一个脚印。

  • 博客(531)
  • 资源 (6)
  • 收藏
  • 关注

原创 #C8# UVM中的factory机制 #S8.1.1# 多态的实现方式(三)

子类重新定义父类的方法(方法名、参数列表、返回类型均相同)。

2025-04-05 21:11:19 3

原创 #SVA语法滴水穿石# (013)关于 disable iff、matched 、expect 的用法

SystemVerilog 断言(SVA)中 disable iff。常用于测试平台(testbench)中,等待特定条件后继续执行代码。条件生效时,断言立即停止检测,且不会触发失败。常用于多序列组合中需要对齐时序的场景。后 2 周期内)→ 打印成功消息。,通常用于同步多个序列的时序关系。关键字,捕获子序列的结束时间。可以指定超时时间,若超时则触发。)期间忽略断言检查,避免误报。在周期2结束,时序不同步。

2025-04-05 20:39:59 326

原创 #SVA语法滴水穿石# (013)关于内建系统函数

若表达式为多热码(multiple-hot)或全零,返回。若表达式为多热码(multiple-hot),返回。SystemVerilog 断言(SVA)中。:检查表达式在指定时钟沿是否。:检查表达式在指定时钟沿是否。常用于动态检查有效信号的数量。,其他位必须为低电平(0)。若有任意位为 X/Z,返回。

2025-04-05 16:04:31 203

原创 #SVA语法滴水穿石# (012)关于 first_match、throughout、within 的用法

验证子操作在父操作的时间范围内完成(如中断响应必须在事务周期内)。:避免因多个分支同时满足条件导致的重复触发,确保断言逻辑的确定性。:验证信号在特定操作期间保持稳定(如总线保持、电源稳定)。:断言在周期1和周期3均匹配成功,可能触发多次报告。:仅周期1的匹配被选中,周期3的匹配被忽略。若条件在序列的任一周期失效,断言失败。的周期内(0-3)始终保持不变。在周期1-3完成,完全包含在。在周期2变为6,断言失败。,忽略后续可能的匹配。

2025-04-05 15:57:53 116

原创 #SVA语法滴水穿石# (010)关于 and、intersect 、or 的用法

两个序列同时开始,结束时间不同(周期 2 和 3),但。:周期 2 开始,周期 4 结束(但波形中。:系统支持两种通信模式,任意一种成功即可。允许这种差异,最终匹配时间为周期 3。:周期 0 开始,周期 2 结束(假设。:两个序列完全对齐(周期 0-2),且。同时开始,且在 3 个周期后同时结束。:在周期 0 开始,周期 2 结束。:在周期 0 开始,周期 3 结束。:周期 0 开始,周期 1 结束。:周期 0 开始,周期 2 结束。序列的周期 2 结束时间不匹配。在周期 3 为高,未完成)。

2025-04-05 12:26:50 172

原创 #SVA语法滴水穿石# (009)关于 [*n]、[->n] 和 [=n] 的用法

通过合理使用重复运算符,可以精确描述设计中的复杂时序逻辑,捕捉协议握手、状态跳转等关键错误。在周期 0、2、4 出现 3 次,但最后一次出现(周期 4)后紧跟。的多次出现之间未保持非连续(如连续出现 3 次仍可通过)。在中间任一周期拉低(如周期 2 为 0),断言失败。在周期 1、3、5 出现 3 次(非连续)。出现 2 次(非连续)后,处理器必须响应。在周期 1、2、3 连续高电平 3 次。的非连续出现次数,最后一次后必须紧跟。信号出现 5 次(非连续)后触发报警。非连续出现 2 次,最后一次后紧跟。

2025-04-05 12:05:42 466

原创 #SVA语法滴水穿石# (007)关于 $past 的用法

/ 若 enable=1 的周期少于 2 次,$past(req, 2, enable) 无效。的周期(周期 3 和 4 是第 1 次和第 2 次)。检查信号的历史值,确保设计行为在时间维度上的正确性。// 错误:仿真开始时,无法获取 3 周期前的值。(门控条件):仅当条件为真时,才记录历史值。同时为高时,检查 3 个周期前(且在。是否等于 2 周期前(周期 0)的。是否等于 2 周期前(周期 1)的。:回溯的时钟周期数(默认为 1)。,检查 3 周期前(周期 1)的。:复位信号(复位时忽略历史值)。

2025-04-05 11:55:15 575

原创 #SVA语法滴水穿石# (006)关于 `define true 1的用法

SVA 的延时周期数必须在编译时确定(静态),若需运行时动态调整,需结合其他方法(如。(如 define true 1`)或布尔表达式来实现灵活的逻辑控制。在第 2 周期有效(符合 2 周期延时),断言通过。在第 4 周期有效(符合 4 周期延时),断言通过。过度使用宏可能降低代码可读性,建议仅在必要时使用。在第 2 周期有效,但实际在第 3 周期有效。表达式或条件运算符,动态控制断言中的时序逻辑。是实现固定周期延时的标准方式。确保延时周期数为静态值(编译时可确定)。根据配置参数选择延时周期。

2025-04-05 11:22:54 229

原创 #SVA语法滴水穿石# (005)关于 问号表达式(condition ? expr1 : expr2)

的语法和逻辑与 C 语言的三元条件运算符完全一致。通过合理使用问号表达式,可以简化复杂断言逻辑,提高代码可读性和复用性。:在断言中根据条件动态选择逻辑分支,增强断言灵活性。在 SystemVerilog 断言(SVA)中,,常用于动态选择信号、序列或属性。多模式设计(如高/低优先级模式)。可配置时序检查(如不同延迟要求)。:布尔表达式,决定选择的分支。拉高后 1 个周期响应。拉高后 3 个周期响应。为真,则选择此表达式。为假,则选择此表达式。忽略条件的时序变化影响。

2025-04-05 11:02:13 209

原创 #SVA语法滴水穿石# (004)关于 ended 和 triggered 用法

例如,序列 A 的结束时间必须与序列 B 的结束时间一致。的关键字,它表示某个序列(sequence)在特定时间点已经成功匹配(即“结束”)。在第 0 个周期拉高,在第 2 个周期拉低,结束时间为第 2 个周期。,尤其是在多序列组合或属性(property)中需要对齐时序的场景。可以同步不同序列的完成时间点,常用于协议握手或状态机跳转的验证。如果序列在当前时间点之前(即过去的时钟周期)完成匹配,则。的值在每个时钟边沿重新计算,与断言所在的时钟域同步。)后的第 3 个周期,检查。在第 2 个周期结束时,

2025-04-05 10:52:33 509

原创 #SVA语法滴水穿石# (004)关于 not 禁用属性

若需在时间范围内禁止属性(如“永远不”或“在某个条件后不”),可结合时序操作符使用。关键字,我们能够明确禁止系统中不应出现的状态或行为,从而在验证阶段提前发现设计错误。)为真时,断言会失败;反之,如果该属性始终为假,则断言通过。修饰的属性始终为假时(即原属性始终为真),断言通过。修饰的属性为真(即原属性为真),断言失败。为 1 时失败,确保错误状态被检测到。是属性,表示“两个信号同时为真”。修饰后,断言要求这个属性永远为假。在所有时钟周期均为 0,否则失败。同时为 1,属性为真,假设一个通信协议要求。

2025-04-05 08:00:19 94

原创 #SVA语法滴水穿石# (000)断言基本概念和背景

那么断言是如何表现的呢?进行设计时,我们并不能确保设计出来的东西没有功能上的漏洞,因此在设计后我们都会对其进行验证仿真。换句话说,验证的目的是彻底地验证被测设计以确保设计没有功能上的缺陷。协议覆盖是用来衡量一个设计的功能说明书中确定的所有功能是否都测试过;数据检验则是检验正在处理的数据的完整性。随着数字电路规模越来越大、设计越来越复杂,使得对设计的功能验证越来越重要。断言便是一门重要的验证技术,它可以尽早发现设计的缺陷以及提高验证的效率。是一种冗长的语言,随着断言数量的增加,维护代码将变得很困难;

2025-04-05 07:47:41 466

原创 #SVA语法滴水穿石# (003)关于 sequence 和 property 的区别和联系

sequence是描述时序模式的基本构建块,它本身不是完整的断言。property是完整的断言规范,可以包含时序和非时序条件,并能直接用于验证语句。简单的断言可能只需要一个sequence,但复杂的断言需要将多个sequence组合成property。property 可以包含蕴含操作(|->, |=>)和逻辑操作,而sequence主要关注事件的时序关系。

2025-04-04 22:19:38 213

原创 #SVA语法滴水穿石# (002)关于 |-> + ##[min:max] 的联合理解

第一个表达式由于语法错误,其意图不明确,若强行解析可能被某些工具视为无效或非标准实现。两者的核心区别在于语法合法性及对时序延迟的规范方式。第二个表达式是符合SVA标准的正确写法,而第一个表达式因缺少。表示在触发后的第2到第4个时钟周期内任意一个周期检查。工具可能报错或无法正确解析。今天,我们着重理解一些概念。采用非交叠蕴含符号,仿真结果如下:断言成功。采用交叠蕴含符号,仿真结果如下:断言失败。SVA要求时序延迟必须使用。发生时,断言要求在接下来的。第二个表达式明确表示:当。

2025-04-04 20:19:02 103

原创 #SVA语法滴水穿石# (001)关于 |-> 和 |=>

在SystemVerilog Assertions(SVA)中, 和 是两种不同的隐式条件操作符,它们的用法和行为有所不同。定义: 是一个重叠隐式条件操作符,用于检查条件是否在当前周期满足,并在同一个周期内触发后续的序列。行为:如果条件在当前周期为真,则后续的序列会在当前周期开始执行。语法: 解释:如果 在当前周期为真,则 必须在当前周期为真,否则断言失败。定义: 是一个非重叠隐式条件操作符,用于检查条件是否在当前周期满足,并在下一个周期触发后续的序列。行为:如果条件在当前周期为真,则后续

2025-04-04 14:52:58 165

原创 #C8# UVM中的factory机制 #S8.1.1# 同时支持多态和向下转换不是矛盾吗?(二)

无法直接调用子类特有的方法或属性。

2025-03-30 12:04:33 23

原创 #systemverilog# SystemVerilog 中的类多态和向下转换(Downcasting)之间的关系

无法直接调用子类特有的方法或属性。

2025-03-30 12:01:03 15

原创 #CX# UVM中的virtual sequence 和 virtual sequencer 的用途

例如:先配置寄存器(通过APB接口),再触发数据流(通过AXI接口),最后检查中断(通过GPIO接口)。将复杂测试场景封装为独立的Virtual Sequence,方便在不同测试用例中复用,无需重复编写底层Sequence组合逻辑。通过Virtual Sequence,UVM能够高效管理多接口、多组件的复杂验证场景,显著提升验证环境的灵活性和场景复用能力。时,Virtual Sequence作为顶层控制器,统一调度不同Sequencer上的子Sequence。:Virtual Sequence按顺序启动。

2025-03-29 21:21:03 86

原创 #C8# UVM中的factory机制 #S8.5# 对factory机制的重载进一步思考(二)

当子类定义了一个与基类同名的方法,即使参数不同,基类的方法也会被隐藏。

2025-03-29 20:10:46 156

原创 #VCS# 关于 +incdir+XXX 和 -y 和 +libext+的区别

一 -y-v一 -y。

2025-03-28 16:51:54 420

原创 #VCS# 关于 +incdir+xxx 编译选项的注意点

前段时间,工作中遇到百思不得其解的坑。按照以往的理解,没有找到任何可能问题点。今天总结下来。是 VCS 编译器中用于指定搜索路径的重要选项,主要用于指定 `include 指令的搜索目录。

2025-03-28 16:45:13 364

原创 #systemverilog# SystemVerilog 中的向上转换(Upcasting)和向下转换(Downcasting)

在 SystemVerilog 中,向上转换和向下转换是面向对象编程中与类继承相关的两种类型转换方式。

2025-03-28 11:16:56 131

原创 #C8# UVM中的factory机制 #S8.4.3# factory机制创建实例接口

factory机制提供了一系列接口来创建实例。来源:UVM源代码来源:UVM源代码来源:UVM源代码有四个参数,第一个参数是字符串类型的类名,第二个参数是父结点的全名,第三个参数是为这个新的component起的名字,第四个参数是父结点的指针。这个函数一般只在一个component的new或者build_phase中使用。如果是在一个object中被调用,则很难确认parent参数;

2025-03-28 09:25:15 14

原创 #C8# UVM中的factory机制 #S8.5# 对factory机制的重载进一步思考(一)

特性Overloading (重载)Polymorphism (多态)绑定时间编译时(静态绑定)运行时(动态绑定,虚函数)作用域同一作用域内跨继承层次实现方式参数列表不同virtual+ 继承目的扩展函数/操作符的适用性实现接口统一,行为差异化。

2025-03-27 22:47:04 482

原创 #C8# UVM中的factory机制 #S8.4.1# factory机制的实现

参数化类。

2025-03-27 09:12:08 16

原创 #C8# UVM中的factory机制 #S8.2.3# 重载 component 哪些情形

通常用于动态替换监测逻辑,例如扩展监测功能、修改协议解析行为或调试特定场景。:无需修改原始 Monitor 代码,符合 UVM 的“开闭原则”(对扩展开放,对修改关闭)。在包含多个 Agent 实例的环境中,仅替换其中一个 Agent 的 Monitor。在调试阶段,临时修改 Monitor 的协议解析逻辑,例如打印更多调试信息。支持不同版本协议(如 PCIe Gen3/Gen4),通过重载切换解析逻辑。在原有 Monitor 基础上增加覆盖率收集或日志记录,无需修改原始代码。:无需修改测试代码。

2025-03-27 07:55:23 23

原创 #C8# UVM中的factory机制 #S8.2.3# 重载sequence哪些情形

在UVM中,是一种动态替换激励生成逻辑的关键技术,常用于灵活配置测试场景。

2025-03-27 07:40:52 201

原创 #C8# UVM中的factory机制 #S8.2.2# 复杂重载方式

今天看一下稍微复杂些的重载方式。

2025-03-24 20:28:49 49

原创 #C8# UVM中的factory机制 #S8.2.2# factory 机制重载方式

上节介绍了使用set_type_override_by_type函数可以实现两种不同类型之间的重载。类似,但参数类型不同,适用于需要直接使用类型对象(而非类型名字符串)的场景。在复杂测试环境中,验证某个实例路径是否应用了预期的类型覆盖。类型的对象代理,代表工厂根据覆盖规则最终选择的类型。类型的对象代理,表示工厂根据覆盖规则最终选择的类型。,帮助调试或动态确认某个对象在创建时的实际类型。,返回实际会被创建的对象的代理类型(,返回实际会被创建的对象的代理类型(方法前,预判实际实例化的类型。

2025-03-24 17:49:14 37

原创 #C8# UVM中的factory机制 #S8.2.1# factory 机制重载法则

factory机制最伟大的地方在于其具有重载功能。重载并不是factory机制的发明,前面已经介绍过的所有面向对象的语言都支持函数/任务重载,另外,SystemVerilog还额外支持对约束的重载。只是factory机制的重载与这些重载都不一样。

2025-03-24 17:14:38 127

原创 #C8# UVM中的factory机制 #S8.1.4# 约束的重载

今天,复习一下《UVM实战》一书中的 关于约束的重载 章节学习。

2025-03-23 19:35:23 42

原创 #C8# UVM中的factory机制 #S8.1.3# UVM实战代码再剖析

前面文章,实际还没有完全剖析完整代码。今天我们自己捋一遍。完整代码如下:而代码第74行,因为实参 bird_inst, 与 参数形参 bird b_ptr 属于同一类型,不需要做转换。而第75行代码,因为实参为parrot_inst , 与 参数形参 bird b_ptr 不属于同一类型,需要做转换。那么具体是向上转换,还是向下转换呢?(自动完成,安全)向上转换后,只能访问父类的属性和方法(color),无法访问子类独有的内容(size(需显式$cast$cast会检查类型是否兼容。

2025-03-22 21:42:15 24

原创 #C8# UVM中的factory机制 #S8.1.2# 到底重载?多态?

张强老师书中,在该章节,主要讲述重载一词,反复提到。而通过前面文章的学习,我们知道,VCS 仿真工具对于重载的支持不是很好。那么,我们不禁疑问:书中到底是 重载还是多态呢?

2025-03-22 16:08:25 40

原创 #C8# UVM中的factory机制 #S8.1.1# OOP 语言三大特性 systemverilog的支持(一)

SystemVerilog 作为一门支持面向对象编程(OOP)的硬件描述和验证语言,,但它的实现方式和特性与纯软件面向对象语言(如 C++ 或 Java)有所不同。

2025-03-22 15:46:44 21

原创 #UVM# 关于UVM打印信息控制必须知道的“坑”

UVM 会输出类似以下警告,表明命令行参数错误:UVM_WARNING: Invalid verbosity level 'UVM_HIGHH' ignored.设置 Verbosity 时,如果输入格式错误或参数不合法,UVM 会忽略该设置,Verbosity 将回退到其他有效设置的层级。实际工作中,可能遇到各种问题,各种低级的错误,都不可避免。在 UVM 中,当通过命令行参数 +uvm_set_verbosity。通过日志中消息的显示情况,反推实际 Verbosity 层级。路径匹配失败,设置不生效。

2025-03-10 22:30:35 393

原创 #UVM# 关于 config_db 机制中的直线非直线设置和获取讲解

在 UVM 验证环境中,是一种强大的机制,用于在不同组件之间传递配置参数。根据你的描述,我们可以结合UVM 树结构来解释直线和非直线的设置与获取。

2025-03-08 21:46:43 345

原创 #UVM# 关于 config_db 机制中省略 get 语句的条件

今天,我们了解一下 ,config_db 机制中的 get 语句是可以省略的用法。

2025-03-08 21:05:56 276 1

原创 #UVM# 关于 config_db 机制中的set和get函数

config_db机制用于在UVM验证平台间传递参数。它们通常都是成对出现的。set函数是寄信,而get函数是收信。

2025-03-08 20:09:16 323

原创 #VCS# 关于VCS 工具如何 dump library 信号来调试问题

在使用 VCS 进行仿真时,如果需要将库单元(library cells)的信号dump到波形文件(如FSDB或VPD)中,可以通过以下方法实现。一般,我们经常提到的库,包括两种:(1)-v/-y 指定的 library(2) 代码中 使用 `celldefine ...... `endcelldefine 定义的库。

2025-03-08 16:12:36 239

原创 #VCS# 关于VCS 工具进行 code coverage merge 遇到mapfile的问题

在使用 VCS 工具进行代码覆盖率合并时,mapfile是一个重要的配置文件,用于定义如何将不同模块或实例的覆盖率数据映射到目标模块上。以下是关于mapfile。

2025-03-08 15:44:52 178

芯片功耗分析理论知识讲解(三)

芯片功耗分析理论知识讲解的第三部分知识。主要整理了功耗计算理论。

2024-05-19

芯片功耗分析理论知识讲解(二)

芯片功耗分析理论知识讲解的第二部分知识

2024-05-19

芯片功耗分析理论知识讲解(一)

主要整理了关于功耗分析过程中,需要了解的一些基本理论知识。

2024-05-19

门级网表仿真基本知识点整理

主要整理了门级网表仿真,就是后仿真中常见的知识点,做了整理,方便了解。

2024-05-18

FPGA/ASIC+SSC扩频三角波调制+90度相位差+600pp随机抖动+Verilog模型

今天,提出并实践了一种基于verilog/systemverilog编程语言的SSC 建模模型方法,及如何产生90度相位差的思路。另外,还实现了600ppm 随机抖动的效果。还总结了如何提高建模精度的一些注意点,目的方便大家对ssc 调制时钟的理解。

2024-03-12

FPGA/ASIC+SSC扩频三角波调制+180度相位差+600pp随机抖动+Verilog模型

今天,提出并实践了一种基于verilog/systemverilog编程语言的SSC 建模模型方法,及如何产生180度相位差的思路。另外,还实现了600ppm 随机抖动的效果。还总结了如何提高建模精度的一些注意点,目的方便大家对ssc 调制时钟的理解。

2024-03-12

FPGA/ASIC+SSC扩频三角波调制+270度相位差+600pp随机抖动+Verilog模型

今天,提出并实践了一种基于verilog/systemverilog编程语言的SSC 建模模型方法,及如何产生270度相位差的思路。另外,还实现了600ppm 随机抖动的效果。还总结了如何提高建模精度的一些注意点,目的方便大家对ssc 调制时钟的理解。

2024-03-12

单例模式+UVM验证平台+force/release/probe信号

单例模式是一种常用的软件设计模式,其主要目的是确保一个类在整个应用程序生命周期中只有一个实例,并提供一个全局访问点以获取该实例。我们在UVM种经常使用,例如uvm_root、uvm_factory,单例模式的使用特点就是定义的类都会提供一个get方法来获取类的实例,并且是唯一实例。 今天,借助于UVM设计模式中的单例模式,来实现在UVM TB 验证平台中对RTL层级结构中的信号,进行force/release、probe 目的。 所以,借助于UVM实战书籍中的例子,实现该目的。

2024-03-10

FPGA/ASIC+SSC扩频正弦波调制+270度相位差+Verilog模型

波形调制,ssc扩频时钟设计,编写了一种基于verilog/systemverilog编程语言的SSC 正弦波 建模模型方法,及如何产生270度相位差的思路。

2024-03-09

FPGA/ASIC+SSC扩频正弦波调制+180度相位差+Verilog模型

编写了一种基于verilog/systemverilog编程语言的SSC 正弦波 建模模型方法,及如何产生180度相位差的思路。

2024-03-09

FPGA/ASIC+SSC扩频正弦波调制+90度相位差+Verilog模型

编写了一种基于verilog/systemverilog编程语言的SSC 正弦波 建模模型方法,及如何产生90度相位差的思路。

2024-03-09

FPGA/ASIC+SSC扩频三角波调制+270度相位差+Verilog模型

SSC扩频时钟,其目的:为了降低与信号基频相关的EMI辐射,虽然整体能量不变,但峰值功率降低。峰值能量色散量取决于调制带宽、扩频深度和扩频曲线。由此产生的SSC调制载波信号最终的抖动比未调制载波信号高得多。最常见的调制技术是下扩频和中心扩频:下扩频:载波按指定的百分比调制至低于标称频率,而不是更高;中心扩展:载波按指定百分比调制高于和低于标称频率。 基于以上理论,今天,提出并实践了一种基于verilog/systemverilog编程语言的SSC 建模模型方法,及如何产生270度相位差的思路。另外,还总结了如何提高建模精度的一些注意点,目的方便大家对ssc 调制时钟的理解。

2024-03-08

FPGA/ASIC+SSC扩频三角波调制+180度相位差+Verilog模型

SSC扩频时钟,其目的:为了降低与信号基频相关(包含信号本身以及谐波)的EMI(Electromagnetic interference)辐射,以减少系统之间的干扰。扩频时钟使用调制来实现频谱功率的扩展。载波信号通常是高频时钟信号,与低频调制器信号进行调制。虽然整体能量不变,但峰值功率降低。峰值能量色散量取决于调制带宽、扩频深度和扩频曲线。由此产生的SSC调制载波信号最终的抖动比未调制载波信号高得多。 基于以上理论,今天,提出并实践了一种基于verilog/systemverilog编程语言的SSC 建模模型方法,及如何产生180度相位差的思路。并提供了多种精度需求的SSC建模。

2024-03-08

FPGA/ASIC+SSC扩频三角波调制+90度相位差+Verilog模型

SSC扩频时钟,其目的:为了降低与信号基频相关(包含信号本身以及谐波)的EMI(Electromagnetic interference)辐射,以减少系统之间的干扰。该技术广泛用于微处理器、PCIe、USB等高速协议中。 扩频时钟使用调制来实现频谱功率的扩展。载波信号通常是高频时钟信号,与低频调制器信号进行调制。虽然整体能量不变,但峰值功率降低。峰值能量色散量取决于调制带宽、扩频深度和扩频曲线。由此产生的SSC调制载波信号最终的抖动比未调制载波信号高得多。最常见的调制技术是下扩频和中心扩频:下扩频:载波按指定的百分比调制至低于标称频率,而不是更高;中心扩展:载波按指定百分比调制高于和低于标称频率。 基于以上理论,今天,提出并实践了一种基于verilog/systemverilog编程语言的SSC 建模模型方法,及如何产生90度相位差的思路。另外,还总结了如何提高建模精度的一些注意点,目的方便大家对ssc 调制时钟的理解。

2024-03-08

systemverilog_ssc_clk_generated.sv

SSC时钟扩频调制技术广泛用于高速通信协议中,本文基于systemverilog语言,采用高速协议中普遍使用的三角波-向下展频方式,编写验证模型,并可VCS/Verdi 仿真和波形查阅。

2021-12-24

MindShare_PCIe_Elastic_Buffer.pdf

一篇关于PCIE/SATA 高速协议中使用的弹性缓冲器的文章,精读!!!

2021-11-30

基于PCIe2.0协议的PCS层弹性缓冲器设计

最近开始学习 PCIE,网上、公司、学校等等海收集各种资源,说实话,PCIE 的资源不少,中文资料也不少。该文章,简介明了,更容易让新手对PCIE由恐惧,变得自信心满满。希望对大家有用。一起努力

2020-11-28

从PCIe探索弹性缓冲器真义(陈乃塘)

最近开始学习 PCIE,网上、公司、学校等等海收集各种资源,说实话,PCIE 的资源不少,中文资料也不少。该文章,简介明了,更容易让a新手对PCIE由恐惧,变得自信心满满。希望对大家有用。一起努力

2020-11-28

stm32F107VC+SPI1+LWIP

基于stm32植入ucos系统以及lwip协议栈,实现以太网DP83848与PC机之间进行通信,stm32作为服务器。PC端作为客户端

2016-01-04

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

TA关注的人

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