- 博客(21)
- 收藏
- 关注
原创 SVA断言
=>: s1 |=> s2 表示在s1为真的下一个时钟周期s2必须为真,s1为假的下一个时钟周期,s2可真可假。|->: s1 |-> s2 表示s1为真的同一时刻,s2必须为真,s1为假的时候,s2可真可假。跟随重复运算符:a[->3] a连续或间断地出现3次为高,在最后一个a结束的时间点。在默认情况下,它提供信号在前一个时钟周期的值。当信号/表达式由上一个时钟周期的‘0’变成当前周期的‘1’时返回真。当信号/表达式由上一个时钟周期的‘1’变成当前周期的‘0’返回真。当信号/表达式的值改变返回真。
2025-03-19 14:47:58
806
原创 shell & bash & Makefile 语法及常用结构
声明一个变量后,该变量及其值会被加入到当前工作的环境变量中,之后在make执行的所有规则的命令都可以使用这个变量。Bash 是大多数 Linux 系统的缺省 Shell,bash 是最常见的shell之一。严格说Makfile的变量用$(),但是Makefile的执行离不开shell环境,2. Makefile 支持定义变量,可以简化重复的命令。因此使用${}也可以访问,是因为解析的时候使用shell解析.Shell的变量用${},不能使用$()访问变量。在命令里用shell变量的时候就需要大括号.
2025-03-05 17:35:56
146
原创 Python
运行方式 : 方式①python xxx.py;方式②chmod 755 xxx.py , ./xxx.py 或者xxx.py运行。readlines() : 读取文本所有内容,并以列表的格式返回结果。文件首行要有以下代码: #!写文件操作函数:write() 、writelines()1. python脚本文件命名,运行方式说明。readline() : 读取第一行内容。read() : 一次性读取全部内容。2. python对文件的操作。命名: xxx.py。
2025-01-17 15:01:53
199
原创 TCL脚本 & SED & csh
方式 ② :先改变执行权限:chmod 755 test.tcl,然后./test.tcl运行脚本。sed -i 's/old/new/' filename : 修改文件中的old为new。在tcl脚本的第一行要加上:#!脚本运行方式:方式 ①直接运行:tclsh test.tcl;查询linux系统下是否有tcl解释器的命令:tclsh。查询tcl版本:info patchlevel。tcl脚本的文件名:test.tcl。source : 用来打开文件并执行。
2025-01-17 14:47:32
146
原创 GVIM常用命令快捷键
复制一行粘贴10行:按Esc,光标停在待复制的那一行,按yy复制,移动光标在待粘贴行,按np即可把同一行内容粘贴10行。:%s/old/new/gc : 在整个文档中将所有的“old”替换为“new”,并在替换前确认每个替换。剪贴: dd ndd d$(从当前光标剪贴到行末) dw(从光标处剪贴至一个单词的末尾,包括空格)o : 在光标所在行的下一行(新增一行);:%s/old/new/g : 在整个文档中将所有的“old”替换为“new”a : 在光标右侧插入;I : 在光标所在行的行首进行输入。
2025-01-17 13:40:02
376
原创 波形处理相关操作
/对波形大小做切割,表示生成的波形文件大小为8000MB,最多输出5个文件,每个文件的仿真时间范围记录在test.log文件中。波形文件最小设置为10M。fsdb转vcd命令:fsdb2vcd verilog.fsdb -bt 100us -et 200us -o output.vcd.//记录二维数组mem的值,便于在verdi中查找mem内部信号。//在仿真过程中强制将信号值加载到波形中,便于在仿真过程中查看波形。fsdb波形数据保存到txt文件方法。1.在tb_top中生成波形设置。
2025-01-14 14:28:45
181
原创 C语言基础用法
3如果调用的函数定义在main()函数后面,在main函数中要先函数声明后才能调用函数。如果调用的函数定义在main()函数前面,在main函数中可以直接调用函数。编译命令:gcc-std=c99-otest.c。1.将地址强转为指针类型,对其赋新值。4.求1到100之间所有奇数的和程序。5.C++是区分大小写的编程语言。2.在linux下编译运行C程序。运行命令:./test.c。6.结构体的成员和赋值用法。
2025-01-14 13:48:01
189
原创 Verdi 波形相关操作
在verdi界面上,tool->preference->editor->other, 删除第一行中的内容,将 Editor修改为gvim,勾选set as default editor, 点击apply,OK 退出。操作:nWave ->window ->change to primary(点击波形界面,快捷键: shift + P/p)5. 将当前波形窗口改变为主窗口,这样ctrl + w就可以添加代码信号到波形中。4. 展示信号全路径:选中信号,按H/h,显示信号全路径。
2025-01-07 17:31:37
292
原创 SVT XXX VIP使用技巧
dw_vip_setup -e xxx -p xxx生成一个demo,跑一跑,看看log,用verdi打开看看层次结构,然后不懂得看ug或者html,然后就开始移植。先照葫芦画瓢,遇到问题,根据遇到问题的关键字,在html搜里面的成员方法啥的。再就是synopsys的ip也会有个自带的环境,可能有些历史问题,可能会比较复杂,后面可以研究一下,看看他们怎么设计scb之类的。前提还要理解协议,至少要知道个基本协议(对应dut,片内或者片外的)先从简单的开始,比如纯数字这种,dma啊,spi,uart这些。
2024-07-24 11:10:03
905
原创 Perl 语言
(/\w+/):匹配一个或多个连续的字母数字字符(字母、数字、下划线)。读写:open(句柄,“+< 文件名”);追加:open(句柄,“>>文件名”);读:open(句柄,“< 文件名”);写:open(句柄,“>文件名”);$&:表示上一步匹配到的结果。
2024-05-06 16:49:37
165
原创 SV & UVM 知识点疑问及回答
1.在class uvm_component 中,,interface为啥要用virtual申明?例如,function void build_phase(uvm_phase phase);例如,在class uvm_driver中,virtual apb_if vif;2.uvm_phase中的函数定义中,为啥要用void关键词?
2024-03-12 19:31:55
1084
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人