自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 验证平台-driver

5)main_phase,声明trancation的句柄,通过句柄获取一些配置信息;2)build_phase,使用uvm_config_db获取virtual interface中的信号,在该组件中使用;使用内置函数$ value$ plusarg获取makefile中的一些配置信息(字符串或数据)(1)直接获取trancation的配置,赋值给interface的信号,激励到DUT。验证平台-driver。

2023-12-02 10:09:10 367

原创 Verilog/System Verilog的常用内置函数(数字验证)

Verilog/System Verilog的常用内置函数(数字验证)既可以输入字符串也可以输入各种进制的参数。2、字符串传递相关的内置函数。1、数学运算相关的内置函数。

2023-11-30 22:03:13 495

原创 验证平台-interface

1)创建virtual interface,声明DUT port的信号。2)创建clocking block(cb),指定时钟及信号的方向。4)使用always对某些信号进行打拍处理。作用:避免验证环境中的竞争冒险。5)实现一些DUT中的组合逻辑。验证平台-interface。3)引入一些DUT的内部信号。

2023-11-15 21:31:38 65

原创 验证平台-connect

1)例化DUT,将DUT的port信号与virtual interface进行连接。(1)将DUT内部信号连接到virtual interface中。(2)force/release DUT的内部信号。验证平台-connect。

2023-11-15 21:24:33 43

原创 验证平台-harness

3)例化virtual interface,将产生的时钟和复位信号,例化时传入virtual interface。5)使用uvm_config_db传递virtual interface到环境中。1)include其他的各个组件的pkg.sv文件。4)include connect组件。2)产生tb所用到的时钟,复位信号。验证平台-harness。6)启动run test。

2023-11-15 21:20:07 42

原创 Formal-AEP的使用

自动功能分析,用于出界数组、算术溢出、X 分配、同时设置/重置、完全案例、并行情况、多驱动器/冲突总线和浮动总线检查,无需专门的测试。例如:自动提取module中的property,帮助早期发现function中的bug,1)调用formal,首先要用到.tcl文件,例如编写一个run.tcl文件。1、Formal-AEP简介。

2023-11-07 07:44:35 85

原创 搭建验证环境总结

验证环境

2023-10-04 14:59:39 92

原创 Verdi操作小结

Verdi操作小结

2022-12-04 12:13:14 13823 8

原创 Linux下shell脚本/Makefile编写

Linux下shell脚本/Makefile编写

2022-12-04 11:27:14 835

原创 Python学习笔记(一)--基础语法及模块

Python学习笔记(一)--基础语法及模块

2022-11-25 15:26:45 237

原创 Phase机制之-phase_jump的使用场景

Phase机制之-phase_jump的使用场景

2022-09-16 11:05:58 1083

原创 IC验证零基础学习-System Verilog-(九)功能覆盖率

IC验证零基础学习-System Verilog-(九)功能覆盖率

2022-08-17 19:56:39 1326

原创 IC验证零基础学习-System Verilog-(六)随机化

IC验证零基础学习-System Verilog-(六)随机化

2022-08-17 11:57:18 488

原创 IC验证零基础学习-System Verilog-(五/八)面向对象编程基础/面向对象编程的高级技巧指南

IC验证零基础学习-System Verilog-(五)面向对象编程基础

2022-08-07 22:35:22 182

原创 IC验证零基础学习-System Verilog-(三、四、七)过程语句和子程序/连接设计和测试平台/线程以及线程间的通信

IC验证零基础学习-System Verilog-(三、四)过程语句和子程序/连接设计和测试平台

2022-08-02 22:49:01 298

原创 IC验证零基础学习-System Verilog-(二)数据类型

IC验证零基础学习-System Verilog-(二)数据类型

2022-07-30 11:36:59 140

原创 IC验证零基础学习-System Verilog-(一)验证导论

IC验证零基础学习-System Verilog-(一)验证导论

2022-07-26 22:29:06 724

原创 IC验证零基础学习-Verilog-PartB

IC验证零基础学习-Verilog-PartB第三部分 RTL概念与常用RTL建模一、参考书籍《Verilog数字系统设计教程》《轻松成为设计高手-Verilog HDL实用讲解》

2022-04-25 19:36:11 573

原创 IC验证零基础学习-Verilog-PartA

IC验证零基础学习-Verilog第一部分 HDL设计方法简介一、使用HDL(Hardware Description Language)语言,可以从算法、系统级(System Level)、功能模块级(Functional Model Level)、行为级(Behavioral Level)、寄存器传输级(RTL,Register Transfer Level)、门级(Gate Level)到开关级(Switch Level)等不同层次描述数字系统电路系统,然后通过EDA工具综合,仿真并实现该系统。

2022-04-22 12:05:59 1461

原创 IC验证零基础学习-数电部分学习笔记

