自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 问答 (1)
  • 收藏
  • 关注

原创 UVM SCB学习001

DUT 是一个寄存器为AXI 接口的UART 模块,模式是DTE(数据终端设备),验证环境挂了个AXI master vip, 又挂了个 DCE(数据通讯设备) 模式的UART VIP, 可以举这样一个例子,DCE 向 DTE发送数据,AXI maste 读 DTE DATA 寄存器来取得数据,这部分scb 可以这样设计,在SCB里实现 write_initiated() 函数,取得AXI master 的TR,同时实现 write_response()函数,取得DCE 的 TR,

2023-05-06 14:15:45 211

原创 SVA学习

【代码】SVA学习。

2023-05-04 10:36:35 94

原创 lowpower仿真学习

start point 在 tb_top.dut.u0_digital_top.u0_common_sys.u_pmu.u_slp_msm.u_periph_slp_ctrl.pd_rst_ctrl_reg (24m clk )endpoint 是 tb_top.dut.u0_digital_top.u0_periph_sys.u0_i2s_wrap.u_i2s_m.U_I2S_regmap.rx_dma_ps_reg_1_0_, 他的CLK 是。那问题就是,下电后,CLK 没有关闭,看了波形,

2023-04-28 11:13:09 210

原创 eMMC GLS TUNING

但是,我尝试了设置所有可能的值,0-3,都不能解决问题,而且,根据个人的分析,需要设置成5 才可能工作,但是这个寄存器域只有2 bits, 就不可能设置成5,我将这个问题反馈给了 SNPS, 然后在等待他们的答复…在50项目环境下,这个命令可以将 vpd 格式转成 fsdb 格式,然后就可以用 verdi 打开了。因 idlx_dc[6:0]的变化,导致odlx_out 上有几十ps 的glitch,唉, 这不是根本原因,太菜了,听听专业的江哥的解释吧,经过和SNPS沟通,他们给出了这样的答复,

2023-04-18 15:40:09 121

原创 SDIO CMD

写的地址是2, 写的数是1,对应如下寄存器,是CIA的CCCR域;

2023-04-18 15:02:14 378

原创 唉outstanding

如果URID=1,那么axi master 在发读操作时,比如发了arid=0的读,那么接下来又发arid=1的读,此时,axi master会将RREADY拉低,等到arid=0的读操作完成后,再处理arid=1的读操作,这是个隐蔽的知识点,非常细节,out-of-order 是以 id 来划分,发出读 命令是 arid=1, arid=1的顺序,读 DATA 返回的顺序是 rid=1(所有数据), -> rid=0(所有数据),这样是 out-of-order,关于这个概念,总是温故知新的感受。

2023-04-18 14:44:45 176

原创 SD GLS-SD TUNING 之一

SD TUNING GLS failed due to timing violaiton,I found it’s due to in tuning process,Once dl2_dc[6:0] is update,The dl2_out/cclk_rx had some very small pulse=50ps show in figure below:但是很奇怪,这个现象在EMMC TUNING并没有发生。继续TRACE, 发现 glitch 发生在1 SW TUNING 过程中,2

2022-07-04 14:07:33 226

原创 emmc gls

一直担心的时刻到来了,GLS 滚滚车轮终究到来了。tcheck xxx all -msg -disable -xgen -disable不要忘记上面的黑体字担心2点:小富果然是个认真的孩子,要向他学习,我要来看看glitch吧,在EMMC_DAT4/7上有glitch产生,根据设计的说法,这个glitch 会被PAD $WIDTH 约束过滤掉。实在是我们的PHY没有SDF,看不到过滤掉这一现象。......

2022-06-27 15:43:33 410 1

原创 makefile心得

Makefile 有点搞不定,不会控制 regression 的CASE LIST百度了一下,下面是一个例子:##################define TestFun$(1): gcc -o test $(2)endef$(call TestFun,test.o,test.c)##################我的理解,展开后就是:test.o: gcc -o test test.c看懂了之后, 就基本理解了Makefile里的操作了。以下在队列 list1 里随机选择一个数,SE

2022-06-23 18:36:16 205

原创 emmc card identify

在 emmc boot 仿真中,出现了这样的信息:说的是EMMC_SENDING_DATA_STATE , card clk 频率是400k, 不是 1m-26mhz,看了下波形,此时是 host 发 CMD8, CARD send its EXT_CSD register.从 EMMC协议里看到,也就是说,CARD IDENTITY的过程包含,CMD1->CMD2-CMD3,那么,CMD8 其实是不需要在 400KHZ频率下进行的。如果有机会,可以在下个项目改进,以缩短BOOT 时间

2022-06-06 21:57:13 251

原创 programing emmc布特及波形分析

首先,如何切换delay line,如下图所示,是需要关CARD CLK;第二,如何发CMD1, 带什么样的argument, argument需要区分1.8v 和3.3v 吗?50的CODE是做了区分的,但协议中有说区分电压是Not valid,如下,存疑;...

2022-05-13 09:55:40 754

原创 emmc验证环境+partcomp+小汤哥

EMMC有2套验证环境,Core tool GEN 出来的,缺点是针对 sd, sdio, 没有ddr mode case,优点是有tuning case,emmc svt, 优点是有ddr mode,(我没有用过),缺点是没有tuning case

2022-04-21 21:20:28 1126 1

原创 emmc和SPI共舞

接到一个活,SPI用 emmc phy,EMMC 用PHY0, SPI 用PHY1, 并行工作,遇到的问题是, 给SPI VIP写了数,读的时候,读到的都是0xffff,这是往 VIP 里写数的波形,读数的波形:

2022-04-07 13:41:01 870 1

原创 神奇的uvm_config_db

40 BOOT仿真发现一件神奇的事情,如下图,红色部分竟然是空的,而常见的不是长下面这样吗?

2022-03-31 15:28:26 94

原创 再见xprop

如何确认xprop工作如何确认xprop工作?simv -report=xprop如何setup xprop环境二、仿真选项如果不定义-xprop,则vcs 为vmerge mode,为典型的verilog behavior。-xprop=tmerge,则vcs为tmerge mode,更接近实际的电路行为,也是使用比较多的。如果定义-xprop,则default 为tmerge mode。此模式下x态会传播一段路径后终结。-xprop=xmerge,则vcs为xmerge mode,更悲.

2022-03-25 22:48:23 759

原创 如何保证正确的时序-规避delay line 输出端的glitch造成错误的结果

仿真中发现,SOC仿真中,1 DL2(delay line) 输出端 odl2_out 有25ps glitch;2 原因是 idl2_bypassen 从1 变03 cresetn_rx 在有glitch 的时候 release;PHY1 DL2 作用是RX CLK,所以,这里的时序有问题,应该在idl2_bypassen 切换完,等一段时间,再release creset_rx, 这样 RX CLK 作用的逻辑就不会被 glitch 影响。如IP 波形所示,.

2022-03-22 22:41:04 224

原创 git的奇怪问题1

需要切到新的release,我切完后看到的是这样的,而正确切完后是下面这样,跟踪的是远程branch, 而不是上面那样,上面那样是不知为何本地建了branch,解决的命令是:cd $PROJ_DIR/…/firewall/git checkout mastergit branch -D dv_branch_220312 --删除本地分支git fetch --allgit checkout dv_branch_220312git status...

2022-03-17 17:50:01 73

原创 VCS仿真选项

-force_list验证环境中构造用例时可能会通过force内部的信号,达到测试的目的.为了方便后续环境检视,可以通过设置编译选项和运行选项的方式,获取force的信号.1.-force_list编译选项中添加-force_list.vcs <debug_option> filename.v -force_list <other_vcs_options>用PLI force,debug_option选择-debug;language force选择-debug_pp2.

2022-03-17 16:56:57 1869

原创 uvm reg model 在IP环境与SOC环境的不同

在emmc IP TB中,使用了uvm register model做寄存器读写,DUT中使用AHB slave接口配置register, 通过如下方式实现 adapter 与 rgm.map及sqr的关联,在SOC环境,uvm register model的驱动不是IP环境中的AHB master VIP,而被替换成了cpu_bfm,在SOC环境,挖空CPU,实现一套soc_app_env_ral_env, env 里例化了agent 和 adaptor ,主要是为了结合 IP环境的UVM RE

2022-02-22 18:48:07 1272

原创 emmc tuning case data crc error-2

研究了下IP级的仿真环境,及tuning的原理,对于以下情况以上理论成立的前提是,tuning的data pattern 是固定的,周期性重复的

2022-02-05 17:05:59 616

原创 emmc tuning case data crc error

test_cust_tuning;had data crc error while not execute tuning,log is :mshc_host_driver [:interrupt_handler .unnamedKaTeX parse error: Expected group after '_' at position 1: _̲__] DUT generat…___] DUT generated spurious DATA_CRC_ERR intrmshc_host_driver

2022-01-28 19:50:09 1327

原创 AXI cross 4k bytes boundary

最近遇到了评估 模块 AXI 访问cross 4k bytes boundary 的问题。百度了一下,这一问题的提出,是担心4k bytes boundary 是2个不同的SLAVE, 导致后一个slave拿不到访问的control phase 的信息。然后看了IP 文档,文档中有提到 AXI 在遇到cross 4k bytes boundary 时会 split AXI transfer....

2022-01-20 09:37:29 604

原创 emmc tuning test-sw tuning

speed_mode=HS200; sw_tuning_sequence();从波形可以看出来tuning 的过程during this period, there is no clk output of PHY.

2022-01-14 18:03:18 595 2

空空如也

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

TA关注的人

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