自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (16)
  • 收藏
  • 关注

原创 UVM启动shell脚本:example

文件内容如下:if [-z "需要检测的环境变量"]; then echo "U need to set ..." exit 1else set -x export PROJECT_HOME =“工程目录” rm -rf "每次启动仿真生成的一些临时文件" gcc -m64 -fPIC -shared -Bsymbolic -o C_dpi.s...

2019-03-01 16:06:08 1318

转载 systemverilog $cast

转载自:https://www.verificationguide.com/p/systemverilog-casting.html SystemVerilog Casting casting Dynamic casts can be used to safely cast a super-class pointer (or reference) into a pointer (or...

2019-02-18 17:33:56 1890

原创 gvim 环境设置

配置文件:.gvimrc内容如下:#start----------------------------------------------------------------------------------------------------------source ~/perl_format.rcsource ~/sv_format.rcset title“open mouse”...

2019-01-10 15:45:14 640

转载 C/C++之回调函数

本文转自:http://www.cnblogs.com/chenyuming507950417/archive/2012/01/02/2310114.html#undefined是我所看到的讲C++ callback函数最浅显易懂的,一做记录,也做好文章要分享。今天讨论下C/C++中的回调函数。     在理解“回调函数”之前,首先讨论下函数指针的概念。

2018-01-10 11:33:18 354

原创 高级验证方法学()-Mentor-笔记

1、事物级组件间一般用fifo作为通信通道2、sv中,参数或局部参数优先于宏,这样可以减少编译的次数3、验证方案从设计规范来,验证方案有一个问题清单,列举所有验证过程需要回答的问题,和说明如何被回答的机制的描述。此外还有一个checklist,列举所有需要回答的问题,它也是测试平台的功能规范4、systemC不适合构建低层次验证平台5、激励生成方式:随机、定向、定向

2017-12-13 10:28:59 1258

原创 systemverilog的数据隐藏特性

分为以下几种,涉及关键字分别为:local,protected,constlocal:只允许类本身访问;protected:允许类本身和它的扩展类访问;const:分为两种:全局性、instance性的其中,全局性const:在声明时即赋值,之后不可修改;instace性const:只使用const进行声明,赋值发生在new()中下面举例介绍下几种情况:class

2017-11-22 15:09:49 1834

原创 systemverilog 参数化类及与静态的关系

以两个例子说明参数化的类及声明静态变量时的情况:eg:program param_stack;class stack #(type T = int);  int m_cnt;  static int counter = 2;   function new;    m_cnt = counter++;  endfunction: new  endclass

2017-11-22 10:22:22 4193

原创 “make: `run' is up to date”原因及解决办法

makefile时,目录中存在和target名称相同的同名文件时的报错信息和解决办法

2017-08-17 15:46:12 15226

转载 SystemVerilog Coding Guidelines: Package import versus `include

