weiqi7777

irun增量编译

irun支持MSIE编译,MSIE的全称是multi-snapshotincrementalelaboration。将多个编译好的snapshot,组合成一个最终的snapshot,去仿真。利用这个技术,我们就可以使用irun来进行增量编译,从而节约编译时间。为了实现增量编译,我们将snapshot分为primarysnapshot和incre

jenkins因为metrics插件出现内存溢出

近几天,服务器的jenkins,总是出现内存溢出,OutOfMemory。如下图所示:查了网上的解决办法,该jenkins的配置,将内存配置大一些,我们也尝试了,但是将jenkins重启后不久,就又出现了内存溢出的情况。这个问题,搞了好几天,才解决掉。最后,还是从报错的log文件中,

coresight(八)soc-400套件

八、coresightsoc-400因为coresight属于ARM制定的标准,因此ARM针对coresight,设计出来soc-400套件。设计人员可以利用这个套件,快速的生成coresight系统,并且生成相应的case,对coresight系统进行验证。coresightsoc-400系统框图:这个套件中,可以利用AMBA-designer

coresight(七)coresight的两大功能

七、coresight的两大功能coresight具有两大功能,一个是debug,一个是trace。1、debugdebugger通过DAP,来实现debug功能。1.1、单core的debug系统:一个DAP,加上一个AP和APBIC。外部对DP访问,DAP将DP访问,转化为AP访问,AP通过APBIC,生成AP总线,通过bridge,对ARMc

dvteclipse代码预处理(六)

dvteclipse工具,提供了对代码预处理的功能。官网上,也对代码预处理进行了介绍:https://www.dvteclipse.com/documentation/sv/Preprocessed_Files_Support.html这里,以使用ep3命令对代码进行预处理为例,进行说明。工程结构如下:test.svp:需要使用ep3命令预处理的

coresight(六) power requestor

六、powerrequestorpowerrequestor属于coresight组件。这个组件用来控制系统的powerdomain,最多可以控制32个。如果没有powerrequestor,通过DAP,只能对整个coresight系统进行上下电操作,但是有了powerrequestor,可以对某些关心的组件,进行上下电操作,实现power的

coresight(五) rom table

五、romtable在一个soc中,有多个coresight组件,但是软件怎么去识别这些coresight组件,去获取这些coresight组件的信息了?这个时候,就需要靠coresight组件中,一个重要的组件,这个组件就是romtable。ARM规定,在一个soc中,必须要实现至少1个romtable,该romtable,

coresight(四) channel interface

四、channelinterafacechannelinterface是用来使不同coresight组件之间传递event使用。使用两个组件来实现:CTM:crosstriggermatrix,接收CTI的channel信号,然后广播给其他CTICTI:crosstriggerinterface,接收trigger信号,发送trigger信号,接收channel信号,发送cha

coresight(三)APB,ATB总线

三、APB,ATB总线APB和ATB总线,是coresight中常用的2个总线。对于coresight组件的访问,使用debugAPB总线进行访问。而对于trace数据的传输,使用ATB总线进行传输。1.APB总线以下是信号列表。clampvalue,是指当一个组件是powerdown或者是disabled,输出的固定值。APB访

coresight(二)coresight寄存器

二、coresight的寄存器coresight对于每个coresight组件,规定了一些寄存器,这些寄存器的偏移是固定的,这些寄存器,是必须存在的。但是有的,可以不实现该寄存器功能。1、寄存器一览coresight架构,对于coresight的组件,定义了若干个固定的寄存器。第一个寄存器的偏移

coresight(一)coresight简介

一、coresightcoresight是ARM公司提出的,用于对复杂的SOC,实现debug和trace的架构。该架构,包含了多个coresight组件。众多的coresight组件,构成了一个coresight系统。我们也可以根据coresight架构,实现自己的coresight组件。每个coresight的组件(component),都

使用ep3命令对代码进行预处理

在写代码时,有一些重复代码,我们想简写这部分代码,以节省编码工作,然后使用预处理工具进行处理,得到最终的代码。perl的EP3,就是这样的一个工具。在https://metacpan.org/search?q=ep3网站上,有介绍这个工具,其实就是perl的一个插件。可以对该插件进行封装,得到

A64的system指令

system指令,也就是sys,sysl指令,的编码如下所示:L:传输方向0寄存器传输到系统寄存器,sys指令1系统寄存器传输到寄存器,sysl指令op0:系统指令类型2'b00:访问PSTATE,访问当前PE状态,hint指令,barrier指令,CLREX指令2'b01:cache维护指令(DC),TLB维护指令(TL

VCS与verdi联合进行单步调试

我们在验证的时候,会有对自己写的验证代码进行debug的时候,往往在这个时候,我们基本是通过$display,系统函数来打印我们关心的东西,然后进行debug。但是这样的效率是很低的。vcs提供了单步调试的功能,并且能够配合verdi工具。利用这两个工具,可以方便我们进行debu

dvteclipse创建新工程(五)

下面,以一个UVM的验证环境,说明一下,怎么使用DVT工具,创建工程。验证环境如下:flist:filelist,包含了环境中需要编译,仿真的文件get_file.sh:自动生成flist文件的脚本Makefile:执行编译,仿真的makefilesource:RTL源代码目录top_tb.sv:验证环境顶层uvm_code: