- 博客(159)
- 资源 (6)
- 收藏
- 关注
原创 UART模块验证(1)
带时钟同步信号的数据传输,发送方和接收方在同一时钟控制下,同步传输。通用异步串行收发传输器(,通常称为UART)是一种异步收发全双工传输器。该传输器由两根信号线组成,一根数据发送线TX,一根数据接收线RX,通信时数据以传输帧为单位,一帧数据包括四个部分,分别是起始位数据位奇偶校验位和停止位。通常情况下数据可以为5-8位,奇偶校验位可以奇校验偶校验或是无校验。UART中传输数据逻辑,未进行数据传输时,数据线时钟处于高电平,开始进行一帧数据传输时,数据线上的电平首先会被拉低,当前位为起始位,随后8个数据位(
2023-04-29 21:44:19
16388
转载 SystemVerilog中指定打印格式
本文主要总结一下中的占位符,通过合理的使用占位符,在log中按自己指定的格式打印信息,方便debug。
2023-01-19 17:37:00
6854
转载 always_comb,always_ff,和always_latch语句
always_comb,always_ff,和always_latch语句
2022-10-26 20:33:09
6894
原创 vcs仿真
首先介绍VCSVCS:verilog compile simulationVCS 运行有两种方式,交互模式(interactive model),一种是批处理模式(batch mode)。交互模式带gui跑,调试方便,显示更直观。做回归时候,当只关心case跑完结果情况时,就可以采用批处理模式了。编译步骤参考手册,vcs user guide使用vcs仿真,分以下步骤:编译(compiling the design),编译rtl code,生成可执行文件*simv仿真(simulating
2021-10-04 17:53:35
3158
原创 寄存器模型(1)
寄存器以下寄存器描述:硬件中的各个功能模块可以由处理器来配置功能以及访问状态,而与处理器的对话即是通过寄存器的读写来实现的。寄存器的硬件实现是通过触发器,而每一个比特位的触发器都对应着寄存器的功能描述(function specification)。一个寄存器一般由32个比特位构成,将单个寄存器拆分之后,又可以分为多个域(field),不同的域往往代表着某一项独立的功能。单个的域可能有多个比特位构成,也可能由单一比特位构成,这取决于该域的功能模式可配置的数量。而不同的域,对于外部的读写而言,又
2021-08-07 18:37:49
19033
原创 sequence系列之sequence和sequencer
sequence和item发送实例未封装实例如下:class bus_trans extends uvm_sequence_item; //bus item定义 rand int data; `uvm_object_utils_begin(bus_trans) `uvm_field_int(data, UVM_ALL_ON) `uvm_object_utils_end ...endclassclass child_seq extends uvm_sequence; //child_
2021-07-31 23:42:53
1113
原创 sequence系列之sequence and item,and driver
sequence and item概述sequence指的是uvm_sequence类,而item指的是uvm_sequence_item类。对于激励生成和场景控制,是由sequence来编织的,而对于激励所需要的具体数据和控制要求,则是从item的成员数据得到的。介绍item是基于uvm_object类,这表明了它具备UVM核心基类所必要的数据操作方法,例如copy()、clone()、compare()、record()。item根据数据成员的类型,将划分为:控制类。例如总线协议上的读
2021-06-14 16:46:13
610
原创 同步通信元件
概述SV用来做线程同步的几种元件,它们分别是semaphore、event、mailbox。在UVM中,需要同步线程不再只局限于同一个对象中,还需要解决不同组件之间的线程同步问题。一旦线程同步要求发生在不同组件,这就要求组件之间可以通过某种方法来实现同步。UVM为解决组件封闭性问题,定义了如下类来满足组件之间的同步要求。uvm_event,uvm_event_pool,uvm_event_callback,uvm_barrier,uvm_barrier_pooluvm_eventuvm_eve
2021-04-11 23:37:31
678
原创 UVM通信1.0
开发流程TLM通信概念a. TLM是一种基于事务(transaction)的通信方式,通常高抽象级语言例如SystemC或者SV/UVM中作为模块之间的通信方式。TLM通信需要两个通信对象,这两个对象分别称为initiator(发起方)和target(响应方)。通信发起方并不代表了Transaction的流向起点,即不一定数据是从initiator流向target,也可能是从target流向了initiator。(数据不一定是由发起方流向响应方,发起方既可以向响应方传递数据(put),也可以向响应
2021-03-14 17:12:05
17394
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人