- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 GCC编译流程及参数分析、动态静态库的使用
目录一、gcc编译器1.1、gcc工作流程1.2、GCC编译流程分析1.3、GCC处理过程中的文件后缀名分析1.4、示例二、静态库编写与调用2.1、静态库的命名与创建格式2.2、静态库作用分析2.3、静态库的创建与使用1、编写静态库源码fun.c2、给库源码fun.c编写头文件fun.h3.编译为静态库4、编写测试程序test.c5、编译test.c,并链接静态库libfun.a三、动态库(共享库)3.1、动态库的命名格式3.2、动态库作.
2021-12-19 13:43:32
986
原创 Makefile学习整理
Makefile的规则1、显示规则:显式规则说明了如何生成一个或多个目标文件。这是由Makefile的书写者明显指出要生成的文件、文件的依赖文件和生成的命令。规则语法:targets : prerequisites command或者有多个依赖文件:targets : prerequisites ; command command ...target:可以是一个object file(目标文件),也可以是一个执行文件,还可以是一个标签(label)。对
2021-12-13 16:16:42
917
原创 RISCV仿真环境搭建:riscv-tools
在centos7系统上安装riscv-tools仿真工具(在装过riscv-gnu-toolchain交叉编译器情况下安装此仿真工具)。两者的关系:riscv-gnu-toolchain是编译环境,利用这个工具链对C/C++文件进行编译,生成一个输出文件(file.o或者file.ELF类型),riscv-tools是仿真工具(模拟目标机器),对前面输出的可执行文件(.o类型)进行仿真。1、安装软件包对于Ubuntu :$ sudo apt-get install autoconf aut
2021-12-13 14:54:14
4785
原创 【CentOS7】riscv-gnu-toolchain交叉编译器的构建
目录1、首先安装git2、安装软件包3、下载riscv-gnu-toolchain库4、下载子仓库5、编译工具链5.1、riscv32-unknown-elf-gcc5.2、riscv64-unknown-elf-gcc5.3、riscv32-unknown-linux-gnu-gcc5.4、riscv64-unknown-linux-gnu-gcc5.5、riscv64-linux-multilib5.6、riscv64-multilib-elf-gcc在c
2021-12-09 15:48:53
3931
原创 【CentOS7】yum安装时出现错误: [Errno 14] curl#7 - “Failed connect to mirrors.cqu.edu.cn:80;
可能是新装的系统未关闭selinux;解决方法:[root@localhost riscv]$ vi /etc/selinux/config将红框内容修改成disabled注:selinux的常用命令及释义(selinux是什么了,感兴趣的话可以去查询)getenforce查看selinux运行状态显示会有三种状态,分别是:Enforcing已开启并开机自启Permissive临时关闭Disabled...
2021-12-06 17:23:19
6737
1
原创 【CentOS7】中下载rpm包(sudo yum install ***)时出现的错误(解决办法?)
1、装包时出现错误装包时出现错误:[lzy@bogon riscv]$ sudo yum install vim[sudo] password for lzy: Loaded plugins: fastestmirror, langpacksExisting lock /var/run/yum.pid: another copy is running as pid 3129.Another app is currently holding the yum lock; waiting for
2021-12-06 17:03:20
1454
原创 SystemVerilog学习整理——例化连接与接口
目录3、SystemVerilog——设计例化和连接以及验证结构3.1设计例化和连接3.2验证结构4、SystemVerilog——接口interface4.1接口(把信号封装,便于维护和使用)4.2采样和数据驱动(竞争、接口中的clocking用于信号的同步)4.2.1竞争问题4.2.2接口中的clocking块4.3测试的开始和结束(时钟复位信号开始,系统函数调用stop、finish结束、program隐式结束)4.3.1时钟和复位信号开始4.3.2结束方.
2021-12-01 20:40:20
8874
原创 SystemVerilog学习整理——过程块和方法
2、SystemVerilog——过程块和方法(initial、always、task、function、automatic和static)2.1initial和alwaysalways、module、interface:硬件世界 program,class:软件世界从硬件实现的角度来看,Verilog通过always,initial过程语句块、信号数据连接来实现进程间通信,我们将不同的module作为独立的程序块,他们之间的通信和同步通过信号的变化(event触发)或者通过等待...
2021-12-01 20:36:04
2918
原创 SystemVerilog学习整理——数据类型
目录1、SystemVerilog——数据类型1.1内建数据类型(四值逻辑和二值逻辑)1.1.1逻辑类型1.1.2符号类型1.1.3类型转换1.1.4流操作符1.2定宽数组1.2.1一维定宽数组1.2.2常量数组1.2.3多维数组1.2.4数组的基本操作for和foreach1.3 动态数组1.4队列1.5关联数组1.6数组的方法1.6.1数组直接赋值1.6.2数组大小返回1.6.3数组运算方法1.6.4数组排序方法1.6.5.
2021-11-30 20:32:03
6349
1
原创 UVM学习整理——UVM通信(sequence)
五、sequenceUVM的sequence机制最大的作用就是将test case和testbench分离开来。 对一个项目而言,testbench是相对稳定的框架,而针对各个module要有不同的测试内容,所以具体的test case 的差异非常大。在UVM中, test和sequence类总是成对出现,实现了testbench和具体的test case的结合。test类中可以针对具体的测试内容对testbench做一些差异化配置,在sequence类中则是实现test case的具体...
2021-11-28 15:25:28
4479
原创 UVM学习整理——UVM通信(component类)
三、UVM通信(component类)UVM验证平台的特点是验证环境整体基于面向对象的开发方式,组件之间的通信也是基于TLM通信方式,但在driver与硬件的接口之间,需要将TLM抽象事务降解到基于时钟的信号驱动级别。3.1UVM TLM基本概念TLM是一个基于事务(transaction)的通信方式,TLM通信两个对象根据通信动作分为initiator object(通信请求动作发起方)和target object(通信的响应方);根据事务传输方向分为produ...
2021-11-28 11:15:32
2199
原创 UVM学习整理——UVM结构(object派生类)
目录2.3uvm object派生类2.3uvm object派生类除了派生自uvm_component类之外的类,几乎所有的类都派生自uvm_object。换个说法,除了driver、monitor、agent、model、scoreboard、env、test之外的几乎所有的类,本质上都是uvm_object,如sequence、sequence_item、transaction、config等。uvm_sequence_item:所有的transaction要从uvm_sequence
2021-11-27 14:50:20
1238
原创 UVM学习整理——附录(部分组件源码)
附录二部分组件源码1.Driver和SequencerDriver和Sequencer之间的握手机制:Driver的seq_item_port和Sequencer的seq_item_export:uvm_driver的源代码:uvm_sequencer的源代码:Driver中的seq_item_port和Sequencer的seq_item_export的连接方式(和普通的TLM端口类似):如果不想使用自带的成员变量,想加入改动,也可以由uvm_component来.
2021-11-27 14:36:22
2320
原创 UVM学习整理——UVM结构(component派生类)
目录二、UVM结构2.1UVM组件2.1.1uvm_driver2.1.2uvm_monitor2.1.3uvm_sequencer2.1.4uvm_agent2.1.5uvm_scoreboard2.1.6reference model2.1.7uvm_env2.1.8uvm_test2.1.9uvm_component相关宏2.2UVM验证平台的树形结构二、UVM结构2.1UVM组件UVM的组件(uvm_component类)继承于UVM的
2021-11-26 20:07:43
7477
1
原创 UVM学习整理——UVM整体介绍
目录一、典型UVM验证平台介绍1.1典型UVM验证平台的主要组成和基本功能1.2UVM类库地图1.3UVM常用类的继承关系一、典型UVM验证平台介绍1.1典型UVM验证平台的主要组成和基本功能driver:向sequencer申请sequence_item(数据包transaction),并将包里的信息按照总线协议规定驱动到DUT的端口上;sequencer:组织管理sequence,driver申请数据时,它就把sequence生成的sequence_item发给drive
2021-11-26 19:49:52
21423
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人