weiqi7777

ARM GIC(二)中断术语

ARM在GIC中,对于中断,定义了如下的一些术语。一、中断状态对于每一个中断而言,有以下4个状态:inactive:中断处于无效状态pending:中断处于有效状态,但是cpu没有响应该中断active:cpu在响应该中断activeandpending:cpu在响应该中断,但是该中断源又发送中断过来

使用arm DS5在fvp上debug

在调试arm的软件时,可以使用arm公司提供的DS5工具,配合FVP,进行debug。启动ds5,选择Window->OpenPerspective->DS-5Debug进入DS5debug界面,如下图所示:一、debug配置在Debugcontrol子界面,右键选择debugconfiguration,弹出debug配置界面。如下图所示:在DS

ARM GIC(一) cortex-A 处理器中断简介

对于ARM的处理器,中断给处理器提供了触觉,使处理器能够感知到外界的变化,从而实时的处理。本系列博文,是以ARMcortex-A系列处理器,来介绍ARM的soc中,中断的处理。ARMcortex-A系列处理器,提供了4个管脚给soc,实现外界中断的传递。分别是:nIRQ:物理普通中断nFIQ:

jenkins pipeline中对git的操作

jenkins的pipeline对git的操作

ueditor编辑器增加verilog语法高亮

ueditor增加verilog/sv语法高亮。

pxp的ixcom模式,memory不能定义太大问题

pxp的ixcom模式,memory不能定义太大问题

jenkins启动失败

重启jenkins,出现如下问题:com.thoughtworks.xstream.mapper.CannotResolveClassException:hudson.security.ProjectMatrixAuthorizationStrategyat...Caused:jenkins.util.xstream.CriticalXStreamException:hudson.security.ProjectMatrixAuthorizationStrategy:huds

irun仿真,竞争产生毛刺,使wait条件满足

在仿真中,出现了以下奇怪的问题。如下Tb代码,uart_send_one_data任务,发送一个数据后,要等待finish为高后,才可以发送下一个数据。但是在实际仿真过程中,发现finish信号,并没有变高,wait语句条件就成立了,然后退出该task。又重新发送了一个数据。波形如下:fini

跟文件系统与ramdisk

一、文件系统文件系统,是管理文件数据的一堆程序。操作系统,可以通过这些程序,从块设备中,读取或者写入文件。常见的一些文件系统:FAT32NTFSEXT2EXT3二、扇区和簇扇区,是块设备(硬盘,nandflash,SD卡)读取和写入的最小单位。一般是512字节。簇是文件系统,管理

irun工具检测TB环境零延时无限循环

在写TB代码时,如果循环退出条件没注意,可能使循环一直不能退出,而且该循环又是没有延时的,因此就出现了zero-delay(零延时)的无限循环。如下循环代码:本来每次循环,i会加一,当i不小于50,就会退出循环。但是因为在循环体内,将i又减一,因此,循环退出条件不能

irun工具检测zero-delay组合逻辑

编写RTL,如果不注意,可能会写出zero-delay(零延时)的组合逻辑,也就是组合逻辑的输出,直接反馈到组合逻辑的输入上。如下图中组合逻辑,就是零延时的组合逻辑。对于这样零延时的组合逻辑,在仿真的时候,仿真工具会一直卡在这个仿真时间处,不会向前走。代码如下,t

cadence验证仿真工具IUS和IES

cadence,有两大验证仿真工具。一个是IUS,一个是IES。IUS是cadence以前的仿真工具,功能略弱。代表工具,ncverilog。官方介绍:IUS(incisiveunifiedsimulator)CadenceIUSallowstoperformbehavioralsimulationonVerilogandVHDLcode.IES是cadence现在的仿真工具,功能

irun增量编译bind操作遇到的问题

使用irun的增量编译,可以在环境修改情况下,加快编译速度。在实际的使用过程中,在bind操作,遇到了编译的问题。下面将该问题进行分享。TB部分,有bind的操作,将一些模块,或者interface,bind到RTL的一些模块上,此时如果使用增量编译,出现bind不成功。如以下示例代

uvm中直接操作RTL信号

UVM提供了一种机制,可以直接对RTL中的信号进行操作,比如赋值,force,release。在uvm_hdl.svh文件中。提供了相关的操作RTL信号函数。文件中,定义了使用typedef定义了uvm_hdl_data_t类型,其实就是大小为1024bit的数据。然后根据宏UVM_HDL_NO_DPI,是否定义,从而决定

sv的数组参数传递

systemverilog中,如果一个函数的参数为数组,那么在外部调用这个函数时,可以向这个数组参数,传递一个真正的数组,也可以通过'{}方式,传递一个常量数组。这样,可以避免在外部定义一个数组,对数组进行赋值,然后进行传递。格式为以下:'{数组索引:值,数组索引:值