2022年3月23日

2.4-AHB(总线互连,slave回应信号)

摘要: 资料来源 (1) amba bus spec翻译.pdf 4.总线互连 4.1互连 (1) 互连组件提供master和slave的连接; (2) 单master系统只需要译码器和复用器;多master系统需要仲裁arbitration和不同master到合适的slave间的信号路由; 4.2地址译码 阅读全文

posted @ 2022-03-23 22:37 知北游。。 阅读(668) 评论(0) 推荐(0) 编辑

2.3-AHB(传输)

摘要: 资料来源 (1) amba bus spec翻译.pdf (2) ARM各种Memory类型理解_谷公子的博客-CSDN博客_arm memory [未阅] (3) ARMv8官方手册学习笔记(十二):Device memory - 知乎 (zhihu.com) [未阅] (4) Cacheable 阅读全文

posted @ 2022-03-23 00:04 知北游。。 阅读(1044) 评论(0) 推荐(0) 编辑

2022年3月21日

2.2-AHB(传输)

摘要: 资料来源 (1) amba bus spec翻译.pdf (2) AXI总线学习 从零开始详细学 连载(7)读写处理架构,burst介绍,burst细节定义(burst type burst address)_六楼的人才能用!!!!!1的博客-CSDN博客_axi burst (未阅完) 3.传输 阅读全文

posted @ 2022-03-21 21:47 知北游。。 阅读(902) 评论(0) 推荐(0) 编辑

2022年3月13日

windows虚拟机常见配置问题

