自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

那么菜的博客

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

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

原创 后仿真中的 《specify/endspecify block》之(6)功能 之 脉冲过滤限制

两个脉宽限制值:e-limit(error limit)和r-limit(rejection limit),并且要求e-limit >= r-limit,否则报错。当e-limit > pulse width >= r-limit时,输出X值;为了更准确地描述这种能力,使用惯性延时(inertial delay),它可以抑制持续信号比传播延时短的输入信号的变化。由于每条传播路径都具有一定的电容性和电阻性,电荷无法在一瞬间积累或消散,所以信号变化的物理特性是具有惯性的。

2024-07-21 09:16:01 20

转载 (七)input_delay和output_delay的究竟是何

2024-07-20 23:00:50 11

原创 (六)认识常见的时序分析路径

注意路径的概念,一条路径由起点和终点决定。时序分析是相对于路径来说的。其中最常见的就是register to register的路径,工具通过计算数据到达时间(data arrival time)和数据要求时间(data required time)来分析时序是否满足要求。常见的路径有4条,根据起点和终点的不同可以对其分类。

2024-07-20 22:22:51 198

原创 后仿真中《SDF反标必懂连载篇》之 timescale 设置导致 SDF 反标延迟事故案例

今天,通过案例,实实在在的分析 SDF 和 timescale 之间的内在联系。将工作中遇到的陷阱,分享给大家。关于SDF延迟精度和timescale 之间的关系,前面的文章,已经提到了。

2024-07-20 14:48:45 442

原创 后仿真中《SDF反标必懂连载篇》之 探究 SDF延迟精度 与 timescale 精度问题

本篇文章,同样属于后仿真中的SDF反标系列文章内容之一。今天,将前仿真中的timescale 和 后仿真中 timescale+sdf 延迟数据,进行贯通讲解。不要忽视这部分内容,因为后仿真的成功准确与否,时间精度问题,很重要。为什么?接下来一一讲解。

2024-07-20 13:56:10 463

原创 浅谈芯片验证中的仿真运行之 timescale (六)作用域问题

总结timescale 的在实际使用过程中的作用域问题,很关键。

2024-07-20 11:33:00 26

原创 浅谈芯片验证中的仿真运行之 timescale (五)提防陷阱

在module a中定义的变量 t1=5us ,在a的timescale 1ns/1ps下,会被解析成5000,原因就是*细节点中提到的,“若指定单位,则仿真工具会转化为当前仿真单位的数值”,当前仿真单位是ns,所以"5us"会被解析成"5000"这个“数”。在timescale 1ps/1fs中,结果是clk每隔1fs 翻转一次(内部执行:首先将500改写为500ps, 然后将500ns改写为500000ps, 相除,结果为0.001ps, 等于1fs, 那么1fs 翻转一次)

2024-07-20 11:22:57 222

原创 #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生

仿真调度系列文章,已经编写10篇,写到这里,相比大家都已经对VCS仿真工具的运行机制,有了大体了解。学无止境,而且真正的仿真调度行为控制,是每个EDA厂商自己产品的高度机密。言外之意,我们要抱着谦虚的态度说:我们只是懂了一点点。

2024-07-20 09:39:22 131

转载 (五)非常经典的setup和hold分析及违例修正方法

总结为一句话:当前待传输的数据,相对于Capture edge来说,必须早来(setup time)晚走(hold time)。① T_dp:增加组合路径延时,通过插buffer、插delay cell、更换驱动、更换阈值的方法(组合逻辑深度的增加会增加芯片的面积、布线资源、功耗,可能产生在慢速工艺库条件下建立时间违例)图1为例,分析建立时间及保持时间。③ T_skew:采用positive skew(T_skew >0),但是要注意可能引入的hold问题,以及前后级的margin问题。

2024-07-18 23:15:54 24

原创 后仿真中针对Timing Violation 进行waive操作的几种方法

在后仿中如何对Timing violation进行waive?

2024-07-14 22:53:42 36

转载 #Verilog HDL# Verilog中的延迟语句

本文转载,仅供学习,勿喷~Verilog 中的仿真延时语句为 #n,n表示延时时间,将该语句加在语句中,延迟n个时间单位。延时的添加方法有两种:正规延迟和内定延迟。