systemverilog中package和`include的区别

2017-08-02 10:56:46 1944

原创 ASIC仿真验证随笔

一、基础知识1、复位信号和clk信号的搭配:以一个简单同步低有效复位D触发器为例,intial beginclk = 0;rst = 0;#5 rst = 1;enalways #1 clk = ~clk;以上述初始化方式来看,在开始阶段,clk为低,没有上升沿跳变,rst为低有效,所有此时,对D触发器的输出Q端报出不定态问题。改进方法:intial

2017-07-05 11:14:40 613

原创 formality 命令/变量的使用及各种设置

注意记录变量/命令使用过程中产生过歧义或使用不当以及比较重要的

2017-06-12 18:17:45 4995

原创 Formality Error/Debug

1、Formality在match过程中报time limit一下内容均为运行match命令后打印的log:“Reference design is r:/WORK/kanas_top_v2Implementation design isr:/WORK/kanas_top_v2status: Checking designs...

2017-05-25 10:49:30 3115

原创 Formality形式化验证脚本范本

1、验证带DFT网表:首先要disable scan logic和Bist功能2、可以将所有的代码、网表,包括所有的子模块、顶层的全部读入,在read过程中针对top使用set_top,有关环境设置不急于读入,完成后,可以保存该阶段性为*.fss格式文件(下次restore_session该文件即可,库、网表、设计不需要重复读入)。脚本主要过程如下:source ./variable.

2017-05-19 16:59:12 9905

原创 lib2db的方法与问题

1、直接启动dc_shell或dc_shell-t或dc_shell -gui,首先,运行命令:read_lib “lib文件”,若提示“write_lib in dc_shell is not enable,please start new session and do enable_write_db_mode to enable it”,可以退出dc_shell,采用启动lc_shell,重新

2017-05-18 11:11:53 5363

原创 Linux记录

1、操作带空格的文件eg:有一个Synopsys EDA的目录cd Synopsys\ EDA即 Synopsys\空格EDA

2017-05-12 09:42:19 479

原创 design compiler——DC

Library1、technology lib由代工厂提供,不同代工厂、不同工艺制程而不同,涵盖设计规则约束、运行环境设置、线载模型等等。需要以*.db的格式读入dc。(但有时提供的事源代码形式的,可以使用dc将骑转化为db格式)2、target lib:*.dbdc优化过程中,被映射到的tech lib称为target lib。即这部分包含内容是生成网表过程中用到的cel

2017-05-05 19:37:06 5224 2

原创 python学习记录

1、range和xrangeeg1:L = range(1,11)print L打印结果:[1,2,3,4,5,6,7,8.9.10]eg2:XL = xrange(1,11)print XL打印结果:xrange(1,11)说明:range(m,n)会生成一个list,而xrange(m,n)更像是一个变量赋值,不会被展开,但在使用上却跟list一

2017-04-25 15:41:31 312

原创 C++时间延时控制

1、延时#include #include using namespace std;/*普通计数的方式进行延时,采用的是系统时间,并不一定是以秒为单位,eg:long wait = 0;while(wait  wait++;并不能确定具体延时多久。//------------------------------------------------------

2017-04-05 16:35:40 3413 1

原创 C++关于字符、字符串的总结

1、C++将C风格字符串视为地址。eg:char word[10];word = “Today”;word == “MATE”;解释:首先数组名代表的是数组的地址,其次,用引号扩起来的字符串常量表示的也是地址,所以,此次比较中,比较的是他们是否存储在相同的地址上,而不是两个字符串是否相同。应该使用C风格的字符串库中的比较函数strcmp()函数进行字符串的比较。2、关系运算

2017-04-05 16:33:28 415

原创 C++指针、数组、字符串数组、cout几者关系说明

以小程序进行说明这几者之间的关系:#include int main(){char ch_array[10] = “Today”;//最好在声明时即进行初始化int int_array[10] = {1,2,3,4,5,6};//最好在声明时即进行初始化                                                        //int

2017-04-05 16:31:46 778

转载 转载:免费电子书

在StackOverflow上,有人要打算收集个免费电子书的列表,结果很快就有人分享了一个列表。很不错,我就转过来了。原帖的地址在http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books (注意:有些连接可能会被墙掉)List of Free Programming books

2017-01-16 10:44:34 525

转载 linux环境下的c++

就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样。Emacs, vi, eclipse, anjuta,kdevelop等层出不穷。Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户。例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器

2017-01-06 17:17:15 476

原创 makefile调用、编译、执行过程(verilog&cpp)

1、理解makefile是如何工作见makfile中文手册 2.4节内容。2、首先编写各种需赋值的变量3、调用shell下命令方式:eg:UNAME = $(shelluname)       echo$(UNAME)显示:Linux4、条件判断ifeq($(UNAME), Linux)… …endif5、三种赋值运算符:(1)”=”LHS =

2017-01-05 11:03:29 4160

原创 C++中浅拷贝、深拷贝、对象的复制、对象的赋值

一、概念字面理解1、浅拷贝:发生对象复制时,只是对对像张数据成员进行简单的赋值。涉及到动态分配问题,如果按浅拷贝进行复制,不做特殊处理,复制完成后,两个对象中涉及动态分配空间的变量,不管他们各自的空间,及空间中的内容都是完全一样的,当对这两个对象进行析构时,会发生同一片空间被释放两次,因而会出现错误。eg:class Rect  {  public:  Rect

2016-08-03 11:30:52 5226

转载 消息队列(Message Queue)基本概念

转载:http://kb.cnblogs.com/page/537914/背景  之前做日志收集模块时,用到flume。另外也有的方案,集成kafaka来提升系统可扩展性,其中涉及到消息队列当时自己并不清楚为什么要使用消息队列。而在我自己提出的原始日志采集方案中不适用消息队列时,有几个基本问题:1. 日志文件上传过程,有个基本的生产者-消费者问题;2. 另外系统崩溃时,数据丢失

2016-02-17 15:04:58 2045

转载 集电极开路、漏极开路、上拉电阻、下拉电阻等接口相关基本概念

转载:http://www.cnblogs.com/emouse/1.1.1 接口相关电路及概念1. 集电极开路输出在电路中常会遇到漏极开路(Open Drain)和集电极开路(Open Collector)两种情形。漏极开路电路概念中提到的“漏”是指 MOSFET的漏极。同理,集电极开路电路中的“集”就是指三极管的集电极。在数字电路中,分别简称OD门和OC门。典型的集电极

2016-02-17 10:29:13 890

原创 SystemVerilog中有关class类的基础知识

1、class中的变量、宏定义等称为类的属性,函数和任务称为类的方法2、声明对象时可以指定input/output/inout/ref3、复制对象,复制的是句柄而不是对象的内容。类的每个对象,对于属性、方法等都有自己的副本4、class c;...endclassc c0; //“c0”就是对象c0的句柄,在此处仅相当于一个name,类似于仅是创建了一个c类型的变量c0

2015-09-16 17:16:29 21029 1

原创 vi/vim 注释字体颜色的设置

在vi中被注释掉的字体颜色默认为蓝色,无法看清,通过设置用户根目录下.vimrc文件,可以更改颜色的配置。通过hi命令来修改注释的颜色,使用方法:设置关键字为蓝色非粗体 :hi Identifier ctermfg =blue cterm=none (bold 就设置成粗体) 1、vi ~/.vimrc 加入如下内容:hi Comment ctermfg =blue

2015-08-28 13:53:14 11040

原创 systemverilog中阻塞和非阻塞事件以及同步

一、SV中非阻塞事件module test;event ev1, ev2;//belong to logic function partalways@(ev1) $display("ev1 triggered at %0ts", $time);initial wait(ev2.triggered)$display("ev2 triggered at %0ts

2015-08-14 10:07:19 3874

原创 systemverilog中$value$plusargs的用法

package pa;......endpackageprogram pr;import pa::*;......;initial begin......;void'($value$plusargs("s1 = %s", s));$display("s1 is %s=n", s);#1000;$exit();endendprogram

2015-08-14 09:46:23 5588

转载 Chapter 11 – Running the simulation

To run thesimulation, we simply execute the provided Makefile in the GitHub repository:$ make -f Makefile.vcsThe testbenchwill generate random inputs and then those inputs will be sent to the

2015-08-14 09:42:43 860

转载 Chapter 10 – Test

At last, we needto create one more block: the test. This block will derive from the uvm_test classand it will have two purposes:Create the env blockConnect the sequencer to the sequenceYou m

2015-08-14 09:40:54 480

转载 Chapter 8 – Scoreboard

The scoreboardis a crucial element in a self-checking environment, it verifies the properoperation of a design at a functional level. This component is the mostdifficult one to write, it varies from p

2015-08-14 09:37:09 745

转载 Chapter 7 – Agent

We have bothmonitors, the sequencer and the driver, so the next step is to connect them up.This is a job for the agent.An agent doesn’trequire a run phase, there is no simulation code to be executed

2015-08-14 09:22:27 614

转载 Chapter 6 – Monitor

The monitor is aself-contained model that observes the communication of the DUT with thetestbench. At most, it should observe the outputs of the design and, in case ofnot respecting the protocol’s rul

2015-08-04 16:22:15 762

原创 求解决!!!SystemVerilog在ModelSim中的编译与运行

是在学习SV过程中,运行书上的例子,碰到的问题。功能:函数返回数组。Code1:/*书上提供的例子,存在错误,不可运行function void init(ref int f[5], int start);//主要是函数定义时没有声明automatic属性foreach(f)f = i + start;endfunctioninitial begin

2015-06-12 10:45:28 5898 1

转载 Chapter 5 – Driver

The driver is a block whose role is tointeract with the DUT. The driver pulls transactions from the sequencer andsends them repetitively to the signal-levelinterface. This interaction will be observ

2015-05-15 10:39:01 645

转载 Chapter 4 – Sequences and sequencers

The first step in verifying a RTL design is defining what kind of data should be sent to the DUT. While the driver deals with signal activities at the bit level, it doesn’t make sense to keep this l

2015-05-15 10:26:48 637

转载 Chapter 3 – Top Block

In a normalproject, the development of the DUT is done separately from the development ofthe testbench, so there are two components that connects both of them:The top block of the testbenchA v

2015-04-13 11:01:00 892

转载 Chapter 2 – Defining the verification environment

Beforeunderstanding UVM, we need to understand verification.Right now, wehave a DUT and we will have to interact with it in order to test itsfunctionality, so we need to stimulate it. To achieve thi

2015-04-03 15:25:33 1077

2017年版一建教材《民航机场工程管理与实务》1.pdf

2017年版一建教材《民航机场工程管理与实务》1.pdf,2017年版一建教材《民航机场工程管理与实务》1.pdf

2017-11-10

2017年一建《水利水电工程管理与实务》教材电子版.pdf

2017年一建《水利水电工程管理与实务》教材电子版.pdf ,2017年一建《水利水电工程管理与实务》教材电子版.pdf

2017-11-10

2017年一建《机电工程管理与实务》教材电子版.pdf

2017年一建《机电工程管理与实务》教材电子版.pdf ,2017年一建《机电工程管理与实务》教材电子版.pdf

2017-11-10

2017年一建《建筑工程管理与实务》教材电子版.pdf

2017年一建《建筑工程管理与实务》教材电子版.pdf,2017年一建《建筑工程管理与实务》教材电子版.pdf

2017-11-10

2017年一建《市政公用工程管理与实务》教材电子版.pdf

2017年一建《市政公用工程管理与实务》教材电子版.pdf

2017-11-10

2017年一建《建设工程项目管理》教材电子版.pdf

2017年一建《建设工程项目管理》教材电子版.pdf,2017年一建《建设工程项目管理》教材电子版.pdf

2017-11-10

2017年一建《公路工程管理与实务》教材电子版.pdf

2017年一建《公路工程管理与实务》教材电子版.pdf ,还算新吧 还有其他的后续会陆续上传

2017-11-10

Python正则表达式指南.pdf

python正则表达式的的介绍,包括正则格式、使用等相关的。

2017-11-10

PCI_Express_Base_Specification_Revision_4.0

PCI_Express_Base_Specification_Revision_4.0,第三版

2017-11-10

UVM_1.1_Class_Reference_Final

这个文档是超级有用的噻。列出部分的目录 Overview 1.1 Scope 1.2 Purpose 2. Normative References 3. Definitions, Acronyms, and Abbreviations 3.1 Definitions 3.2 Acronyms and Abbreviations 4. Classes and Utilities 5. Base Classes 5.1 uvm_void 5.2 uvm_object 5.3 uvm_transaction 5.4 uvm_root 5.5 uvm_port_base 6. Reporting Classes 6.1 uvm_report_object 6.2 uvm_report_handler 6.3 uvm_report_server 6.4 uvm_report_catcher 7. Factory Classes 7.1 uvm_*_registry 7.2 uvm_factory 8. Phasing Classes 8.1 uvm_phase 8.2 uvm_domain 8.3 uvm_bottomup_phase 8.4 uvm_task_phase 8.5 uvm_topdown_phase 8.6 UVM Common Phases UVM 1.1 Class Reference Front-4 8.7 UVM Run-Time Phases 8.8 User-Defined Phases 9. Configuration and Resource Classes 9.1 uvm_resource 9.2 uvm_resource_db 9.3 uvm_config_db 10. Synchronization Classes . 10.1 uvm_event 10.2 uvm_event_callback 10.3 uvm_barrier 10.4 uvm_objection 10.5 uvm_heartbeat

2015-09-16

uvm-cookbook-sequences-guide-verification-academy

这个文档用处还是还蛮大的,也是从verification academy上拽下来的。

2015-09-16

coverage-cookbook-complete-verification-academy

ASIC验证中覆盖率统计方面的,是从verification-academy官网上拽下来的

2015-09-16

C++ 作用域规则

阐述了C++中:全局变量、局部变量、寄存器变量、静态变量、外部变量、const常量、volatile变量的作用域

2014-12-18

Encounter做ECO的方法_脚本方法

使用Encounter做ECO的脚本环境介绍,讲的还算可以的。

2014-11-13

空空如也

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

TA关注的人

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