摘要: VM虚拟机下如何和Windows主机共享文件夹-百度经验 (baidu.com) (8条消息) 虚拟机VMware,Ubuntu系统与主机共享文件夹_dmedaa的博客-CSDN博客_ubuntu虚拟机与主机共享文件 怎么设置VMware centos7 界面终端字体大小-百度经验 (baidu.c 阅读全文

posted @ 2022-03-13 19:03 知北游。。 阅读(77) 评论(0) 推荐(0) 编辑

2022年3月9日

复杂多维数组

摘要: 资料来源 (1) Verilog系列:【11】敏感信号列表中的数组 (qq.com) (2) jerry ic 验证; 1.复杂多维数组 (1) 示例: type [MSB3:LSB3][MSB4:LSB4] array [MSB1:LSB1][MSB2:LSB2] reg [0:3][0:7] m 阅读全文

posted @ 2022-03-09 10:14 知北游。。 阅读(71) 评论(0) 推荐(0) 编辑

2022年3月8日

[CU]IC仿真makefile脚本示例2

摘要: ... MODEL_PATH=-f model_ahb_list RTL_PATH=-f ../../rtl/rtl_ahb.list TB_PATH=../../verif VERB=UVM_DEBUG OUTPUT_DIR=./logs N=1 TEST_ID+=${TEST}_${N} VPD 阅读全文

posted @ 2022-03-08 22:23 知北游。。 阅读(104) 评论(2) 推荐(0) 编辑

[CU]IC仿真makefile脚本示例1

摘要: RTL_PATH = ./rtl TEST = TEST_base TB_TOP = ./TEST.sv UVM_HOME = ./UVM-1.2a VERBOSITY = UVM_MEDIUM UVM_VER = uvm-1.2 SEED = $(shell date +%s) defines = 阅读全文

posted @ 2022-03-08 21:56 知北游。。 阅读(157) 评论(0) 推荐(0) 编辑

《硬件架构的艺术》-1.1简介&1.2亚稳态理论&1.3亚稳态窗口&1.4计算MTBF

摘要: 1.1简介 (1) 在同步系统中,输入数据信号相对于时钟总有固定的关系; 当这种关系满足器件的建立时间和保持时间的要求时,输出端会在特定的传输延迟时间内输出一个有效状态,这种情况下,不会发生亚稳态; (2) 在异步系统中,由于输入数据信号和时钟的关系不是固定的,因此有时会出现违反建立时间和保持时间的 阅读全文

posted @ 2022-03-08 13:29 知北游。。 阅读(459) 评论(0) 推荐(0) 编辑

2022年3月2日

generate与assertion

摘要: 资料来源: (1) 硅芯思见:【86】SVA中的延迟 (qq.com) (2) 16-在属性中使用形参,在属性中使用局部变量,以及在序列匹配时调用子程序 - 蚕食鲸吞 - 博客园 (cnblogs.com) 1.generate与带形参的assertion的联合使用 阅读全文

posted @ 2022-03-02 16:03 知北游。。 阅读(180) 评论(0) 推荐(0) 编辑

2022年2月13日

SVA的动态控制($asserton,$assertoff,$assertkill等)

摘要: 资料来源 (1) 硅芯思见:【91】SVA的动态控制 (qq.com) 1.$asserton, $assertoff, $assertkill (1) 作用 注1:$assertoff暂时关闭所有断言的执行,如果该函数执行时断言正在执行,正在执行的断言不会被终止; 注2:$asserton重新启动 阅读全文

posted @ 2022-02-13 21:48 知北游。。 阅读(6496) 评论(0) 推荐(0) 编辑

2022年2月6日

3-phase的超时退出(timeout,仅限于run_phase,内含wait(0)以及phase.get_name())

摘要: 资料来源 (1) UVM实战-张强; (2) UVM source code; 注意:wait(expression)会一直阻塞,直到expression为真; wait(0)表示永远阻塞,这种用法会在UVM source code中遇到; 1.phase的超时退出 (1)背景: 验证平台运行时,有 阅读全文

posted @ 2022-02-06 18:31 知北游。。 阅读(1234) 评论(0) 推荐(0) 编辑

Verdi-Using FSM coverage & Assert coverage

摘要: 资料来源 (1) coverage user guide and tutorial 1.Using FSM coverage 注:如果为了方便查看fsm的哪些跳转没有cover到,可以勾选面板中的show as list选项; 2.Assert coverage 阅读全文

posted @ 2022-02-06 15:21 知北游。。 阅读(728) 评论(0) 推荐(0) 编辑

2022年1月27日

[CU]UVM_FILE的使用

摘要: 资料来源 (1)《UVM实战-张强》; (2) Verilog系列:【3】文件的IO操作 (qq.com) (3) 《Practical UVM Step by Step with IEEE》 1.UVM_FILE的使用及示例 typedef int UVM_FILE; (1)在uvm_test_b 阅读全文

posted @ 2022-01-27 18:48 知北游。。 阅读(1254) 评论(0) 推荐(0) 编辑

2022年1月20日

typedef的作用(自定义变量类型或解决提前使用后面声明的类时的编译问题)

摘要: 资料来源 (1) 硅芯思见:【119】SystemVerilog中的typedef前置声明方式 (qq.com) (2) sv绿皮书; 1.typedef作用 1.1自定义变量类型 1.2解决先使用类,后定义类的编译问题 (1)typedef用于将一些数据类型进行前置声明,这样仿真工具允许该类型的定 阅读全文

posted @ 2022-01-20 17:59 知北游。。 阅读(448) 评论(0) 推荐(0) 编辑

$random随机函数

摘要: 资料来源 (1) Verilog系列:【74】如何$random随机数 (qq.com) 1.$random随机函数 (1)功能:根据指定的种子(可以不指定种子)产生一个有符号的32位整型伪随机数; (2)使用:$random(seed)或$random()或$random;$random(seed 阅读全文

posted @ 2022-01-20 13:17 知北游。。 阅读(1053) 评论(0) 推荐(0) 编辑

2022年1月19日

如何例化传递interface数组(generate的妙用)

摘要: 资料来源 (1) 硅芯思见:【101】如何例化传递interface数组 (qq.com) 1.背景 (1) 进行验证环境搭建时,需要通过interface连接由设计构成的静态世界(static world)和由验证环境构成的动态世界(dynamic world); 注1:static world主 阅读全文

posted @ 2022-01-19 20:57 知北游。。 阅读(1394) 评论(0) 推荐(0) 编辑

《算法导论》-ch1-算法在计算中的作用

摘要: 问题: (1)什么是算法? (2)为什么算法值得研究? 1.算法 (1)定义&作用:算法就是计算过程,该过程取某个值或值的集合作为输入并产生某个值或值的集合作为输出; (2)应用场景举例-排序: 输入: n个数的一个序列<a1, a2, ..., an>; 输出: 输入序列的一个排列<a1', a2 阅读全文

posted @ 2022-01-19 13:02 知北游。。 阅读(97) 评论(0) 推荐(0) 编辑

2022年1月18日

参数方向(input/output/inout/ref)

摘要: 资料来源: (1) sv绿皮书; (2) 硅芯思见:【115】SystemVerilog中ref不是想用就能用 (qq.com); 1.参数方向简介 (1) Verilog对参数的处理方式比较简单,在子程序的开头把input和inout的值复制给本地变量,在子程序退出时,则复制output和inou 阅读全文

posted @ 2022-01-18 19:36 知北游。。 阅读(1152) 评论(0) 推荐(0) 编辑

$display, $write

摘要: 资料来源: (1) 硅芯思见:【108】聊点$display的一点事情 (qq.com) 1.$display 1.1$display的使用格式 (1) $display(format,p0,p1,...,pn),其中format用于描述输出格式,p0-pn为待display的内容; 1.2$dis 阅读全文

posted @ 2022-01-18 15:04 知北游。。 阅读(783) 评论(0) 推荐(0) 编辑

2022年1月17日

interface例化后,往resource pool中的存入与取出

摘要: 1.interface的例化 (1)可以通过bind方式实现,详见bind章节; 2.interface资源的存入与取出 (1)可以使用uvm_config_db::set/get或者uvm_resource_db::set/read_by_name; (2)关于存放时,路径层次的一个巧妙的处理(构 阅读全文

posted @ 2022-01-17 20:54 知北游。。 阅读(233) 评论(0) 推荐(0) 编辑

波形上显示枚举变量

摘要: 1.波形上显示枚举变量字符 1.1应用场景 需要将枚举类型的变量拉到interface上,但又不想在interface上重新定义enum; 1.2实现方法 (1) 在输出debug interface的uvc里面, 用[127:0]变量存储枚举类型的变量, 如下列黄色部分; (2) 在interfa 阅读全文

posted @ 2022-01-17 19:54 知北游。。 阅读(215) 评论(0) 推荐(0) 编辑

vcs-diagnostics

摘要: 资料来源 (1) VCS user guide; 1.Compile-time Diagnostics 1.1Libconfig Diagnostics 1.2Timescale Diagnostics (1)可以使用vcs -diag timescale使能timescale diagnostic 阅读全文

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

2022年1月16日

验证覆盖率及用仿真工具收集覆盖率(code cov/func cov)

摘要: 资料来源 (1)公众号-芯片学堂; (2)VCS user guide; (3)面试系列:RTL基本知识【1】关于coverage (qq.com) (4) Verdi Coverage User Guide and Tutorial (手册是信息源头) 1.验证覆盖率 (1)验证覆盖率只是为了证明 阅读全文

posted @ 2022-01-16 14:32 知北游。。 阅读(4041) 评论(0) 推荐(0) 编辑

2022年1月14日

【未完】斐波那契数列及算法实现(f(n)=f(n-1)+f(n-2),n>=2;)

摘要: 斐波那契数列_百度百科 (baidu.com) 斐波那契数列的实现算法 - 代码书生 - 博客园 (cnblogs.com) 阅读全文

posted @ 2022-01-14 16:41 知北游。。 阅读(167) 评论(0) 推荐(0) 编辑

[CU]field_automation机制2-uvm field automation机制与copy,compare等操作的联系(注意create函数,copy函数,clone函数)

摘要: 资料来源: (1) The UVM Primer; (2) uvm source code; (3) UVM1.1应用指南及源代码分析; 注1:field automation机制的本质是覆盖了uvm_object类中的m_uvm_field_automation函数,而不是定义了copy等函数,也 阅读全文

posted @ 2022-01-14 14:12 知北游。。 阅读(1300) 评论(0) 推荐(1) 编辑

4.6类的浅复制(shallow copy)与深复制(deep copy)

摘要: 资料来源 (1) The UVM Primer; (2) sv绿皮书; (3) 硅芯思见:【106】SystemVerilog中的浅复制(shallow copy)和深复制(deep copy) (qq.com) 1.copy(要点是需要先例化) (1) copy对象不像想象的那么简单,简单的赋值语 阅读全文

posted @ 2022-01-14 11:28 知北游。。 阅读(297) 评论(0) 推荐(0) 编辑

2022年1月12日

基于UVM的验证平台示例1

摘要: 资料来源: (1) The UVM Primer; 1.验证平台示例 1.1 run_test & uvm_config_db (1)注意下图中,需要import uvm_pkg,需要include uvm相关宏; (2)uvm_config_db的前两个参数为null和*,这意味着整个验证平台都能 阅读全文

posted @ 2022-01-12 21:08 知北游。。 阅读(297) 评论(0) 推荐(0) 编辑

基于system verilog的testbench示例

摘要: 资料来源: (1) The UVM Primer; 1.top-level testbench (1)import类的定义; (2)实例化DUT,BFM,声明testbench class变量; (3)实例化并启动testbench class; 1.1import类的定义(package与impo 阅读全文

posted @ 2022-01-12 13:16 知北游。。 阅读(519) 评论(0) 推荐(0) 编辑

2022年1月11日

4.5类的参数化

摘要: 资料来源 (1) The UVM Primer 1.参数化module 2.参数化类+静态变量+静态方法 3.参数化类+非静态变量+非静态方法 阅读全文

posted @ 2022-01-11 20:48 知北游。。 阅读(124) 评论(0) 推荐(0) 编辑

4.4类的静态方法与变量

摘要: 资料来源: (1) The UVM Primer 1.静态变量 1.1静态变量特点 (1)类里面的静态变量与静态方法和全局变量及全局方法较相似,但是相较于全局变量,更容易维护; (2)前面提到过,类只有在实例化时才会分配内存空间,严格地说,并不完全正确;如果类里面有静态变量,当定义类的时候,就会为静 阅读全文

posted @ 2022-01-11 15:55 知北游。。 阅读(107) 评论(0) 推荐(0) 编辑

导航