2024-07-14 17:15:43 22

原创 后仿真中如何针对特定时序问题的UDP原语施加延迟

通过前面的学习,我们知道:实际的后仿真可以分为多种。比如: zero delay, unit delay, full timing delay等等。而且,针对上述三种时序仿真,根据实际使用的VCS仿真选项,又可以划分的更细。今天,要提到的是事关三个场合:(3)前仿中的 synthesis model 仿真场合由于这些场合,仿真使用的延迟信息,或者仿真使用的底层 cell lib 仿真模型的选取等原因,会引起在仿真过程中,出现 race condition 的现象。

2024-07-14 09:27:04 49

原创 后仿真中《SDF反标必懂连载篇》之 反向提取SDF反标延迟

我们知道,我们在完成SDF时序反标之后,首先要做的事情:检查sdfannotation 文件。因为,通常以为小事一桩的某个反标路径,可能在后期时序仿真过程中,埋下陷阱。那么,回归主题:有时候,我们在debug 时序采样问题的时候,需要检查某个时序器件的时序反标信息数据。第二步: 执行 report_timing -file U130.timing.rpt tb_top.macinst.U130。今天,整理一下最近工作中遇到的一个问题,及解决问题的办法,仅分享给大家。今天,不妨尝试如下的方法。

2024-07-11 22:52:56 203

原创 #VERDI# 关于如何查看FSM状态机的方法

关于Verdi中查看状态机的问题,想必大家都duniang 一大把资料可以看,今天,主要在前人讲解的基础之上,这里添加一些自己的心得体会。为什么呢?说来惭愧,自己工作几个年头了,但是对于Verdi中查查看状态机,还是心里有一些抵触。今天,花点时间整理一下分享大家,如有不同之处,请指正!

2024-07-11 21:03:28 288

原创 后仿真中《SDF反标必懂连载篇》之 timing violation 你读对了?

大家好,今天主要记录和大家分享一下,最近一直在搞的GLS,一点点仿真心得。对于第一次实战门级网表仿真的朋友,肯定内心有一万个疑问不解。其实没有别的办法,向有经验的老师傅请教,是一个不错的渠道。另外,我们要自己上心,有疑问,解决疑问,才能真正的成长。

2024-07-02 22:29:02 605

原创 后仿真中《SDF反标必懂连载篇》之 多个SDF 文件反标疑问

门级网表又分为,pr前和pr后,后端做完布局布线之后的,修改好timing的网表称为带时序的pr网表,pr网表进行仿真时,后端布局布线之后由“QRC”出spef,通过PT生成sdf,sdf文件中会把布局布线过程中器件延时和线延时记录下来,我们需要sdf文件用来告诉仿真工具真正的timing信息,仿真工具改变元件的默认timing。设计经过综合之后会生成门级网表,在门级网表里面包含了时序信息,这时的验证称之为后仿,除了验证功能是否满足,还要验证时序是否有违例的情况。但是PT工具在这里帮了大忙。

2024-07-02 22:01:45 637

转载 关于VCS工具的分块编译

使用分块编译能够大大提高仿真的效率,自动分块编译推荐使用默认的分块参数即可,是否需要使用手动分块编译需要根据设计、验证的复杂度来判断。在手动分块编译时,写config文件推荐在验证环境中将验证相关的代码根据逻辑功能合理的划分到SystemVerilog 的package里,对不同的package分别进行分块编译,只import需要用到的package,这样就可以避免修改该package时导致对多个partition的重新编译。

2024-07-02 21:11:28 76

转载 (四)关于STA时序违例方案解决

(2)保持时间采样沿在N-1处,要求上一个数据的结束位置要在这,太难了,很可能报告时序违例,因此要把保持时间推回原先的采样沿0时刻位置:set_multicycle_path -from $from_list -to $to_list-hold ,还不行就、(1)修改建立时间:set_multicycle_path -from $from_list -to $to_list ,建立时间采样沿在N处,建立时间OK了。(2)跨时钟域信号,可以选择clock到clock。

2024-06-30 21:40:38 35

转载 (三)关于STA分析电路工作频率和时序违例问题

