自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 sdc的常用命令

2024-04-03 14:49:54 74

原创 spyglass中的sdc转变为sgdc

这里的sdc路径是对于prj的路径而言的。执行的结果会在 prj_name/current_design_name/cdc/cdc_current_goal(就是你在执行的目标)/sdc2sgdc目录下。举个例子,在spyglass下创建了uart.sgdc文件,里面写下内容,同时将uart.sdc放在spyglass文件夹里,在spyglass文件夹下创建一个xxx.sgdc的文件,里面写上内容。运行CDC的goal,那么就会实现sdc到sgdc的转换。同时在spyglass中勾选上。

2024-04-03 14:22:15 258

原创 UART中的奇偶校验和粘性奇偶校验(stick parity)

如果数据帧中1的个数为奇数,校验位被设置为0,使得整个数据帧中1的个数仍然为奇数。在粘性奇偶校验模式下,每个数据帧的奇偶校验位都会自动设置为与前一个数据帧的奇偶校验位相同的值。如果数据传输中的某个数据帧的奇偶校验位与前一个数据帧的奇偶校验位不一致,那么就说明数据传输中出现了错误。因此,数据帧2的奇偶校验位也被设置为0。总的来说,粘性奇偶校验位可以确保连续传输的数据帧具有相同的奇偶校验位,从而提高数据传输的可靠性。在粘性奇偶校验模式下,每个数据帧的奇偶校验位自动设置为与前一个数据帧的奇偶校验位相同的值。

2023-10-11 11:03:16 1154 3

原创 c语言的指针,以及指针套指针

指针

2023-07-24 16:11:07 337 1

原创 IC验证工程师工作一周年的体会

(1)这一年自己大部分的时间都和UVM打交道,从最开始的绿皮书到张强的UVM实战这本书,从开始非常疑惑为什么需要寄存器模型,到后来发现寄存器模型简直是神来之笔,当然我还没有体会到前门访问和后门访问的精髓,但是对于寄存器模型有了一定的理解。(3)对于scoreboard的队列的思想要深刻体会,还是数组的使用,我暂时常用的是数组和队列,初看SV重的数组和队列,完全没当回事,后来发现读写过程中数组可以用来产生随机数,而队列可以用来存储数据。服从领导的想法是职场必修课。一.要养成良好的工作习惯。

2023-06-09 15:31:30 1005 2

原创 linux中diff的用法

diff是用于比较两个文件或者其他。

2023-05-18 09:10:50 167

原创 makefile出现报错commands commence before first target. stop

报错:commands commence before first target. stop。一般makefile出现此错误,一定要检查是否有。,特别是末尾的的位置。

2023-05-18 08:59:53 475

原创 UVM实战--带有寄存器的加法器

这里将DUT换成加法器,可以理解为之前UVM加法器加上寄存器,这里总线的功能不做修改,目的看代码的移植那些部分需要修改。

2023-03-02 17:17:37 1142

原创 UVM实战(张强)-- UVM中的寄存器模型

如对于一个16位的寄存器,其中可能只使用了8位,那么这里要填写的是16,而不是8。一个uvm_reg_block中一定要定义一个uvm_reg_map,系统已经有一个声明好的default_map,只需要在build中将其实例化,这个实例化的过程并不是直接调用uvm_reg_map的new函数,而是通过调用uvm_reg_block的create_map来实现,create_map有众多的参数,(1)uvm_reg,uvm_reg_field,uvm_reg_block,uvm_reg_map四者的关系。

2023-02-22 14:24:39 1329

原创 UVM实战--加法器

这里以UVM实战(张强)第二章为基础修改原有的DUT,将DUT修改为加法器,从而修改代码以使得更加深入的了解各个组件的类型和使用。

2023-02-20 19:11:59 1211 3

原创 8位加法器 -- verilog

Verilog实现八位加法器

2023-02-16 16:46:25 2394 3

原创 UVM实战(张强)--- UART实例代码详细注解

(1)DUT:待测平台,这里为uart串口功能(2)sequence:创建一个my_straction的实例m_trans,将其随机化,最终将其送给sequencer(3)sequencer:uvm_sequencer就如同一个管道,从这个管道中产生连续的激励事务,并最终通过TLM端口送至driver一侧(4)driver:该类会从uvm_sequencer中获取事务(transaction),经过转化进而在接口中对DUT进行时序激励(5)monitor:负责把transaction级别的数据转变为

2023-02-02 14:15:56 4172 1

原创 UVM入门和进阶实验0

如何搭建验证框架验证组件之间的连接和通信如何编写测试用例,继而完成复用和覆盖率的收敛懂得如何编译UVM代码。理解SV和UVM之间的关系。了解UVM验证顶层盒子与SV验证顶层盒子之间的联系。掌握启动UVM验证的必要步骤。

2022-12-27 16:06:30 908

原创 芯片漫游指南(5)-- UVM寄存器

