weiqi7777

跟文件系统与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中,如果一个函数的参数为数组,那么在外部调用这个函数时,可以向这个数组参数,传递一个真正的数组,也可以通过'{}方式,传递一个常量数组。这样,可以避免在外部定义一个数组,对数组进行赋值,然后进行传递。格式为以下:'{数组索引:值,数组索引:值

cadence vmanager(十一) 杂说

一、vmanagerweb查看reportsvmanager的web,可以查看reports。包括summary,metrice,vplan。在创建vmanagerserver的profile,会指定一个目录,存放profile生成的文件。在这个目录下,有目录vapi目录。web中report的内容,均在这个文件夹下。vapi目录下,是以project分

uvm中run_test

run_test是在uvm_globals.svh中定义的一个task,用于启动UVM。获取到uvm_root的单个实例,然后调用top的run_test函数。传入test_name的名字。在UVM-1.2中,获取uvm_root的单个实例,要通过uvm_coreservice_t的单个实例去获取。定义了一些变量。factory:工厂类单例testn

uvm中获取cmdlind内容

UVM中,会从cmdline中,获取内容。比如+UVM_TESTNAME,得到要执行的testcase的名字。一、uvm_cmdline_processor类uvm通过uvm_cmdline_processor类,来实现读取cmdline的内容。在这个类中,定义了3个队列。m_argv:保存cmdline的传参m_plus_argv:保存以+开头的cmdline参数

ARM访问实现自定义系统寄存器

ARMv8中,取消了协处理器,之前协处理器实现的功能,全部由系统寄存器来是实现。对于系统寄存器的访问,使用mrs,msr指令来访问。指令编码如下:L:1,mrs,读取系统寄存器值到通用寄存器中L:0,msr,将通用寄存器值写入到系统寄存器中而系统寄存器的编码,由op1,CRn

AMBA低功耗接口(二)P_Channel

为了满足复杂的power管理的需求,arm提供了P_Channel的低功耗接口,来满足这样的应用场景。一、P_ChannelP_Channel,提出了一个概念,叫powerstatetransition,power状态的切换。在P_Channel的应用场景中,power的状态有很多,这个是实现自己定义的。power的各个状态之

AMBA低功耗接口(一)Q_Channel

AMBA提供了,低功耗的接口。用于实现power控制功能。目前,AMBA里面,包含2种低功耗接口。Q-Channel:实现简单的power控制,如上电,下电。P-Channel:实现复杂的power控制,如全上电,半上电,1/4上电等。ARM引入这2种低功耗接口,是为了满足不同的应用场景下,对power

跟文件系统(二)busybox构建跟文件系统

rootfs有两种格式:nfs方式启动的文件夹形式的rootfs和用来烧录的镜像形式的rootfs。一、busybox移植1、busybox下载busybox是一个开源项目,源代码可以网上下载。官网:https://busybox.net/downloads/,有多个版本。下载完毕后,在linux下解压。得到以下的一些目录和文

跟文件系统 (一)跟文件系统简介

一、为什么需要根文件系统1、init进程的应用程序在根文件系统中linux在启动之后,会去执行init进程。将自己变为应用进程,而init进程就是linux的进程1,然后再由这个进程,去生成其他的进程。而这init进程,就是在根文件系统中,因此需要根文件系统,来向内核提供init进