ARM GIC(三) gicv2架构
ARM的cpu,特别是cortex-A系列的CPU,目前都是多core的cpu,因此对于多core的cpu的中断管理,就不能像单core那样简单去管理,由此arm定义了GICv2架构,来支持多核cpu的中断管理。一、gicv2架构GICv2,支持最大8个core。其框图如下图所示:在gicv2中,gic由两个大模块组
发表于 7/18/2018 8:57:03 PM
阅读(6883)
ARMv8 系统定时器
ARMv8架构中,定义了一个系统定时器(systemtimer),并且指定了这个系统定时器,需要实现的寄存器,以及各个寄存器的偏移。系统寄存器中,包含一个系统计数器,以及一些控制寄存器,状态寄存器等。寄存器,包含如下:寄存器的基地址,由CNTControlBase来指定。其实是由
发表于 7/17/2018 6:17:07 PM
阅读(2773)
ARM GIC(二)中断术语
ARM在GIC中,对于中断,定义了如下的一些术语。一、中断状态对于每一个中断而言,有以下4个状态:inactive:中断处于无效状态pending:中断处于有效状态,但是cpu没有响应该中断active:cpu在响应该中断activeandpending:cpu在响应该中断,但是该中断源又发送中断过来
发表于 7/12/2018 9:57:19 PM
阅读(2870)
使用arm DS5在fvp上debug
在调试arm的软件时,可以使用arm公司提供的DS5工具,配合FVP,进行debug。启动ds5,选择Window->OpenPerspective->DS-5Debug进入DS5debug界面,如下图所示:一、debug配置在Debugcontrol子界面,右键选择debugconfiguration,弹出debug配置界面。如下图所示:在DS
发表于 7/11/2018 9:11:08 PM
阅读(2761)
ARM GIC(一) cortex-A 处理器中断简介
对于ARM的处理器,中断给处理器提供了触觉,使处理器能够感知到外界的变化,从而实时的处理。本系列博文,是以ARMcortex-A系列处理器,来介绍ARM的soc中,中断的处理。ARMcortex-A系列处理器,提供了4个管脚给soc,实现外界中断的传递。分别是:nIRQ:物理普通中断nFIQ:
发表于 7/11/2018 9:04:36 PM
阅读(5957)
jenkins启动失败
重启jenkins,出现如下问题:com.thoughtworks.xstream.mapper.CannotResolveClassException:hudson.security.ProjectMatrixAuthorizationStrategyat...Caused:jenkins.util.xstream.CriticalXStreamException:hudson.security.ProjectMatrixAuthorizationStrategy:huds
发表于 5/27/2018 11:46:30 PM
阅读(10150)
irun仿真,竞争产生毛刺,使wait条件满足
在仿真中,出现了以下奇怪的问题。如下Tb代码,uart_send_one_data任务,发送一个数据后,要等待finish为高后,才可以发送下一个数据。但是在实际仿真过程中,发现finish信号,并没有变高,wait语句条件就成立了,然后退出该task。又重新发送了一个数据。波形如下:fini
发表于 5/27/2018 11:39:58 PM
阅读(1980)
跟文件系统与ramdisk
一、文件系统文件系统,是管理文件数据的一堆程序。操作系统,可以通过这些程序,从块设备中,读取或者写入文件。常见的一些文件系统:FAT32NTFSEXT2EXT3二、扇区和簇扇区,是块设备(硬盘,nandflash,SD卡)读取和写入的最小单位。一般是512字节。簇是文件系统,管理
发表于 5/6/2018 6:57:32 PM
阅读(1629)
irun工具检测TB环境零延时无限循环
在写TB代码时,如果循环退出条件没注意,可能使循环一直不能退出,而且该循环又是没有延时的,因此就出现了zero-delay(零延时)的无限循环。如下循环代码:本来每次循环,i会加一,当i不小于50,就会退出循环。但是因为在循环体内,将i又减一,因此,循环退出条件不能
发表于 4/28/2018 7:31:34 PM
阅读(2257)
irun工具检测zero-delay组合逻辑
编写RTL,如果不注意,可能会写出zero-delay(零延时)的组合逻辑,也就是组合逻辑的输出,直接反馈到组合逻辑的输入上。如下图中组合逻辑,就是零延时的组合逻辑。对于这样零延时的组合逻辑,在仿真的时候,仿真工具会一直卡在这个仿真时间处,不会向前走。代码如下,t
发表于 4/27/2018 9:56:51 PM
阅读(3524)
cadence验证仿真工具IUS和IES
cadence,有两大验证仿真工具。一个是IUS,一个是IES。IUS是cadence以前的仿真工具,功能略弱。代表工具,ncverilog。官方介绍:IUS(incisiveunifiedsimulator)CadenceIUSallowstoperformbehavioralsimulationonVerilogandVHDLcode.IES是cadence现在的仿真工具,功能
发表于 4/20/2018 10:11:37 PM
阅读(8216)
irun增量编译bind操作遇到的问题
使用irun的增量编译,可以在环境修改情况下,加快编译速度。在实际的使用过程中,在bind操作,遇到了编译的问题。下面将该问题进行分享。TB部分,有bind的操作,将一些模块,或者interface,bind到RTL的一些模块上,此时如果使用增量编译,出现bind不成功。如以下示例代
发表于 4/20/2018 9:34:40 PM
阅读(4434)