- 博客(173)
- 收藏
- 关注
原创 PCIE相关概念
1.FFE、CTLE、DFEFFE(Feed-forward Equalizer,前馈均衡器),CTLE (Continuous Time Linear Equalizer,连续时间线性均衡器)和DFE (Decision Feedback Equalizer,判决反馈均衡器)
2020-10-17 17:23:30 5319
原创 centos配置
1.安装gita.安装git:yum install gitb.查看版本信息:yum info gitc.安装依赖库:yum install curl-devel expat-devel gettext-devel openssl-devel zlib-develyum install gcc-c++ perl-ExtUtils-MakeMakerd.查看版本信息:git --version移除git:yum remove git...
2020-07-11 11:16:17 695
原创 github常用命令汇总
1.git init 表示在当前的项目目录中生成本地的git管理2.git add README.md 将“README.md”文件保存至缓存区3.git commit -m "xxxxx" 将代码从缓存区保存至本地仓库4.git remote add origin https://github.com/xxx.git将本地仓库与指定的远程仓库创建联系5.push -u origin master 将本地仓库代码推送至远程仓库...
2020-07-10 15:40:35 1199
原创 UVM时间打印格式--timeformat
在UVM验证环境中通过添加打印信息来辅助定位问题,默认情况下,打印出来的时间信息是以fs、精度是0位的格式打印的.而目前的仿真环境大多以ns的仿真级别,为了方便我们定位问题,可以通过timeformat来修改打印的格式。timeformat的用法如下:第一个参数设置时间单位:unit_number;第二个参数设置进度单位,即时间小数点后面几位有效;第三个参数为打印时间的填充如ns、us等;第4个...
2019-12-30 16:56:32 4339 2
原创 uvm_action说明
在UVM中定义了uvm_action_type的枚举类型,用于uvm_report.在使用时,通过按位或实现多种行为的组合.UVM_COUNT:根据count的属性统计reports的个数,当达到max_quit_count后仿真结束.UVM_CALL_HOOK:调用hook methods.UVM_STOP:执行$stop,使得仿真进入交互模式.UVM_DISPLAY:发送report到标准输出.UVM_LOG:发送report到指定的log内.UVM_NO_ACTION:不会有任何行为....
2022-08-15 15:34:19 660 1
原创 uvm_tlm_transport_channel用法总结
uvm_tlm_transport_channel是一个uvm_tlm_req_rsp_channel,它例化了一个transportinterface.它适合用于非流水模式的数据传输.因为request和response是one-by-one紧耦合在一起的,request和responsefifo的深度都设置为1.
2022-08-01 17:26:49 382
原创 sformatf用法
在uvm验证环境中我们可以用$psprintf来做格式化的信息打印,但是,有时候我们想将格式化打印的数据作为一个返回值,此时可以通过$sformatf来实现,其用法与$psprintf差别不大.pkt_num = $formatf("%0d",data_num);...
2021-12-22 09:24:07 1624
原创 IP/UDP分片
发送UDP报文时,当发送的payload超过MTU时需要对报文做切片.UDP的切片是通过IP报文来实现的,对端在接收到之后根据ip报文中的identification、flags、offset实现报文的重组.重组过程中如果有一个分片丢失,那么整个报文都会丢弃.这是因为IP自身没有差错纠正机制.像超时和重传机制是更高层的责任.TCP有超时重传,UDP没有....
2021-12-12 15:47:32 2187
原创 gvim元字符
gvim支持正则表达式去匹配相关的内容,完成相应的替换.但是正则表达式中元字符与一般的正则表达式又有一定的区别.1.匹配一个或者0个一般的正则表达式用?,而gvim中需要使用**\?**.
2021-12-05 19:14:29 214
原创 uvm_tlm_req_rsp_channel
1.搭建验证环境时,可能会遇到需要交互的场景,如发送一个请求,根据请求的内容返回一个rsp,此时可以通过uvm_tlm_req_rsp_channel来实现.在内部包含了一个requeste fifo和一个response fifo.每个fifo的大小是任意的,它主要用于处理requeste和response不是紧密耦合的场景....
2021-11-15 09:02:06 676
原创 UVM_PRINTER
1.uvm自带了打印类UVM_RPINTER,它是一个virtual class,必须继承之后才可以使用.子类包含了uvm_default_tree_printer、uvm_default_line_printer、uvm_default_table_printer.在uvm_object_globals中定义了uvm_default_printer变量,它的值是uvm_default_table_printer....
2021-11-11 12:23:59 1199
原创 验证环境总结
1.tb.f在搭建验证环境时,需要定义相应的宏,宏定义可以在makefile中添加,也可以将宏定义放到tb.f当中(+define+CBB_SIM_EN);也可以添加timescale(-timescale=1ns/1ps)
2021-11-08 21:42:30 266
原创 VCS partition compile
此文章仅用于记录下使用的partition compile相关的命令,相应的资料待查找.1.编译命令在makefile中需要添加-partcomp cfg.v选项.其中cfg.v文件指定了需要分离编译的module和package.
2021-11-06 16:28:05 1155
原创 UVM寄存器模型
1.create_map在uvm_reg_block中包含了create_map函数,用于创建一个address map.创建的时候会指定一个名字;base_addr是此map的基地址,所有的寄存器、memories 和sub_block都受到此基地址控制;n_bytes指当前map使用的数据宽度;endian设置大小端;byte_addresssing(??)...
2021-11-04 10:30:29 1243
原创 UVM_COMPARE
1.搭建验证环境时,通常需要将DUT输出数据与参考数据做比较,UVM自带相应的比较函数.自带比较函数原型是:extern function bit compare(uvm_object rhs,uvm_comparer comparer=null);
2021-10-20 10:43:07 2624
原创 TCP/IP协议整理
1.客户端发送SYN包请求建立TCP链接,SYN包中携带了初始化的sequence num,它不能携带数据,但是,会消耗一个序列号.
2021-10-05 20:55:35 656
原创 std::randomize用法
在使用sv编写验证环境的时候,在类中可以在变量的前面添加上rand,同时加上constraint,在randomize的时候随机.但是,有时候在task或者function中需要对一个临时变量做随机,此时便可以借助于std::randomize(a,b,c)with实现对变量的随机....
2021-09-20 20:36:41 7017
原创 网卡芯片虚拟化理解
在一个VI(virtual system)中,会加载多个OS(operating systems),而且每个OS都认为整个系统资源都是其独自占有.
2021-09-15 09:47:35 129
原创 网卡芯片中断处理梳理
1.芯片中支持3种模式:a.legacy interrupt,MSI,MSI-X with a single vectorb.MSI-X in non-VT modec.MSI-X in VT mode2.中断相关寄存器在芯片中最多支持64个VF,EIAC(extended interrupt auto clear enable)寄存器只有16bit,不像其他的寄存器要包含2个寄存器(64bit),因为中断16-63会硬件自动清0,不受其他使能的控制;而中断0-15会受到此寄存器的控制....
2021-08-24 14:52:44 684
原创 LINUX命令总结
1.内部命令和外部命令LINUX的命令可以分为内部命令和外部命令.内部命令在系统启动时就调入内存,是常驻内存的,执行效率比较高;外部命令是软件命令
2021-08-05 13:35:47 69
原创 PCIE routing ID
routing ID,requester ID,complete ID是16bit的标识,通常由8bit的bus number、5bit device number、3bit function number.
2021-08-04 15:16:55 417
原创 IPSEC学习
SPI(security parameter index)AH(Authentication Header)ESP(Encapsulating Security Paload)
2021-07-22 10:03:38 129
原创 工作计划和目标
1.积极学习当前的业务,学会借助于知乎和百度强化学习;2.主动扩展学习的边界,学习如何做项目管理,以及芯片开发整个流程;3.多去阅读一些高效的沟通技巧和方法,从小事做起,从一点一滴做起;4.要学会坚持,不要去抱怨,多向优秀的人看齐;5.要耐得住寂寞,艰苦奋斗,提高时间的利用效率;...
2021-06-11 16:50:26 218
原创 makefile总结
1.MAKEFLAGSMAKEFLAGS为系统级的环境变量,在所有的层级都可以看到使用此变量.它会在命令行中获取相应的参数.make compile -w
2021-06-08 09:47:51 1166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人