2022年1月10日

generate block的使用

摘要: 资料来源 (1) Verilog系列:【2】generate常用用法 (qq.com) 1.1 generate block作用与语法 (1) 作用:写出可配置可综合的RTL,主要用于重复性实例化模块或者有条件地实例化模块; 注1:generate语句在解析阶段对某些语句进行选取或者重复,这些语句可 阅读全文

posted @ 2022-01-10 10:56 知北游。。 阅读(1560) 评论(0) 推荐(0) 编辑

2022年1月6日

【vim】vim常用设置,.vim目录,vim常用操作

摘要: 资料来源: (1) Vim 配置入门 - 阮一峰的网络日志 (ruanyifeng.com) (2) GVIM abbr使用方法 - 简书 (jianshu.com) (3) (13 条消息) 为什么vim不能兼容tab和空格键来indent? - 知乎 (zhihu.com) (4) Step b 阅读全文

posted @ 2022-01-06 16:25 知北游。。 阅读(589) 评论(2) 推荐(0) 编辑

2021年12月30日

interface中clocking block输入偏差与输出偏差

摘要: 资料来源 (1) 硅芯思见:【125】clocking block中的输入偏差和输出偏差 (qq.com) (2) sv绿皮书; 1.输入偏差与输出偏差 (1) system verilog的时钟块机制(clocking block)可以对指定信号进行基于特定时钟的同步处理,时钟块中的任何信号都将根 阅读全文

posted @ 2021-12-30 20:50 知北游。。 阅读(1746) 评论(0) 推荐(0) 编辑

2021年12月29日

sv通信-sv绿皮书7.5semphore

摘要: 资料来源 (1)sv绿皮书; (2)硅芯思见:【127】semaphore原来还有这一面 (qq.com) 1.旗语semphore简介 (1)semaphore是SystemVerilog中的内建类,主要用于实现多进程对于共享资源的协同访问控制。 (2)semaphore的基本操作:new(),g 阅读全文

posted @ 2021-12-29 21:51 知北游。。 阅读(830) 评论(0) 推荐(1) 编辑

sv9.9覆盖选项(实例选项与类型选项)

摘要: 1.实例选项 (1)用于特定的覆盖组实例; (2)per-instance只能放在覆盖组中,不能用于覆盖点或交叉点; (3)使用per_instance选项与comment选项可以为每个covergroup实例加入单独的注释; 1 class C1; 2 bit[7:0] x; 3 4 coverg 阅读全文

posted @ 2021-12-29 21:00 知北游。。 阅读(215) 评论(0) 推荐(0) 编辑

sv9.8通用的覆盖组(通过数值或者引用传递覆盖组参数)

摘要: 1.通过数值传递覆盖组参数 2.通过引用传递覆盖组参数 1 covergroup cg (ref int ra, input int low, int high) @(posedge clk); 2 coverpoint ra //采样通过引用传递的变量 3 { 4 bins good={[low: 阅读全文

posted @ 2021-12-29 20:06 知北游。。 阅读(247) 评论(0) 推荐(0) 编辑

sv9.7.6交叉覆盖的替代方式

摘要: 1.交叉覆盖的替代方式 (1)随着交叉覆盖的定义越来越精细,可能需要花费较多的时间来指定哪些仓应该使用或者被忽略掉; 可以通过给覆盖点上的仓命名,然后使用这些仓来收集交叉覆盖率数据; (2)示例 (2.1)使用仓名与binsof指定交叉覆盖的数值 (2.2)使用binsof与intersect指定交 阅读全文

posted @ 2021-12-29 17:44 知北游。。 阅读(179) 评论(0) 推荐(0) 编辑

2021年12月28日

sv9.7.3&9.7.4排除掉部分交叉覆盖仓,从总体覆盖率的度量中排除掉部分覆盖点

摘要: 1.排除掉部分交叉覆盖仓 (1)ignore_bins+binsof+intersect可以排除掉许多交叉覆盖仓;其中,binsof用于指定覆盖点,intersect用于指定数值集; (2)示例 2.从总体覆盖率的度量中排除掉部分覆盖点 (1)一个覆盖阻的总体覆盖率是基于所有简单覆盖点和交叉覆盖率的 阅读全文