另外需要注意的是,在做setup time的检查时,组合逻辑的延迟Tlogic_delay需要取延迟最长的组合逻辑路径,而在做hold time的检查时,则需要取延迟最短的组合逻辑路径。下图中,假设触发器CK端到Q端的延迟为1ns,时钟频率为100MHz,组合逻辑延迟为2ns,触发器的建立时间Tsetup = 2ns, 保持时间 Thold = 1ns.数据所需时间: Thold_time = 1 + 1.1 + 1.1 + Thold = 1 + 1.1 + 1.1 + 1 = 4.2ns。

2024-06-30 21:36:29 32

转载 后仿真中《SDF反标必懂连载篇》之 SDF 预编译选项

如果我们的设计代码进行了修改,但是sdf文件并没有修改,此时如果编译完后,在析构的时候还要再进行一次sdf文件的解析反标,将会比较耗费时间,为此,一般的EDA工具都提供了另外一种反标方式,即对sdf文件进行预编译,如果sdf文件并没有修改,仅设计文件进行修改,此时就可以采用sdf预编译方式,具体操作步骤如下示例。【反标信息一】在系统任务$sdf_annotate中添加要使用的已经预编译的反标文件。【反标信息二】在析构命令中加入已经预编译的反标文件,大家可以仔细观察下两者差异。

2024-06-30 21:21:22 80

转载 (一)关于静态时序分析的背景知识

当逻辑功能设计完成后,综合成门级网表,此时需要使用STA分析时序最差或关键路径,进行设计的逻辑优化(此时更改的都是逻辑单元)并生成时序约束文件(SDC)1.具有近似估计值的全局布线的互连线、具有近似寄生参数提取值的实际布线的互连线、具有可以签收(signoff)精度寄生参数提取值的实际布线的互连线。3.静态时序分析的特点:更快更简单,能不添加激励的情况下检查完所有的时序路径。另外一种验证时序的方法是时序仿真,时序仿真可以同时验证功能和时序。1.静态时序分析分析的是时序,检查在一定频率下,电路有无时序违例。

2024-06-27 22:24:43 27

原创 芯片后端之 PT 使用 report_timing 产生报告如何阅读

今天,就PT常用的命令,做一个介绍,希望对大家以后的工作,起到帮助作用。在PrimeTime中,使用report_timing -delay max命令生成此报告。switch -delay max表示定时报告用于设置(这是默认值)。首先,我们整体看一下通过report_timing 运行之后,报告产生的整体样式。

2024-06-23 16:22:11 552

转载 芯片后端之 PT工具使用教程

PT即Prime Time,一个STA静态时序分析的工具。它提取整个电路的所有时序路径,通过计算信号沿在路径上的延迟找出违背时序约束的错误,主要是检查建立时间和保持时间是否满足要求,而它们又分别通过对最大路径延迟和最小路径延迟的分析得到。STA中的“静态”是指整个电路的分析是静态进行的,不依赖于输入端口的激励,无需仿真向量,所以仿真会非常快。1、PT配库文件PR后的布局布线网表(版图网表)、时序约束文件sdc、PR后的spef2、PT过程文件。

2024-06-23 07:56:05 162

原创 后仿真中的 《specify/endspecify block》之(5)使用specify进行时序仿真

前面我们学习了specify...endspecify 具体是什么东西。今天,我们使用specify block 中定义的延时,来进行一次仿真。看看到底是背后如何运转的呢。

2024-06-22 22:07:41 902

转载 后仿真中的 《specify/endspecify block》之(4)$width, $period 时序检查

period 用于检查边沿触发事件 ref_event 到下一个同向跳变沿之间的时间,常用于时钟周期的检查。如果两次同向跳边沿之间的时间小于 time_limit,则报告中会打印 violation。$width 用于检查边沿触发事件 ref_event 到下一个反向跳变沿之间的时间,常用于脉冲宽度的检查。有些数字设计,例如 flash 存储器,还需要对脉冲宽度或周期进行检查,为此 Verilog 分别提供了系统任务 $width 和 $period。

2024-06-22 11:42:34 67

转载 后仿真中的 《specify/endspecify block》之(3)$recovery/ $removal 时序检查

