自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IC小白_calvin

纯技术博客,欢迎讨论及对文章中错误的指正(eetop backup:http://www.eetop.cn/blog/?calvin)

  • 博客(13)
  • 收藏
  • 关注

原创 UVM TLM详解

TLM中的三种端口PORTuvm_*_port #(T)  *可以由下面任意一个代替:blocking_putnonblocking_put putblocking_getnonblocking_get getblocking_peeknonblocking_peekpeek blocking_get_peeknonblocking_get_peekget_peek   

2016-09-08 11:24:39 14877

原创 makefile从shell中获取要跑的testcase

1. 所有的testcase name记录到变量: tc := $(patsubst $(TC_DIR)/cfg/%.cfg,  %, $(wildcard $(TC_DIR)/cfg/*.cfg))2.以变量tc作为目标:$(tc):     ./simv  ...      -f  $(TC_DIR)/cfg/$@.cfg3.每个testcase一个cfg file, 如t

2016-08-17 11:40:46 1082

原创 env中调用python或perl

Case:在对SDCTRL进行验证中,由于SDCTRL可以支援到所有DDR2/DDR3的种类颗粒,而每一个颗粒都会提供一份catalog,其中包含了所有AC timing的配置。而SDCTRL也必须对控制寄存器进行合理的配置才能正常的工作。这就出现了一个问题:我必须先拿到ddr catalog的内容,才能随机SDCTRL的 cfg。而catalog并不是一个class,而是格式大致一样的文

2016-07-29 16:20:40 1129

翻译 A summary of Change in systemverilog 2012

ref:http://www.sutherland-hdl.com/papers/2012-DAC_What-is-new-in-SystemVerilog-2012.pdf(只提取一些目前自己感觉比较实用的地方)1.构造函数new从前想要用一个父类handle指向一个子类的object,需要三步现在通过 typed new()可以直接完成:base_trans

2016-07-18 13:31:45 1137

原创 DDR2 DDR3 constraint & ac check note of SDCTRL Verification

说明:有一些constraint根项目相关,且不包含initial时的MRS设定绝大部分的AC timing参数都通过script从catalog中提取出来,然后反过来constraint其它的变量,从catalog提取的参数有:sd_banksra_addrca_addrtcktccd_cnttrtp_cnttwtr_lentmod_l

2016-07-14 14:14:24 1960 1

原创 JEDEC DDR2和DDR3 SPECIFICATION区别(持续更新)

DDR2/3地址换算page size = 2^colbits*ORG/8以1Gb容量为例,ba*ra*ca = 1Gb/ORG( ba: bank数, ra: 行数, ca: 列数,ORG:DQ位宽)ba,ra,ca以及ORG不是随便任何值都可以,而是由section2.4 DDR addressing提供的address mapping决定区别:DDR3都是8bank

2016-07-13 16:30:12 4680

原创 SYNOPSYS DDR VIP use note

Based on version-2016.03/2016.06(DDR2 looks like not stable & flexiable.。 2016.03 DDR2 VIP发现了很多bug,特别是一些AC timing和protocol的ERROR误报,所以项目进行到一半还好出了2016.06版)1.vip路径问题       每一次generate vip,新产生的DDR_V

2016-07-13 13:25:07 3233

原创 SYNOPSYS AXI VIP using note

ref:https://solvnet.synopsys.com/dow_retrieve/latest/snps_vip_lib/doc/axi_svt_uvm_class_reference/html/index.html1. testbench buildup   关于bench可以选择两种方式,比如只需要master agent:(下面的所有example都会以我的DUT是

2016-07-13 13:20:29 9810 2

原创 AXI4与AXI3的区别

1.burst lengthAXI4对burst length进行了扩展:AXI3最大burst length是16 beats,而AXI4支持最大到256 beats,但是仅支持INCR burst type超过16 beats,exclusive access也不能超过16beats;。但是根据经验来讲各家公司好像也没太遵循这个规则,很多AXI3的IP awlen/arlen的位宽是多

2016-07-12 17:29:13 18400

原创 ahb slave input hready_in的作用

由于ahb的addr phase和data phase是可以overlap的,当发生back-to-back操作的时候,会出现当前cycle是上一个slave的data phase,也是下一个slave的addr phase。在这时如果S1的heady_out拉低,说此时我最后一个data还没准备好(read access)或还没有准备收(write access); 而此时S2已经看到访问自

2016-07-12 17:22:47 7633

原创 timescale的理解

timescale使用, timescale优先极

2016-07-12 14:53:02 12680 1

原创 rand_mode使用注意

Case:有一个DUT cfg , 可以在simulation过程中动态配置,并有一定的constraint;但是在某一种模式下存在limitation导致该变量必须保持不变而其它变量还是可以random,由于testplan是没有预期到这个limitaion,所以并没有做特殊处理。所以想到直接把该变量rand_mode设为0;结果发现在simulation的时候报错,指示其default值不

2016-07-12 14:30:07 3231

原创 mem management

Case对于multi&parrallel rd/wr interface共享一片address allocation的DUT,从interface上可能没办法确认data是否已经真正写入到memeory了。这样容易造成在多套intf访问同一个address且有读有写的情况下,testbench很难知道谁先谁后,增加验证的难度Solution使用UVM自带mem m

2016-07-12 14:03:43 1228

空空如也

空空如也

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

TA关注的人

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