posted @ 2021-12-28 21:47 知北游。。 阅读(1146) 评论(0) 推荐(0) 编辑

sv9.7.1&9.7.2-交叉覆盖率及示例,对交叉覆盖仓进行标号

摘要: 1.交叉覆盖率及示例 (1)覆盖点记录单个变量或表达式的观测值,交叉覆盖率则同时测量两个或两个以上覆盖点的值; (2)system verilog中的cross结构可以用来记录一个覆盖组内两个或两个以上覆盖点的组合值; cross语句只允许带覆盖点或者简单的变量名; (3)示例 2.对交叉覆盖仓进行 阅读全文

posted @ 2021-12-28 21:21 知北游。。 阅读(544) 评论(0) 推荐(0) 编辑

2021年12月22日

sv9.6.11&9.6.12 忽略数值或翻转,不合法的仓

摘要: 1.忽略数值或翻转 (1)在某些覆盖点上,可能始终得不到全部可能值,对于该问题可以使用两种方法: 方法一:明确定义仓来涵盖所有的期望值; 方法二:让system verilog自动创建仓,然后使用ignore_bins排除掉那些不用来计算功能覆盖率的数值; (2)ignore_bins示例: 1 示 阅读全文

posted @ 2021-12-22 22:05 知北游。。 阅读(118) 评论(0) 推荐(0) 编辑

sv9.6.7&9.6.9&9.6.10条件覆盖率,翻转覆盖率,在状态和翻转中使用通配符

摘要: 1.条件覆盖率 (1) 可以使用关键字iff给覆盖点添加条件,这种做法最常用于在复位期间关闭覆盖以忽略一些杂散的触发; 注:也可以使用covergroup_name.stop()与covergroup.start()进行covergroup的采样; (2) 可以使用start和stop函数控制覆盖组 阅读全文

posted @ 2021-12-22 21:54 知北游。。 阅读(768) 评论(0) 推荐(0) 编辑

sv9.6.4&9.6.5&9.6.6对表达式采样,用户自定义仓,命名覆盖点的仓

摘要: 1.对表达式进行采样 注:覆盖点可以对变量或表达式采样; (1) 注意哑元变量的使用; (2) 由于值域不是2的幂,所以最好使用自定义的仓,如果使用自动生成的仓,可能需要添加ignore_bins; 2.用户自定义的仓 3.命名覆盖点的仓 阅读全文

posted @ 2021-12-22 21:34 知北游。。 阅读(71) 评论(0) 推荐(0) 编辑

sv9.6.2&9.6.3自动创建仓与限制自动创建仓的数目

摘要: 注1:每一个覆盖点(coverage point)都包含一系列bins,用于采样值或者值的翻转; 采样值的bins称作state bins,采样值的翻转的bins称作transition bins; 1.自动创建仓 (1) system verilog会自动为覆盖点创建仓。 2.限制自动创建仓的数目 阅读全文

posted @ 2021-12-22 21:10 知北游。。 阅读(355) 评论(0) 推荐(0) 编辑

2021年12月16日

learning perl-4.9&4.14&4.10词法变量my,持久性私有变量state,use strict编译命令

摘要: 1.词法变量my (1)词法变量可使用在任何块内,而不仅限于子程序的语句块,它可以再if,while或foreach的语句块中使用; (2)所有新变量的值一开始都是空的,标量被设为undef,数组被设为空列表; 2.持久性私有变量state (1)在子程序中使用my操作符创建私有变量,但每次调用这个 阅读全文

posted @ 2021-12-16 00:14 知北游。。 阅读(53) 评论(0) 推荐(0) 编辑

2021年12月15日

learning perl-4.5&4.7子程序中的私有变量以及更好的&max子程序

摘要: 1.子程序中的私有变量 (1)默认情况下,perl中所有变量都是全局变量,但是可以通过my操作符创建私有的词法变量; 这些变量的作用范围被圈定在语句块中,它们是该语句块内的私有变量; (2)Perl允许省略语句块中最后一个分号,但是通常在程序代码简单到整个语句块只有一行时,才有必要省略分号; 2.更 阅读全文

