- 博客(29)
- 资源 (3)
- 收藏
- 关注
原创 system verilog assertion
assertion 作用(1)检测一个条件有没有发生;(2)检测一系列动作有没有发生。可以直接介入硬件内部,bind到硬件。1.当拍assert,“ |-> ”。上升沿always @(posedge clock) example1: assert(A && !B);或者property example1; @(posedge clock) A...
2020-04-21 17:59:19 1003
原创 system verilog 编写function coverage
收集指定信号的范围、收集指定信号的特定值、收集指定多个信号的组合值或cross。example:signal_a_cov : coverpoint intf.signal_a iff(intf.signal_a_vld){ bins signal_a_cov[] = {[0:9]};}example:signal_a_cov : coverpoint intf.sig...
2020-04-14 17:21:43 1531
原创 system verilog 编写随机约束
1. 产生随机数(1)系统函数$urandom()或者std::urandom();(2)系统函数$urandom_range(a,b)或者std::urandom_range(a,b);2. constraint在class内部定义、编写。constrain para_cons{ cfg_cons0==128; cfg_cons1 inside {1,...
2020-04-14 16:41:28 1304
原创 IMC 覆盖率exclude tips
覆盖率收齐后,不可避免需要exclude掉一些达不到的功能点和公共ip,在IMC spec上有一种方式,使得设计人员较为方便地进行exclude工作。1. 准备*.csv文件。2. IMC &View->Configuration3. Load *.csv file 4. Exclude...
2020-04-14 16:22:03 3180
转载 Ubuntu编译安装llvm-clang
文章出处:http://blog.csdn.net/gatieme/article/details/45268549下载llvm的源代码wget http://llvm.org/releases/3.6.0/llvm-3.6.0.src.tar.xztar xf llvm-3.6.0.src.tar.xzmv llvm-3.6.0.src llvm123下载clang的
2017-12-15 14:56:37 372
转载 g++: internal compiler error: Killed (program cc1plus)
g++: internal compiler error: Killed (program cc1plus)1. 创建分区文件, 大小 2Gdd if=/dev/zero of=/swapfile bs=1k count=20480002. 生成 swap 文件系统mkswap /swapfile3. 激活 swap 文件swapon /swapfile
2017-12-15 14:34:41 208
转载 编译原理
http://blog.csdn.net/shawjan/article/details/44652807一、 编译程序1、 编译器是一种翻译程序,它用于将源语言(即用某种程序设计语言写成的)程序翻译为目标语言(即用二进制数表示的伪机器代码写成的)程序。后者在windows操作系统平台下,其文件的扩展名通常为.obj。该文件通常还要经过进一步的连接,生成可执行文件(机器代码写成
2017-12-04 21:42:58 112564 2
原创 C++ set/multiset
//set学习,set是基于红黑树的平衡二叉检索树//构造set集合主要目的是为了快速检索,不可直接去修改键值。//元素不重复#include#includeusing namespace std;int main() { int data[] = {10,20,34,24,36,90,45,32,37,78}; set s(data,data+sizeof(data)/s
2017-09-17 21:55:42 394
原创 C++ list学习
//list学习#include#include#includeusing namespace std;int main() { string str; while (getline(cin, str)) { list slist; for (int i = 0;i < str.size();i++) { slist.push_back(str[i]);//push
2017-09-17 21:22:08 286
转载 C++ list 类学习笔记
http://blog.csdn.net/whz_zb/article/details/6831817双向循环链表list list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素。在STL中,list和vector一样,是两个常被使用的容器。和vector不一样的是,list不支持对元素的任意存取。list中提供的成员函数与vector类似,
2017-09-17 20:22:23 290
转载 C/C++之回调函数
http://www.cnblogs.com/chenyuming507950417/archive/2012/01/02/2310114.html今天讨论下C/C++中的回调函数。 在理解“回调函数”之前,首先讨论下函数指针的概念。函数指针(1)概念:指针是一个变量,是用来指向内存地址的。一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就决定了程序运行
2017-09-16 22:28:44 283
转载 C++智能指针简单剖析
http://www.cnblogs.com/lanxuezaipiao/p/4133083.html下面是我看《C++ Primer Plus》第6版这本书后所做的笔记,作为备忘录便于以后复习。笔记部分C++的const比C语言#define更好的原因?首先,它能够明确指定类型,有类型检查功能。其次,可以使用C++的作用域规则将定义限制在特定的函数或文
2017-09-16 10:45:57 286
转载 C++中explicit关键字和implicit关键字的使用
http://blog.sina.com.cn/s/blog_149e9d2ec0102wyk7.html在编程过程中, 我们习惯上使用explicit或者implicit关键字实现构造函数的显式或者隐式显示。explicit关键字:只能修饰只有一个参数的构造函数,或者有多个参数,但是除第一个参数外其他的参数都有默认值。它的作用是表明构造函数是显式方式显示的。impli
2017-09-16 09:43:39 2985 1
转载 C++ 隐式类型转换
http://www.cnblogs.com/QG-whz/p/4472566.html《C++ Primer》中提到:“可以用 单个形参来调用 的构造函数定义了从 形参类型 到 该类类型 的一个隐式转换。”这里应该注意的是, “可以用单个形参进行调用” 并不是指构造函数只能有一个形参,而是它可以有多个形参,但那些形参都是有默认实参的。那么,什么是“隐式转换”呢
2017-09-16 09:19:56 319
转载 C++的类存储空间
http://blog.csdn.net/mooke/article/details/6441252?locationNum=4&fps=1最近在翻Bjarne Stroustrup的《C++程序设计语言》,如他所说,C++在设计时拒绝了要求必须在每个对象里存储某种“簿记信息”,今天特意做了下试验:#include #include #include using na
2017-09-12 11:13:54 504
转载 delete和析构函数间的关系及细节
http://blog.sina.com.cn/s/blog_78c5ff950102vjoe.html个人心得:先看以下代码#include#includeusing namespace std; class shape { public: char x; shape(char m) { x=m; c
2017-09-11 22:28:21 1464
转载 Linux多任务编程(一)---任务、进程、线程
http://www.aiuxian.com/article/p-189128.html首先,先简单的介绍一下什么叫多任务系统?任务、进程、线程分别是什么?它们之间的区别是什么?,从而可以宏观的了解一下这三者,然后再针对每一个仔细的讲解。 什么叫多任务系统?多任务系统指可以同一时间内运行多个应用程序,每个应用程序被称作一个任务。 任务定义:任务是一个逻辑概念,指由一
2017-09-11 21:45:59 216
转载 结构体在内存中所占空间大小的计算
转载自:http://blog.csdn.net/grantxx/article/details/7577730转载自:http://blog.csdn.net/grantxx/article/details/7577730一个结构体变量定义完之后,其在内存中的存储并不等于其所包含元素的宽度之和。例一:
2017-09-11 14:49:56 2067
原创 C++学习(5)
LeetCode 2.1.7Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to th
2016-12-19 16:42:09 208
原创 C++学习(4)
LeetCode 2.1.6Given an unsorted array of integers, find the length of the longest consecutive elements sequence. For example, Given [100, 4, 200, 1, 3, 2], The longest consecutive elements sequence
2016-12-19 16:34:56 210
原创 C++学习(3)
LeetCode 2.1.5There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log(m + n))1、找到两个数组合并后的第k个数,并返
2016-12-19 16:22:07 243
原创 C++学习(2)
LeetCode 2.1.3Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to search. If found in the a
2016-12-16 23:41:13 269
原创 C++学习(1)
LeetCode2.1.2描述Follow up for ”Remove Duplicates”: What if duplicates are allowed at most twice?For example, Given sorted array A = [1,1,1,2,2,3],Your function should return length = 5, and A
2016-12-16 22:50:47 243
原创 gem5配置DRAMSim2跑Android benchmark遇到的问题
gem5结合DRAMSim2后,执行Android应用命令后出现了这个错误提示:Error type 2android.util.AndroidException: Can't connect to activity manager; is the system running?at com.android.commands.am.Am.run(Am.java:99)at com.
2016-11-02 19:51:02 1002
原创 C++学习(0)之vector
C++小白在学习leetcode时遇到的问题vector是什么?vector是一种包含相同数据类型的对象的一种容器(或集合,是一种标准库)。vector对象能高效增长。1、vector创建vector v1(v1为对象名称)。例如:vector v1; vector V1; vector V1;//假设Rect是一种定义的结构体。2、vector相关函数可以在v
2016-11-02 14:18:49 1207
原创 gem5配置DRAMSim2跑Android bench过程
gem5配置DRAMSim2跑Android bench过程1、在ubuntu 终端,进入gem5/ext/dramsim2/文件夹下,可以看到有两个文件,README 和 SConscript,在README里面记载着有配置DRAMSim2的过程。首先在当前目录下输入命令:git clone git://github.com/dramninjasUMD/DRAMSim2.git ,将DR
2016-11-01 17:23:17 1013
原创 gem5跑Android bench
在前一篇博客中写到在gem5上跑Linux bench,这次是跑Android bench。Android bench主要是Mobybench。关于mobybench的介绍:The current version of the suite contains the following 10 mobile applications from many different categories
2016-10-17 16:56:49 1476
原创 gem5启动Linux跑Linux bench过程
gem5启动Linux跑Linux bench过程1.安装git scons g++ python-dev swigsudo apt-get install git scons g++ python-dev swig m42、下载gem5源码;源码链接:http://pan.baidu.com/s/1kU9uZun3、编译gem5;在Linux终端输入(当前目录ge
2016-10-14 16:15:42 1336
原创 DRAM的结构之概括(一)
桌面计算机系统存储器DRAM发展到现在,大多数采用的是DDR SDRAM,即双倍速率同步动态随机存储器,简称为DDR。最新产品已经更新到DDR5。DDR由DDR控制器和DDR颗粒组成。在存储系统设计中,最重要的是存储控制器。存储控制器接收访存请求,进行地址转换、命令调度,返回或写入数据,通过最优化的行缓冲管理机制、地址映射机制、命令调度机制等来尽可能的提高访存带宽、减小访存延迟。CPU
2016-10-10 21:51:43 6228 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人