自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 【无标题】

这个结果的原因也很直观,因为这些时钟树在系统中具有最高的切换频率,而且有很多时钟buffer,而且为了最小化时钟延时,它们通常具有很高的驱动强度。此外,即使输入和输出保持不变,接收时钟的触发器也会消耗一定的功耗。那么减少时钟网络的功耗消耗,最直接的办法就是如果不需要时钟的时候,就把时钟关掉。许多电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步,利用锁相环路就可以实现这个目的。(3) 边界扫描,可以访问芯片内部的信号逻辑状态,还有芯片引脚的状态等等。(1)下载器,即下载软件到FLASH里。

2023-05-25 17:20:41 88

原创 Linux重置pcie设备

其中AAAA:BB:CC.D为bus-info, 意思分别为。(ps:个人在找AAAA:BB:CC.D废了好大的功夫)直接reset对应的pcie devices。1.首先移除pcie设备。2.重新添加pcie设备。

2023-03-23 20:01:53 2503

原创 《数字电子技术基础》-1-数制和码制篇

学习目标:了解数制与码制的相关知识。学习内容:了解常用数制; 了解原码、反码、补码; 了解常用数制。学习产出:常用数制1.十进制数

2022-05-31 16:22:02 307

原创 system verilog的覆盖率

覆盖率是衡量验证完备性的重要指标覆盖率提现验证的充分性功能覆盖率成为衡量验证进度以及验证充分性的重要手段,提供了一个标志验证工作完成的相对客观指标。可以根据覆盖率的情况随时调整验证的策略,调整验证资源。功能覆盖率和设计意图紧密相连,代码覆盖率衡量设计的实现情况。1.覆盖率的类型代码覆盖率:检查代码是否冗余,设计要点是否被遍历,被检测的对象是RTL设计代码,由仿真工具自动生成;用来度量被检测代码中每个执行语句是否被执行到。功能覆盖率:检查规格功能是否被覆盖,被检测对象是自定义的容器,需要采

2021-12-04 20:24:57 597

原创 system verilog的断言assertion

1.什么是断言?断言通常被称为序列监视器或者序列检验器;是对设计应当如何执行特定行为的描述,是一种嵌入设计检查。如果检查的属性(property)不是我们期望的表现,那么在我们期望事件序列的故障上会产生警告或者错误提示。断言用来检查模拟序列行为或者激励生成的正确性,断言作为功能验证的一种重要手段,可以脱离测试用例而覆盖测试点,所以断言覆盖率可以是功能覆盖率的一部分,完善的断言能为全面的功能覆盖率尺度打下良好的基础。2.可以添加什么类型的断言?设计层面:设计意图相关的断言;接口层面:模块.

2021-12-02 23:46:26 5847

转载 system verilog 进程与通信

1.task 与 functions(1.1)task 任务可以包含参数声明、输入参数、输出参数、输入参数、寄存器、事件和零或多个行为语句。任务可以是static(静态的)也可以是automatic(动态的)。静态任务为所有任务调用共享相同的存储空间,动态任务为每个任务调用分配唯一的堆叠存储空间。SV允许:在静态任务中声明动态变量,也可以在动态任务中声明静态变量; 声明端口的更多功能; 在任务结束前使用return返回; (返回值是什么???) 通过引用、值、名称和...

2021-11-29 23:08:50 606

转载 system verilog的随机和约束

背景:验证两种方法一种是直接用例,指哪打哪,即遍历每一个具体的例子;另一种是随即用例:全面打击,覆盖意想不到的地方。直接用例在测试量很大时费时费力。1.为什么使用随机 使验证能朝着可量化流程方向发展;让可测激励空间的向量更加容易枚举。提高验证的效率。特点:1)自动生成测试随机激励 : 改变驱动DUT的数据特性 2) 随机选择测试用例 : 随机运行已知的有效测试 3)随机测试平台中的参数 : 随机选择端口,地址,操...

2021-11-28 20:44:05 1644

原创 system verilog 面向对象的特征

object oriented programming (oop) 面向对象编程使用户能够创建复杂的数据类型,并且将这些数据类型的程序紧密的联合在一起。用户可以在更加抽象的层次建立测试平台和系统级模型,通过调用函数来执行一个动作而不是改变信号的电平。oop的基本单元:类class封装了数据和操作这些数据的子程序对象是类的实例,类是对象的模板。比如人是一个类,是一个模板,里面有吃饭睡觉说话等特性,然后男人女人老人小孩就是类的实例化对象。在SV中,这样描述P a;//P是定义的一个类,属于一个数