IC验证零基础学习-数电部分学习笔记第一部分 第一章至第三章主要内容:四种进制之间的转换,二进制运算基础,原码/反码/补码的运算,常见的编码形式;逻辑代数的三种基本运算,基本和常用公式,基本定理,逻辑函数表示方法和化简方法。半导体二极管特点,CMOS门电路,TTL门电路一、1) 数字信号:物理量的变化在时间上和数量上都是离散的,不连续的。模拟信号:物理量的变化在时间上和数值上都是连续的。2) 二进制逢二进一,八进制逢八进一,十进制逢十进一,十六进制逢十六进一。二转十:将二进制数值各项展开

2022-04-18 21:01:42 1252

原创 APB_SRAM验证平台常规知识点

APB验证平台常规知识点1、验证平台的结构The UVM testbench structure2、各组件的作用1)Driver:注册于component,将apb_seq_item作为传入数据类型,实例化apb_mstr_agent_config/apb_interface,声明端口uvm_analysis_port用于将apb_seq_item经由driver传入scoreboard,构建new函数/build_phase函数/connect_phase函数;构建run_phase任务用于,r

2021-09-26 11:25:09 973

原创 SVA学习小结

SVA学习小结1、为什么要使用断言(assertions)?断言主要用于检查设计的行为是否正常。可以用来提供功能覆盖信息,断言可以分为立即断言和并发断言。2、什么是立即断言(Immediate assertions)和并发断言(concurrent assertion)?立即断言:当使用if或assert()执行语句时,立即断言检查表达式是否为真。并发断言:并发断言通过使用property持续检查仿真过程中的信号值。...

2021-09-18 10:04:56 20

原创 UVM学习小结

UVM学习1、UVM是一种用于验证数字设计标准化的简单方法,其优势是第一种自动化方法和第二种自动化类库的集合;贯穿于验证平台的可重用性;通用的验证平台开发;供应商和模拟器独立;高智能的验证平台(即从预先设计的覆盖计划中产生合法的激励);即插即用的验证IP;支持CDV(覆盖率驱动)验证;支持CRV(受限随机)验证;支持寄存器模型;UVM在Accelerate System Initialive 下标准化;2、uvm_component与uvm_object之间有什么区别?uvm_co

2021-09-04 22:45:58 2218 2

原创 Linux下VCS/IRUN的操作命令

VCS的常用操作VCS是synopsys的仿真器,基于Linux系统,有命令行模式和图形化模式,图像化模式是dve。vcs要使用图形化界面dve,必须先编译得到vpd文件。1、常见命令shell>vcs file.v 编译.v文件,得到可执行的simv文件shell>vcs file1.v file2.v -o test1 编译.v文件,得到一个名称为test1的可执行的simv文件shell>./simv 执行simv文件shell>./test1 执行名为

2021-08-23 11:31:59 8790 2

原创 SV学习知识小结

1、systemverilog package的作用以及include和import的区别?答:include是编译预处理语句,是将文件中的内容插入到当前文件中。import是package里面的全部identifiers 或者指定identifiers 对当前作用域可见。2、为什么resetn需要定义两次?一次在时钟块中,一次在modport中?答:为了做到异步复位,同步释放。因此resetn有效时应当直接使用<接口实例名>resetn,释放时为<接口实例名>.resetn

2021-08-18 15:44:28 2060

原创 2021笔试题总结

小米笔试题1、3分频,占空比50%,用verilog描述?2、除法器实现,16bit,8bit,求C = A/B?3、AHB总线协议,包括哪些信号以及它们的作用?

2021-08-05 20:49:38 263

原创 Linux 常用命令-数字IC验证

Linux 常用命令1、目录操作cd 切换目录(current directory)cd ~/example 其中 ~ 特使用户的主目录cd 回到用户目录位置cd …/ 返回上一级目录 其中一个点表示当前目录,两个点表示上一级目录,这种表示方法是相对路径;绝对路径如:cd /home/haha/labpwd 显示当前工作目录(print working directory)ls 列出文件和目录ls ~/examplels -l ~/example 其中,-l参数表示详细信息mkdi

2021-07-31 11:22:50 1503

原创 验证基础问答

验证基础问答1.1理论基础1、什么是验证?验证是确保设计与预定的设计期望一致(吻合)的过程。2、什么是验证平台/验证环境?验证平台:产生一个或多个激励;将激励发送到设计的输入中;将输出进行比较,看结果是否正确。3、验证的难点(1)如何产生全部的激励;(2)如何检查结果的正确性。4、功能验证流程(1)制定验证策略和验证计划;(2)创建验证平台,运行和测试;(3)覆盖率分析和回归测试。回归测试:①要求所有test都通过,在很长时间(两周/一个月/三个月)稳定,不会出现新的错误;②分析cov

2021-07-29 11:43:14 709

转载 用Verilog实现串并转换