posted @ 2021-12-15 23:59 知北游。。 阅读(36) 评论(0) 推荐(0) 编辑

learning perl-4.3&4.11&4.13&4.4&4.6子程序的返回值,return操作符,非标量返回值与参数及长度可变的参数列表

摘要: 1.子程序的返回值与return操作符 (1)子程序被调用时,存在返回值,但返回值不一定会被使用; (2)所有的子程序都有一个返回值-子程序并没有"有返回值"和"没有返回值"之分. (3)子程序中如果没有使用return显式提供返回值,那么子程序中最后一次运算的结果,会被自动当成子程序的返回值; ( 阅读全文

posted @ 2021-12-15 23:43 知北游。。 阅读(66) 评论(0) 推荐(0) 编辑

learning perl-4.1&4.2定义子程序与调用子程序

摘要: 1.定义子程序 (1)定义子程序,可使用关键字sub,子程序名以及经过缩进的代码块,如下图所示; (2)子程序可以在程序的任意位置定义,可以放在文件的开头,也可以放在文件的结尾。 (3)可以在子程序中使用任何全局变量. 2.调用子程序 (1) 可以再任意表达式中使用子程序名(前面加上&号)来调用它; 阅读全文

posted @ 2021-12-15 23:22 知北游。。 阅读(304) 评论(0) 推荐(0) 编辑

2021年12月14日

Intermediate perl-4.9散列的引用与解引用

摘要: 1.使用反斜杠对散列取引用; 2.对哈希引用解引用; (1) 按照没有使用引用的方式编写读取散列中数据的语法,然后用一对大括号包围着的引用名称替换散列名称; 阅读全文

posted @ 2021-12-14 23:31 知北游。。 阅读(52) 评论(0) 推荐(0) 编辑

Intermediate perl-4.8用箭头简化嵌套元素的引用

摘要: 1.下图中,数组@gilligan的引用可以通过${$all_with_names[2]}[1]获取; 数组@gilligan的第一个元素gilligan[0]则可以通过${${$all_with_names[2]}[1]}[0]来获取; 2.在编写${DUMMY}[$y]的任何地方,都可以使用DU 阅读全文

posted @ 2021-12-14 23:17 知北游。。 阅读(37) 评论(0) 推荐(0) 编辑

Intermediate perl-4.7嵌套的数据结构(数组与数组的嵌套,数组与哈希的嵌套,哈希与哈希的嵌套)

摘要: 1.@all_with_names数组中有三个元素,其中的每一个元素都是数组引用,并且每个数组引用包含两个元素:人员名称和相应的初始供应列表. (1) 如果以@{$all_with_names[2]}的方式进行解引用操作,就将得到一个拥有两个元素的数组gilligan_with_name和另外一个数 阅读全文

posted @ 2021-12-14 23:05 知北游。。 阅读(93) 评论(0) 推荐(0) 编辑

Intermediate perl-4.6通过引用修改数组

摘要: 1.通过数组引用可以解决过多复制的问题,通过数组引用也可以修改初始数组。 2.下图展示的子程序中,将扫描过程中找到的任何丢失的项放入到@missing数组中,然后对$items数组引用进行解引用操作,访问初始化数组,添加来自于@missing数组的元素. 如果没有按引用传递,就需要修改数据的本地副本 阅读全文

posted @ 2021-12-14 22:41 知北游。。 阅读(34) 评论(0) 推荐(0) 编辑

2021年12月8日

Intermediate perl-4.3&4.4对数组取引用以及对数组引用解引用

摘要: 1.对数组取引用 (1)反斜杠(\)可以作为取引用操作符,将它放到数组名称之前时,如\@skipper,将得到该数组的引用; (2)数组的引用与指针类似,但是引用指向整个数组,而不是数组本身的第一个元素的地址; (3)引用适用于所有适合标量的场景,它能够作为数组或散列的元素,或者放入普通标量变量中, 阅读全文

posted @ 2021-12-08 23:47 知北游。。 阅读(187) 评论(0) 推荐(0) 编辑

Intermediate perl-4.1引用简介

摘要: 1.引用(对比按值传递与按引用传递) (1) 引用是处理复杂数据结构、面向对象编程和精美子例程的基础。 (2) perl的标量变量保存单个值,数组保存一个有序的标量列表,散列保存一个无需的标量集合作为值,字符串作为键.但是这三种数据类型都不适合用于表示复杂的数据关系,而引用可以。 2.场景-在多个数 阅读全文

posted @ 2021-12-08 23:32 知北游。。 阅读(44) 评论(0) 推荐(0) 编辑

2021年12月7日

17-SVA中的多时钟定义,matched构造,expect构造

摘要: 资料来源 (1) 硅芯思见:【94】SVA中的multi-clock (qq.com) (2) 硅芯思见:【90】SVA中的序列表达式操作符 (qq.com) 1.SVA中的多时钟定义 (1) SVA允许序列或者属性使用多个时钟定义来采样独立的信号或者子序列; (2) SVA会自动地同步不同信号或者 阅读全文

posted @ 2021-12-07 16:02 知北游。。 阅读(644) 评论(0) 推荐(0) 编辑

2021年12月6日

3.1-I2C总线(该篇介绍不是很好,但参考资料中代码可以看看)

摘要: 参考资料 (1) 详解I2C总线协议 (qq.com)--公众号IC大家谈 【已阅】 (2) 通信协议 IIC 与 SPI 最全对比 (qq.com) (3) uvm_agents/src/i2c at master · dovstamler/uvm_agents · GitHub (4) I2C 阅读全文

posted @ 2021-12-06 20:38 知北游。。 阅读(257) 评论(0) 推荐(0) 编辑

2021年11月30日

vcs与verdi单步调试, vcs ucli调试hang【IMP】

摘要: 资料来源 (1) VCS与verdi联合进行单步调试 | 骏的世界 (lujun.org.cn) (2) 当simulation hang住的时候该怎么办? (qq.com) (3) https://blog.csdn.net/gsjthxy/article/details/107207452 注1 阅读全文

posted @ 2021-11-30 13:03 知北游。。 阅读(1904) 评论(0) 推荐(0) 编辑

2021年11月29日

2.1-AHB(简介与信号描述)

摘要: 资料来源 (1) AHB总线协议(一)_weixin_33875839的博客-CSDN博客 【未阅】 (2) AHB_百度百科 (baidu.com)【未阅】 (3) AHB总线协议(一) - 迈克老狼2012 - 博客园 (cnblogs.com) 【未阅】 (4) AHB总线协议(二) - 迈克 阅读全文

posted @ 2021-11-29 09:45 知北游。。 阅读(867) 评论(0) 推荐(0) 编辑

2021年11月28日

uvm通信-uvm_barrier & uvm_barrier_pool

摘要: 资料来源 (1) UVM通信篇之六:同步通信元件(上) - 路科验证的日志 - EETOP 创芯网论坛 (原名:电子顶级开发网) - 1.uvm_barrier (1) UVM提供了一个新的类uvm_barrier用来对多个组件进行同步协调,同时为了解决组件独立运作的封闭性需要,也定义了新的类uvm 阅读全文

posted @ 2021-11-28 18:08 知北游。。 阅读(185) 评论(0) 推荐(0) 编辑

篇2-随机约束问题(不含答案)

摘要: 资料来源 (1)公众号-jy是个宝贝; 问题链接: https://mp.weixin.qq.com/s/aKHre4MoKnLHhDWdj3rVAg 随机约束问题(检验熟悉程度) 一、rand和randc的区别?随机化的数据类型是什么样的?如何随机化出X和Z值? 二、const的作用? 三、dis 阅读全文

posted @ 2021-11-28 13:12 知北游。。 阅读(102) 评论(0) 推荐(0) 编辑

篇8-类的一些常见问题(不含答案)

摘要: 资料来源 (1)公众号-jy是个宝贝; 公众号原文链接:https://mp.weixin.qq.com/s/MLJt0lcADNysQwog5ETVmQ 公众号参考答案链接:https://mp.weixin.qq.com/s/qkdcKRNhAbywg_rG35IS1w 类的一些常见问题(检验掌 阅读全文

posted @ 2021-11-28 12:52 知北游。。 阅读(67) 评论(0) 推荐(0) 编辑

导航