2021-11-28 19:14:58 422

原创 system verilog的数据类型

1.内建的数据类型 1.1 logic类型:任何需要线网的地方都可以用logic; 但是不能有多个结构性驱动。多驱动与双向总线只能用wire 是四状态。 1.2 双状态的数据类型:目的为了提高仿真器的性能并且减少内存的使用量。 双状态:0、1 四状态:0、1、x 、z2.使用ty...

2021-11-28 18:31:22 559

转载 异步fifo的设计与验证

书接上文,上一篇介绍了略简单的同步fifo,接下来开始较为复杂的异步fifo。1.同步fifo与异步fifo的区别当设计中只有一个时钟时,所有的寄存器否用同一个,不会出现传输速度不匹配的情况;但是当设计中存在多个时钟信号,并且在这几个时钟域中传递数据,就可能出现因时钟信号不匹配而产生数据丢失的现象,这时候需要异步fifo进行数据的缓存,保证数据能够正常的传输,因此一般异步fifo会包含一个双端口的ram.2.异步fifo组成图1.异步fifo模块组成(6个):顶层模块、双口RAM、.

2021-11-27 17:05:38 3919 2

原创 同步FIFO的设计和验证

1.FIFO是什么?fifo是一种先进先出的数据缓存器,与普通存储器的区别是没有外部读写地址线,只能顺序读写,不能随机读写。2.使用场景(1)数据缓冲:当突然一股数据流突发写入,fifo可以暂时将数据暂存,起到缓冲作用,且使后续处理流程平滑。(2)时钟域的隔离:主要用于异步FIFO。对于不同时钟域的数据传输,可以通过fifo进行隔离,避免跨时钟域的数据带来的设计和约束上的复杂程度。(3)用于不同宽度的数据接口。3.fifo的分类同步fifo:读时钟与写时钟是同一个时钟异步fi

2021-11-22 21:36:56 3721

原创 跨时钟域相关的知识点

模块之间有数据交互,但是用的不是一个时钟进行驱动,存在相位与频率的不同,由于电路本身的特性(中间态存在时间长),在同一时刻不同元器件对同一信号的判断出现不一致现象,称为亚稳态。这就需要同步器进行同步,减小亚稳态传播下去的概率。跨时钟域:模块之间有数据交互,但是用的不是同一个时钟进行驱动。在跨时钟处理单bit信号时,慢时钟域到快时钟域下的处理方式比较简单,将在慢时钟域下的信号在快时钟域下打三拍处理,取二拍与三拍信号进行处理,将慢时钟域的信号分解为在快时钟域下的上升沿脉冲信号与下降沿脉冲信号。//

2021-11-20 20:05:22 845

原创 握手信号的代码

transmit端module transmit(tclk,reset_tclk,t_rdy,data_avail,transmit_data,t_data,r_ack); input tclk; input reset_tclk; input data_avail; input [31:0] transmit_data; input r_ack; output

2021-11-20 14:35:19 236

原创 握手信号的知识

transmit端module transmit(tclk,reset_tclk,t_rdy,data_avail,transmit_data,t_data,r_ack); input tclk; input reset_tclk; input data_avail; input [31:0] transmit_data; input r_ack; output

2021-11-20 14:33:02 265

原创 快时钟域与慢时钟域之间的转化

慢到快的DUTmodule slow2quick ( // input input rst_n , // system reset input clka , // clockA input clkb , // clockB input leve

2021-11-18 21:46:48 1765

原创 2.状态机的一段式(one always)、三段式(three always)的练习

联系状态图如图所示真值表stata y1 y2 y3 (格雷码) 00 01 10 11 0 000 000/0 111/1 001/1 011/1 1 001 000/0 001/0 011/0 001/0 2 011 011/0 011/0 010/1 010/1 3 010 010/1 111/1 010/1 111/1 ..

2021-11-14 14:11:20 246

原创 学习笔记1

case语句是组合逻辑,用阻塞赋值语句1、时序逻辑,使用“非阻塞赋值”。2、 锁存器(latch)建模,使用“非阻塞赋值”。3、组合逻辑,使用“阻塞赋值”4、 当在同一个always块里面既为组合逻辑又为时序逻辑时,使用“非阻塞赋值”。5、组合逻辑输出时,为消除毛刺会在输出端加一个触发器,即使用非阻塞赋值6.寄存器输出没有毛刺...

2021-11-13 21:12:59 67

空空如也

空空如也

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

TA关注的人

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