02 2022 档案
日常记录(66)设计
摘要:module的参数例化 module async_fifo #(parameter FIFO_PTR = 4, FIFO_WIDTH = 32)([port_list]) 格雷码转换与generate结构 generate语句可以配合genvar实现将assign语句进行并行化处理。否则有有以下提示
日常记录(65)通识
摘要:IC产业用语 https://zhuanlan.zhihu.com/p/403874080 IDM Integrated Device Manufacture 集芯片设计、芯片制造、芯片封装和测试等多个产业链环节于一身 Fabless 无工厂模式,就是只做芯片设计和销售,其它环节全都使用外部资源 F
日常记录(64)DPI
摘要:DPI部分和so文件和.a文件相互区分, so是编译成动态库以后,使用sv_lib、sv_root命令,在运行时使用,获取到API; .a文件是静态链接后,使用-P xxx.tab xxx.a文件,在编译时候使用,生成的simv,是PLI,有$符号; DPI这部分,是直接将c文件当成普通的sv文件,
日常记录(63)UVM事件、序列、寄存器
摘要:uvm_callback 可以控制组件产生的回调函数 代码: 建立了数据edata类,cb1的回调类,cb2继承于cb1的回调类,comp1注册cb1回调类,然后进行回调执行。 注意在env中,对comp1中添加了cb1和cb2的回调属性。回调进行的时候,add的顺序对回调会有影响,如果先add c
日常记录(62)域、phase、TLM
摘要:域的自动化 copy copy 方法的结果如下代码: 首先是注册,注意copy方法的调用者是被赋值的对象,参数是来源的对象。 do_copy是在copy后自动执行的方法,是一个回调函数。 点击查看代码 module taa (); import uvm_pkg::*; `include "uvm_m
git一些简单操作与ignore
摘要:修改git用户与邮箱 查看当前登录账号: git config user.name 查看当前登录邮箱: git config user.email 修改用户名和邮箱: git config --global user.name "Your_username" git config --global
日常记录(61)全视界-SV2
摘要:这本书的整体结构也只能将就看看,无论是从代码缩进还是语句,整体行文逻辑实在是有点混乱。另外一些代码无法编译通过,或者给出了错误的结论(vcs2016) 比较器的验证计划 异常检查:如复位,等异常 常规检查:数据完整性,功能配置 时序检查:时序是否符合预期 package的语法注意 1. 优先使用内部
日常记录(60)全视界-MCDF与SV1
摘要:多通道数据整形器(Multi-Channel Data Formatter) 设计结构与接口 一共分为:上行数据通道(Slave的数据端口,3个)、仲裁、整形(7个 )、控制寄存器(4个)四个部分。 其中的仲裁器位于内部,没有外部接口对应。整形器有FMT_ID的通道号码未列出,其它都在图上进行了标识
日常记录(59)全视界-项目管理
摘要:芯片流片前的开发流程 用户需求:设计结构和产品描述。 系统设计:模块化的功能详述。 硬件设计:HDL文件 功能验证:验证文件(前仿真部分) 后端综合:门级网表,SDF文件(后仿真部分:零延时映射,单位延时映射,SDF仿真) 验证要求 完备性:各种覆盖率、跨时钟域等的检查需要完备。 复用性:标准化验证
日常记录(58)agent结构
摘要:https://gitee.com/bai-mengwei/AHB2 AGETN的结构 一般,在env中实例化agent后,同时会实例化一个config,里面包括了vif、is_active等信息,由env将其传入到agent中。agent取时用时,则从config里进行。 master和slave
日常记录(57)vseqr与vseq。AHB2
摘要:AHB2项目虽然有不少错误,但是从整体架构上比较规范。 https://gitee.com/bai-mengwei/AHB2 RTL 可能由于只是一个VIP,只有一个interface。在interface里具有断言的写法。 比如:其中的disable iff等表示需要系统不在复位状态,即rst=1
日常记录(56)AMBA APB
摘要:信号线 相比于AHB信号简单了很多,信号线只有8个。并以P开头。 系统信号 时钟、复位 主机控制信号 APB系统中,APB桥是唯一的主机,同时也是AHB或者ASB的从机。 地址、选择、选通、传输方向、写数据 从机控制信号 读数据 特点 总体特点 低功耗、接口简单、锁存地址和控制、适合多种外设 状态图
日常记录(55)AMBA总线的AHB接口
摘要:文档来源于AMBA2.0中文翻译。 AHB总线介绍 AHB:高性能,高时钟频率的系统总线。 主要特点是:突发传输、分块处理等,APB桥和内部存储器是常见的AHB的从机。 AHB系统中有四个部分:主机、从机、仲裁器、译码器。 多个主机同时申请访问一个从机,使用仲裁器。译码器对主机发出的地址译码,确定选
日常记录(54)s加的svtb过程
摘要:https://gitee.com/bai-mengwei/sv_tb_router 1. 整体调用过程 top top是一个module,它创建了clk,创建了router_io的interface,然后实例化了dut和test。 test_top test是一个program,它导入了route
日常记录(53)program、phase、vim
摘要:program的使用原因 标准中24.2的overview中有提及,和module不同,主要原因是: 1. 提供tb的入口, 2. reactivate域中执行代码。 phase回顾 灰色为task phase,消耗仿真时间。结束过程分别为:extract、check、report、final。 v
日常记录(52)workshop整理
摘要:top的program中与case的class中。 1 导入UVM的方法 在top的program内部,import uvm_pkg::*,在Makefile的vcs中,添加-ntb_opts uvm-1.1选项 2 top的timeformat 系统函数,参数为:时间精度,时间小数,后缀,显示位宽
日常记录(51)uvm的sprint
摘要:1 sprint与print req和seq_item_port同等级别,都是uvm_driver下内部的变量。前者指代了对应的packet(transaction),然后packet下定义了uvm_field宏注册机制,就可用一些uvm_obj的函数。 函数中的sprint和print的区别如下(