当 ref_event (reset) > data_event (clock) 且 T(ref_event - data_event) > removal_limit 时,即复位信号在时钟信号到来之后如果不满足 removal time,则报告中会打印 violation。对于异步复位的触发器来说,异步复位信号也需要满足 recovery time(恢复时间)和 removal time(去除时间),才能有效的复位和释放复位,防止出现亚稳态。建立时间和保持时间的概念都是出现在同步电路的设计中。

2024-06-22 11:39:20 45

原创 后仿真中的 《specify/endspecify block》之(2)setup/hold 时序检查

我们知道,在实际后仿真过程中,通过指定路径延迟,目的是让仿真的时序更加接近实际数字电路的时序。利用时序约束对数字设计进行时序仿真,检查设计是否存在违反(violation)时序约束的地方,并加以修改,也是数字设计中不可或缺的过程。Verilog 提供了一些系统任务,用于时序检查。这些系统任务只能在 specify 块中调用。下面就介绍 6 种常用的用于时序检查的系统任务,

2024-06-22 11:25:41 708

原创 后仿真中 module path polarity 问题

不知道大家有没有遇到这个问题:什么?我们知道的module path delay 指的是定义在specify...endspecify block 中的语句,指示输入-输出的延迟信息。这里的module path 竟然还有极性问题,今天,来学习一下。模块路径的极性是一种指定,表示信号转换的方向在从输入到输出传播时是否反转。这种任意极性描述不会影响数据或事件通过模型的实际传播,换句话说:输入-输出的上升或下降,取决于模块的内部逻辑,而不是这里的描述。别着急,继续往下看。

2024-06-21 17:43:34 427

转载 后仿真中的 《specify/endspecify block》之(1)夯实基础

今天,打算磨耳朵一下,重新翻阅一下 specify...endspecify block的用法。!!

2024-06-18 21:23:28 54

转载 芯片后端之系统网表划分

运行时间:取决于增益更新和交换点的选择,其中增益是对任意两个割集中的节点交换前后所引起的割边代价的变化,时间复杂度:O(n^3)划分间连接数最小化(减少划分间耦合)、最大划分尺寸、最大时延路径、外部连接引脚数量限制等。输出:2n个节点划分成两个节点数为n的、不相交的、割数最小的子集。(2)FM算法(Fiduccia-Mattheyses)输入:2n个节点,所有节点权重相同,每条边都有非负权重。(3)模拟退火算法:解决部分困难的划分规划问题。解的质量和运行时间之间的折中。网表划分是在综合阶段划分的。

2024-06-15 17:35:01 44

转载 芯片后端之时钟数综合CTS

主要定义内容:时钟根节点(root_iopin)、最大插入延迟(max_delay)、最小插入延迟(min_delay)、最大偏差(max_skew)、最大信号转换时间(max_transition)、时钟缓冲器单元(buffers)数据到达输入端口的延迟(set_input_delay)、数据离开输出端口的延迟(set_output_delay)、最大延迟(set_max_delay)、最小延迟(set_min_delay)源头(Source):时钟的起点,一般为锁相环或专门的时钟处理模块的输出器。

2024-06-15 17:32:23 100

转载 芯片后端之布局布线

根据模块的面积和长宽比来优化芯片大小、降低互连线长度和改善时延,包含对芯片大小(Die Size)、芯片设计输入输出(I/O)单元、大量硬核(Hard Core)或模块(Block)的规划。I/O单元供电:经验做法是给I/O单元供电的单元数量与给输出信号端口的数量为1:(5~10),给I/O单元供电的单元数量与给内核供电的I/O单元的数量为1:2。数模信号模块中的电源网格:高层金属完成布线,在集成度高、布线密度大、运行和处理速度高的高频区域,电源网格较为密集,在低频区域电源网格较为稀疏。

2024-06-15 17:30:52 132

原创 后仿真中《SDF反标必懂连载篇》之 SDF 文件由来

STA产生SDF的过程中,可以把异步接口部分的时序检查禁止掉(通过放松检查时间),比如2-DFF的同步逻辑中的第一级DFF的setup和hold检查。连线的延迟信息不多说,单元的延迟通常是根据单元时序库(timing library)中定义的timing arc,从电路图形中间接提取计算出来的,而这些timing arc,要和仿真模型中(specify block)定义的io path要一一对应,在反标过程中才能标注成功。所以用电路的真实时序信息标注的过程,其实是一个覆盖默认时序信息的过程,所以也叫反标。

