weiqi7777

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:

dvteclipse配置RUN(四)

DVT可以配置run功能,直接在DVT中,运行仿真任务。工程右键,RunAs->RunConfigurations。demo工程,预设了几个RUN配置。以支持debug模式,run模式,以及不同的仿真工具。右下角,配置RUN的命令。这里是执行make命令。sh–c,说明以bash解释器,来执行后面的命令。在S

dvteclipse软件使用(三)

下面,简单介绍下,该软件的一些功能。一、自动补全输入一部分,按ctrl+空格,就会弹出对话框,进行选择,要自动补全的内容。DVT还支持,缩写补全,比如上面的uvm_table_printer,可以输入u_t_p,然后按ctrl+空格,就会自动补全成uvm_table_printer。二、显示类的类型层

dvteclipse打开demo工程(二)

下面,介绍一下,该软件如何打开demo工程。在终端,输入dvt,就会启动dvt软件。打开软件后,在左上角工程目录,会自动出现2个文件夹。其中DVT-Examples,里面是软件提供的demo工程,可以使用这些demo,来熟悉工具的使用。展开,选择systemverilog下的uvm-1.2_ubus工程。

dvteclipse工具简介(一)

这几天,在公司体验了开发verilog,systemverilog,UVM的IDE,真是不用不知道,一用吓一跳,该IDE的功能真是太强大了,简直是开发verilog,systemverilog,UVM的神器。该工具的官方网站如下:https://www.dvteclipse.com/该网页上的DOCS,介绍了该软件的使用方法。该软

ARMv8的CPSR

ARM处理器,有一个寄存器,叫CPSR,保存了当前的处理器状态。但在ARMv8中,AArch64(以下简称A64)和AArch32(以下简称A32)对于这寄存器,有不同的规定。一、A64在A64中,不在使用单一的CPSR寄存器,来保存当前处理器状态,而是用PSTATE来保存处理器状态。PSTATE,包括