自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 项目沟通推进过程的一些思考

公司太大,职位和岗位细化很多,项目分工更细,导致在项目推进的过程中,需要沟通的上下游和团队内部成员只有固定的几个,在版本火车推进中,逐渐熟络。缺少时间打磨,缺少团队方案设计分析讨论,在方向和细节两头都会有反复风险,某种程度上,这种风险很高,有点像钢丝绳上跳舞,在确保精美的同时也要保证安全着陆。将自己学习的理论知识,运用在公司的实践中,经历犯错,经历挫折,和理论相结合,相互印证。推进项目过程中的折腾,跨部门的协调沟通,推进效率和反复推拉,都会消磨斗志,也会让人逐渐平庸,有时,更会迷失最初的方向和初心。

2025-06-12 22:05:39 189

原创 system verilog + uvm在并行仿真上的小思考

第一步将执行控制语句加入到fork join_any的并行块中。引用和处理为同一个内存地址时,在多个forever语句内部的数据才是一致的,能够保证数据的及时和准确处理。2、在并行执行过程中,如果控制语句的执行是有时间的,需要将控制语句和其他语句放在并行执行的控制块中,保证控制指令一经下发,能够及时接收到数据,及时响应处理;1、在设计与forever有关的task时,采用ref方式生命参数变量可以有效的保证数据的一致性;今天在进行并行设计时,出现了在并行执行的前端,数据无法接收,后半段的数据可以正常接收。

2025-06-12 21:34:49 171

原创 搭建自己的通用仿真平台

搭建一个新的uvm平台–有参考。

2025-05-27 21:32:50 317

原创 pcie协议中关于pcie能力寄存器部分的内容简述

在进行电源管理设计和验证时,要关注对应slot配置相关寄存器内容,在进行物理层建链时,要关注link配置相关寄存器,确认速率和lane数量与设计值保持一致。同时,在进行TLP的测试时,要关注最大payload值和RCB值,这些会影响两端设备的通信速率,并影响大数据量下的具体拆分TLP报文包数量。0x0 : 描述了pcie的能力寄存器ID和下一个能力的寄存器位置,同时高16bit指示了pcie的能力寄存器信息。0x8/0x28则描述了设备的配置寄存器使能和配置值,+设备的状态。第二部分:设备能力寄存器。

2025-04-17 23:34:39 671

原创 pcie协议中的RCB(read completion boundary)使用复盘

调用PCIE VIP时,配置了所有的可能参数,但是仍没有找到配置参数去实现这个目的。在配置参数中将max_read_cpld_bytes和min_read_cpld_bytes都配置成4 bytes时,TLP报文仍不能拆成1 DW形式。后面将RCB的配置值修改为4 bytes,去将TLP的payload强制按照4 bytes payload截断。提示配置值只能是0,64,128bytes。配置成4 bytes,配置是不生效的。这个值可能的参数在pcie的配置空间中有章节描述。

2025-04-16 22:41:26 285

原创 pcie协议中的malform tlp

如:在配置tlp报文的字节使能时,如果first_dw_be或者last_dw_be配置与length的关系不对应就会产生这种异常。主要是接收端依赖上面的信息去解析数据,如果字节使能的信息配置不准确,接收端会解析出异常的数据,就会导致数据出错。还有就是在traffic class分配到没有使能的virtual channel时,也会上报这样的异常。这是因为,主机、ep、switch在进行tlp报文过滤时,会将tlp过滤异常。所以出现这种场景时,会上报tlp报文异常,及malformed tlp。

2025-04-13 22:44:06 257

原创 sequence的嵌套使用--seq声明有效性问题

2需要嵌套使用seq1,调用seq1中的task方法进行问题分析和原因诊断,且此task会调用seq中基础的寄存器调用方法。因此,建议在seq中进行嵌套使用时,特别是实体sequence调用时,采用uvm_create方式进行工厂化调用。使用new和不带上下文新的的create时,会出现调用的对象不存在而报错,导致仿真不会继续进行。使用带this的上下文进行create调用时,会出现调用对象与seq2的对象不一致,即seq使用的上下文信息不一致,导致仿真编译出错。