对于硬件有了解的读者,都知道寄存器是模块之间互相交谈的窗口一方面可以通过读出寄存器的状态,获取硬件当前的状况,另外一方面也可以通过配置寄存器,使得寄存器工作在一定的模式下。在验证的过程中,寄存器的验证也排在了验证清单的前列,因为只有首先保证寄存器的功能正常,才会使得硬件与硬件之间的交谈是“语义一致”的。如果寄存器配置结果与寄存器配置内容不同,那么硬件无法工作在想要的模式下,同时寄存器也可能无法正确反映硬件的状态。

2022-12-27 11:08:33 1275 1

原创 芯片漫游指南(4) -- UVM序列

在UVM世界,利用其核心特性,在创建了组件和顶层环境,并且完成组件之间的TLM端口连接之后,接下来就可以使得整个环境开始运转了。在经过一番时间,掌握了组件之间的TLM通信方式,开辟了建筑之间的道路,桥梁和河道以后,就可以进入紧张繁忙的物流期了。运转的必要条件是组件之间需要有事务(transaction)传送,这就同管道连接好需要水流一样。如果城市没有交通,那么显然不会有多热闹。sequencesequencerdriver如果按照交通道路的车流来打比方,

2022-12-22 14:41:51 751 1

原创 芯片漫游指南(3)-- UVM通信

在芯片开发流程中,有两个地方对项目的助推起到了关键作用:系统原型芯片验证系统原型一般是通过硬件功能描述文档来模拟硬件行为,而行为要求不同于RTL模型。系统原型可以提供一个准确的硬件比特级别、按照地址断访问、不依赖与时钟周期的模型,该模型通常基于System C语言,而系统原型中各个模块通过TLM可以实现宽松时间范围内的数据包传输。芯片验证是在RTL模型初步建立后,通过验证语言和方法学例如SV/UVM来构建验证平台。

2022-12-12 17:18:39 650 2

原创 芯片漫游指南(2)-- UVM结构

这一章我们将介绍UVM的各个组件,读者可以对照之前SV中的各个组件,来看UVM和SV的组件它们相同的部分和不同的部分。对比的重点可以从各个组件的功能实现以及组件的创建连接入手。为什么UVM需要有sequencer这样的角色存在呢?在SV中,产生机理的组件被称为generator,那么为什么需要sequence和sequencer来共同扮演generator的角色,产生激励并且将激励发送给driver(即stimulator)呢?

2022-12-09 18:54:50 1196

原创 芯片漫游指南(1)-- UVM世界观

UVM的工厂机制,核心基类,phase机制,config机制,消息管理

2022-12-02 18:55:50 884

原创 VC LP的使用方法

(2)VC LP导入库,设计文件,upf文件。(1)VC LP 的运行方法。

2022-11-22 09:09:10 2531 8

原创 upf低功耗的一个简单的例子

upf低功耗,power domain, supply port,power switch ,port state,isloation

2022-11-02 14:28:32 1663

原创 upf+vcs仿真

VCS+UPF仿真

2022-10-31 19:02:24 785

原创 RISC-V指令集

risc-v指令集合

2022-09-27 10:29:30 296

原创 verdi仿真中看波形经常犯的错误

波形杂谈

2022-09-08 17:39:01 1730

原创 Cache的理解

cache的一些基础知识和映射方法

2022-09-06 15:56:08 741 2

原创 如何提高个人的verilog能力

如何提高verilog的能力,细节决定成败

2022-08-29 16:44:10 531

原创 半加器/全加器-verilog

半加器,全加器

2022-08-29 15:02:20 1622 1

原创 串口与协议-推荐阅读

UART,SPI,IIC,APB,AHB,AXI的理论与实战学习

2022-08-25 11:12:28 274

原创 Cache

cache

2022-08-05 15:28:44 938

原创 FPGA实战2-数码管实验verilog

拨码开关控制数码管的显示

2022-08-03 15:54:12 970

原创 FPGA实战1-流水灯实验verilog

流水灯verilog

2022-08-03 10:55:35 938

原创 D触发器-verilog

D触发器

2022-08-02 16:31:11 6799 1

原创 二选一选择器-verilog

二选一选择器

2022-08-02 16:01:47 4929

原创 序列发生器10010-verilog

序列发生器

2022-08-02 14:22:22 429

原创 FPGA入门总结知识点

FPGA基础知识

2022-07-29 19:09:47 809

原创 tinyriscv-开源RISCV项目的学习

tinyrisc-v

2022-07-27 10:59:22 819 1

原创 关于职业的建议

原型验证

2022-07-18 10:13:25 196

原创 路科验证-实验一详细步骤

路科验证实验一

2022-06-29 10:51:07 2714 5

原创 SV(2)-过程块与连接设计

测试平台

2022-06-28 15:41:45 439

原创 SV(4)-随机化

随机化

2022-06-28 14:35:46 292

原创 SV(3)-面向对象编程基础(类和对象)

类和对象

2022-06-27 18:33:57 391

AXI4的详细解释,中文版本

AXI4的详细解释,中文版本,看起来没有那么费劲,但比一般的博客要来的更加的清楚规范。

2022-08-25

空空如也

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

TA关注的人

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