2024-06-15 17:23:09 480

原创 后仿真中的门级仿真类型有哪些及门级仿真目的

相对于RTL仿真,门级仿真占用的计算资源虽然很多,但是在静态时序检查(STA)工具普遍应用之前,带时序的动态门级仿真几乎可以说是唯一的timing sign-off手段了。基础单元的行为,是通过各自的仿真模型(model)来体现的,它通常是独立于门级网表存在的。所谓网表(netlist),就是一堆基础单元(比如standard cell、比如sram cell)之间的连线(net)的列表,是和电路图形相对应的。门级网表通常可以指综合之后得到的网表(没有时钟树),也可以指布局布线之后的网表(带有时钟树)。

2024-06-15 16:53:32 310

原创 后仿真中《SDF反标必懂连载篇》之 <INTERCONNECT/IOPATH> 到底反标电路路径是哪里

对于SDF INTERCONNECT ENTRY 描述,我们在之前的文章有详解。读万卷书,行万里路。实践很重要。今天,搞一下SDF INTERCONNECT / IOPATH 延迟数据信息,究竟反标的是哪一路径延时?究竟在电路上一段段如何表现出延迟现象的呢?

2024-06-13 15:40:05 518

原创 后仿真中《SDF反标必懂连载篇》之关联SDF与specify块

老话讲:纸上得来终觉浅,绝知此事要躬行。不错,今天我们一起来探究一下 SDF延迟文件中的数据信息,是如何与标准单元库或者网表代码进行关联的。下面的数据描述信息,来源于经过PT 工具提取的SDF文件延迟片段信息。另外,在my_std_cell 中的 specify...endspecify block 中定义的延迟路径信息,理论上应该和SDF文件中的延迟标注路径信息和列表数目,完全相等。库中的specify...endspecify 块结构,采用了module-path-delay 的方式,指定延时信息。

2024-06-13 13:51:48 357

转载 (二)关于建立时间和保持时间等几个相关概念

对于某个DFF来说,建立时间和保持时间可以认为是此器件固有的属性。有关DFF的内部结构及setup和hold时间对应的逻辑门会在其他文章中进行细致描述。在理想情况下,只要在时钟沿来临时,有效数据也来临(时钟沿之前或同时),则能够正确采集到数据;而在时钟沿之后(或同时),即使数据发生变化,也不会影响DFF的输出了。然而在实际中,上升沿打开开关需要时间,逻辑门的状态改变(电容充放电等)都需要时间,因此数据的采集是需要一定时间的,在这个时间内数据不能发生变化。

2024-06-06 22:35:37 120

原创 后仿真中的必懂之 P、V、T、ffg、ssg、ttg、RC 都是啥

我们在后端综合的时候,需要设置几个corner case(一般是best case 和 worst case)来进行约束和分析。case 对应ssg、high temperature、low voltage (可以跑的最低频率。case 对应ffg、low temperature、high voltage(可以跑的最高频率。其实,ffg ssg ttg 都是指的工艺角(process corner。模型会过于悲观,所以采用了新的统计学模型,在。

2024-05-19 10:03:12 1429

原创 后仿真中《SDF反标必懂连载篇》之可支持的几种时序模型

SDF作为一种标准延时文件,那么它支持的语法和规则,必须与时序模型保持严格一致。SDF提供了许多灵活的语法,供大家使用。

2024-05-18 21:39:22 832

原创 后仿真中的必懂VCS仿真选项之initreg和deposit

后仿真中,我们常常对于没有复位寄存器和存储器单元,使用仿真选项之initreg和deposit,两种处理方式。今天做总结。请注意:请勿将两者进行同时使用。对于到底选取哪种方式,要结合实际的情况决断。但是,两者同时使用,会有冲突,得不到预期结果。

2024-05-16 22:02:24 932

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

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

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

一种基于虚拟仪器技术的电力参数测量仪[1]

一种基于虚拟仪器技术的电力参数测量仪[1]

2014-07-04

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

TA关注的人

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