数字IC设计——用Verilog实现串并转换一、串转并转换模块1、利用移位寄存器串行转并行数据输出:采用位拼接技术(移位寄存器),将串行的数据总数先表示出来,然后发送一位数据加一,后面的接收的这样标志:data_o <= {data_o[6:0],data_i };1输入8输出 的 串转并模块的Verilog代码module serial_parallel( input clk, input rst_n,en, input

2021-06-08 16:24:06 12348 2

转载 设计一个状态机,A饮料10分钱,B饮料5分钱,投币分5分钱和10分钱,考虑找零。

//设计一个自动饮料售卖机,共有两种饮料,其中饮料 A 每个 10 分钱,饮料 B 每个 5 分钱//硬币有 5 分和 10 分两种,并考虑找零。//要求用状态机实现,定义状态,画出状态转移图,并用 Verilog 完整描述该识别模块。//sel为1.表示选择饮料A,sel为0,表示选择饮料B。//输入2’b01–表示5分钱,2’b10–表示10分钱。//d_in表示投入钱的数量,d_out高表示输出饮料,d_c表示找零。module sel_fsm (clk,rst,sel,din,dout,

2021-05-15 20:04:24 1443 2

原创 时钟分频verilog-偶分频,奇分频

1、偶分频偶分频是时钟模块设计较为简单。分频系数M和计数器值N。M = 时钟输入频率 / 时钟输出频率N = M / 2如输入时钟为50M,输出时钟为25M,则M=2,N=1。偶分频则意味着M为偶数。只需要将counter以clk_in为时钟驱动计数,当counter = (N-1)时,clk_out翻转即可。Verilog代码module time_adv_even(clk,rst,clk_out); parameter N=2,WIDTH=7; input clk,rst; outp

2021-05-11 19:21:49 975

原创 SPI接口控制器-简化的SPI接收机

简化的SPI接收机,用来完成8bit的数据传输。sclk为时钟接口;srst为清零信号,低电平有效;sen为接口使能信号,高电平有效;ss_n为片选信号,选择从设备,高电平有效。当电路上电时,首先将清零信号置位有效,初始化电路,当sen使能信号有效后,开始传输数据,由于传输数据为8bit,因此sen使能信号应该至少保持8个时钟周期。当8bit数据全部输入后,片选信号ss_n有效,选择从设备,将数据整体输出。片选信号ss_n由3bit计数器产生,当计数器计数到111状态时,ss_n=1,其他状态ss_n为

2021-04-28 10:26:02 509

原创 UART接口控制器-RS-232的9脚接口

RS-232常见引脚信号的定义RXD-接收数据,TXD-发送数据,DTR-数据终端准备,GND-信号地,DSR-数据设备准备好,RTS-请求发送,CTS-清除发送。串口也称为UART。在实际应用中,通常只用TXD和RXD两个引脚,而其它的引脚都不使用。UART接口时序图在没有数据的情况下接口处于高电平(Mark),在数据发生前先将电平置低(space)一个周期,在该周期称为起始比特(Start bit),之后开始发送第0个到最后一个比特数据。UART接口每次可以发送6位或者7位,或8位数据。在数据位

2021-04-26 11:57:41 1015

原创 深度为8,位宽为8 bit的ROM

module rom(clk,addm,cs_n,dout); input clk,cs_n; input [2:0] addm; output [7:0] dout; reg [7:0] dout; reg [7:0] rom [7:0]; initial begin rom[0] = 8'b0000_0000; rom[1] = 8'b0000_0001; rom[2] = 8'b0000_0010; rom[3] = 8'b0000_0011; rom[4] =

2021-04-24 21:09:30 1238

原创 深度为8,位宽为8bit的双端口RAM

双端口RAM具有两套地址总线,一套用于读数据,另一套用于写数据,两者可以分别进行操作。module ram_dual(clk1,clk2,q,addr_in,addr_out,d,we,rd); input clk1,clk2,we,rd; input [2:0] addr_in,addr_out; input [7:0] d; output [7:0] q; reg [7:0] q; reg [7:0] mem [7:0]; always @ (posedge clk1) begi

2021-04-24 19:56:27 1018

原创 深度为8,位宽为8bit的单端口RAM

单端口RAM只有一套地址总线,读操作和写操作是分开的。module one_bit_fulladder(clk,addm,cs_n,we_n,din,dout); input clk,cs_n,we_n; input [2:0] addm; input [7:0] din; output [7:0] dout; reg [7:0] dout; reg [7:0] raml [7:0]; always @ (posedge clk) begin if(cs_n) dout

2021-04-24 19:25:12 688

原创 序列信号发生器-移位寄存器构成

电路工作频率高,缺点:移位寄存器长度取决于序列长度,电路占用面积大module signal_maker(clk,reset,dout,load,din,d); parameter width = 4; input clk,reset,load; input [width-1:0] din; output [width-1:0] dout; output d; reg [width-1:0] dout; always @ (posedge clk) if(reset) dout

2021-04-22 20:51:18 1326

转载 Verilog相关知识小结

Verilog相关知识1、总结verilog产生随机数的$random和seed:http://blog.sina.com.cn/s/blog_679686370102woyz.html2、两种跨时钟域的信号的同步方法:http://blog.sina.com.cn/s/blog_679686370102wn5f.html新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全

2021-04-16 20:37:37 132

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除