2025-03-31 22:55:38 143

原创 pcie协议中的流控处理--流控基础概念

具体分的是6个管理流控的信用处理。报告事务头 PH、报告事务数据 PD、非报告事务头NPH、非报告事务数据NPD、完成事务头CPLH、完成事务数据CPLD。纳入流控处理的有6个部分,报文的头和报文的数据是分开纳入流控制管理。流控管理分为3类,报告事务、非报告事务、完成事务。尤其要说明一点:不带数据的完成CPL只需要CPLH的信用就可以。完成事务的类型涉及带数据的完成CPLD、不带数据的完成CPL。TLP包的请求头:20个字节/信用,算下来就是20。TLP包的完成头:16个字节/信用,算下来就是16。

2025-03-23 22:51:05 192

原创 PCIE整体框架理解

爱分享的诗人。

2025-03-16 22:51:39 320

原创 话说python之迷人的初识

同时又是一门对代码缩进要求严格的语言,官方采用四个空格缩进约束程序块。缩进不一致意味着代码语法错误。python是一门面向对象的语言,一切变量即为对象。

2023-11-07 08:20:58 70

原创 Xilinx通用FFT的IP核配置(二)

上期说道IP核配置中比较重要的一部分:缩放因子配置,这一期来聊一聊其他的配置参数。用好这个FFT 的IP核,还需要控制好FFT启动信号与输入数据量的大小。关于启动信号–Start,推荐配置的时钟数为FFT处理点数对应的时钟数,例如,处理256点FFT时,Start的时钟长度为256个时钟。同时,根据官方文档,我们可以知道,Start信号要早于输入数据四个时钟,推荐start信号有效之后,等四个时钟后,有效的输入的数据就可以为待处理的数据了。同时,对于ovflo这个信号,我们也需要关注一番,当这个信号一直

2021-04-21 22:49:07 660

原创 Xilinx通用FFT配置说明(一)

根据官方的IP核文档可知,为了设置好Scal_SCH,我们需要做到以下几个步骤:第一步:确定好进行FFT处理的点数,例如256点FFT处理第二步:确定Scale_SCH的位宽,这里需要分解为两步,首先确定NFFT,就是2的NFFT幂次方(2^NFFT)=256,这里为8;其次,确定位宽,分为基2与其他,前者位宽=2NFFT;后者位宽=2ceil(NFFT/2),(ceil为上取整函数);例如,256点FFT位宽为8;第三步:一般来说,缩放倍数为FFT处理点数的倒数,例如256点FFT,缩放因子为256

2021-04-21 22:39:00 1417

原创 2021-04-16

让代码更有意思一些(一)编写代码是每个与程序打交道工程师的必修课,如何编写高质量美观的代码,就成为了一个必须要解决的问题。初始阶段,我们可以确定单一功能块的主要作用,确定输入输出端口的数量基本作用,觉得能够实现功能时,便着手编写代码,按照想到哪里写哪里的思路进行编写和调试,中间总会经历很多次的修补,还会出现修改输入输出端口的情况,以保证功能块的准确性。在这个阶段中,我们也会想的很多,想要自己的代码变得清晰明了,想让自己编写的程序代码更有结构一些,调试和重复设计的过程少一些。这个是正常思维,也是正常思路

2021-04-16 06:07:52 98

原创 2020-10-20

生活就是这样,一路前行,经历林林总总的事情,遇见形形色色的陌生人,最后,寻得归宿,寻得生活。

2020-10-20 07:07:36 90

调频连续波雷达信号仿真

调频连续波雷达信号仿真,以及信号处理过程仿真,以三角波调制为例,代码编写规范,代码注释优秀。适合初学者以及急需FMCW信号仿真的用户。

2018-03-17

空空如也

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

TA关注的人

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