草庐IT

APB协议讲解

APB协议讲解1.APB介绍1.1APB的产生1.2APB的功能1.3APB协议的特点1.4APB协议的英文文档很短,建议看原文2.APB协议的信号列表如下图所示(取自APB4协议)3.APB时序介绍3.1APB2时序图介绍3.1.1下图为APB2的写操作时序图3.1.2下图为APB2的读操作时序图3.2APB3时序图介绍3.2.1写操作,无等待3.2.3写操作,有等待3.2.3读操作,无等待时序图3.2.4读操作,有等待时序图3.2.5写操作PSLVERR时序图3.2.6读操作PSLVERR时序图3.3APB4时序说明3.3.1PSTRB信号3.3.2PRTOT4.对于APB的master和

ubuntu升级NVIDIA驱动,遇到ERROR: An NVIDIA kernel module ‘nvidia-uvm‘ appears to already be loaded in your

报错1:ERROR:AnNVIDIAkernelmodule‘nvidia-uvm’appearstoalreadybeloadedinyourkernel报错2:ERROR:AnNVIDIAkernelmodule‘nvidia’appearstoalreadybeloadedinyourkernel1.查看内核模块lsmod|grepnvidia2.卸载对于的模块rmmodnvidia_uvm遇到rmmod:ERROR:Modulenvidia_uvmisinuse3.查看进程,结束对应的进程lsof/dev/nvidia*#kill-9pidId4.nvidia这个模块一直开着关闭图像化

从零开始,搭建一个简单的UVM验证平台(四)

UVM前置基础:1.UVM基础-factory机制、phase机制2.UVM基础-组件(driver、monitor、agent...)3.UVM基础-TLM通信机制(一)4.UVM基础-TLM通信机制(二)...还在更新从零搭建一个UVM验证平台:从零开始,搭建一个简单的UVM验证平台(一)从零开始,搭建一个简单的UVM验证平台(二)从零开始,搭建一个简单的UVM验证平台(三)从零开始,搭建一个简单的UVM验证平台(四)...还在更新目录referencemodelreferencemodel代码思路详解scoreboardfield_automation机制        在上篇博客里,我

基于vcs+uvm+xilinx ip的仿真平台的半自动化搭建

1.总体概述1.1软件环境系统:ubuntu18.04仿真平台:vcs_2018.09-SP2开发平台:vivado2019.2本文的主要目的是自动化搭建基于vcs+uvm+xilinxip的仿真平台,节省平台搭建的时间与精力。1.2概述拿到一个项目,一般的平台搭建的步骤:去网上找一个makefile脚本(或者使用原项目脚本),修改相应的软件路径,添加rtl与tb顶层,如果工程中包含xilinxip核就比较麻烦,需要添加相应的库文件,这里面最麻烦的就是对xilinxip核的独立编译。有经验的工程师很快可以搞定,对于小白来说就要花一些时间。vivado关联vcs仿真可以导出shell脚本,天然支

使用VCS的ralgen命令产生UVM的寄存器模型的操作步骤

1.根据reg.csv(寄存器的SPEC)文件生成一个reg.ralf文件,这个文件有特定的脚本生成(我目前不会),当然也可以自己手写(如果寄存器比较小) 寄存器的SPECreg.ralf文件 2.".ralf"文件的格式registerUARTDT{//关键字寄存器名bytes4;//指定寄存器的大小(单位是byte)left_to_right;//指定寄存器中的(下面列举的)域(field)怎么排布的fieldnot_defined{//关键字域名bits16;//域的大小(单位是bit)accessro;//域的访问方式reset'h0;//域的复位值}fieldrev{bits4;ac

1、UVM的基本概念

**UVM的基本概念**C/ASIC/FPGA验证验证计划UVM提供的资源典型的UVM平台结构C/ASIC/FPGA验证验证计划UVM提供的资源典型的UVM平台结构

linux VCS+verdi运行UVM实战(第二章)中的例子

目录前言介绍建立工程运行代码查看波形总结前言用VCS+verdi运行了下UVM实战中的例子(第二章)。介绍在某宝上花了几十块,买了个虚拟机(已经安装好VCS+verdi)。直接用UVM实战中,现成的uvm代码跑了下。建立工程UVM实战源码下载地址:UVM实战源码下载书中DUT的功能:通过rxd接收数据,再通过txd发送出去。其中rx_dv是接收的数据有效指示,tx_en是发送的数据有效指示。具体代码如下所示:moduledut(clk,rst_n,rxd,rx_dv,txd,tx_en);inputclk;inputrst_n;input[7:0]rxd;inputrx_dv;output[7

手把手教你跑一个UVM_demo(含源码)(一键复现)

前言笔记内容对应张强所著的《UVM实战》。该书对UVM使用进行了比较详尽的介绍,并在前言中提供了书籍对应源码的下载网址,是一本带有实操性的书籍,对新手比较友好,推荐阅读。学习完第二章后,我们对UVM已经有了一个基本概念,但如何在自己的电脑上跑一个UVMdeme,让知识“活”起来呢?嘿嘿,别急,实操马上开始!1运行前准备1.1系统要求win10(理论上可以安装下方modelsim软件的window平台都可以)modelsim2019.2(本次展示使用的modelsim版本为2019.2,理论上所以支持UVM1.1.的modelsim都可以)1.2modelsim2019.2软件的安装models

1-搭建一个最简单的验证平台UVM,已用Questasim实现波形!

UVM-搭建一个最简单的验证平台,已用Questasim实现波形1,背景知识2,".sv"文件搭建的UVM验证平台,包括代码块分享3,Questasim仿真输出(1)compileall,成功!(2)simulation,仿真波形输出。1,背景知识验证是用于找出DUT的bug,这个过程通常是把DUT放入一个验证平台中来实现的。一个验证平台要实现如下基本功能:(1)验证平台要模拟DUT的各种真实使用情况,这意味着要给DUT施加各种激励,有正常的激励,也有异常的激励;有这种模式的激励,也有那种模式的激励。激励的功能是由driver来实现的。(2)验证平台要能够根据DUT的输出来判断DUT的行为是否

6、IC验证面试88问——UVM启动、接口传递、UVM优势

Q10:UVM从哪里启动?(1)在导入uvm_pkg文件时,会自动创建uvm_root所例化的对象uvm_top,UVM顶层的类会提供run_test()方法充当UVM世界的核心角色,通过uvm_top调用run_test()方法。(2)在环境中输入run_test来启动UVM验证平台,run_test语句会创建一个my_case0的实例,得到正确的test_name。(3)依次执行uvm_test容器中的各个component组件中的phase机制,按照顺序:build-phase(自顶向下构建UVM树)connet_phase(自底向上连接各个组件)end_of_elaboration_p