- 博客(240)
- 收藏
- 关注
转载 SV-assertion
断言(assert)是一种描述性语言,通过描述的期望结果来进行仿真验证。断言有一个更加基础的信息,我们称为属性(property),属性可以作为断言结果,功能覆盖点,形式检查和约束随机激励生成。断言相比较与testcase的仿真验证,对设计的可见度要求比较高,可以帮助快速定位错误的根源,断言可以分布在设计各个部位。在项目中使用断言,有两种方式(eda tool中都支持):...
2019-03-29 14:02:00
2264
转载 openssl源代码结构
Openssl整个软件包主要包括三个主要的功能模块:密码算法库,SSL协议库,应用程序; 应用程序:主要包括密钥生成,证书管理,格式转换,数据加密,签名,SSL测试等。evp,对称算法,非对称算法,摘要算法的封装。随机数的生成,管理;最基本的数据结构,struct 大数数组, EC_point 椭圆曲线点结构,openssl编译的命令: ./c...
2018-11-06 17:10:00
466
转载 sha-hmac
MAC----message authentication code,保证数据完整性的一个技术。HMAC类似于标准的sha运算,只是对于生成的mac增加了基于key的密钥保护。 生成的mac值,随着sender的payload一起发送给receiveder。 receiveder,拿到mac先进行数据完整性的校验-----重新计算payload,得到自己的mac,与传输过...
2018-09-19 10:15:00
642
转载 nist-sha
nist目前支持的sha运算,sha1系列,输出mac160bit。 sha2系列,支持sha2-224,sha2-256,sha2-384,sha2-512,sha2-512/224,sha2-512/256 sha3系列,支持sha3-224,sha3-256,sha3-384,sha3-512sha1和sha2系列的算法,支持...
2018-09-19 10:11:00
236
转载 program与module
program,各方面与module都类似,其中声明的变量在program中都可见, 生命周期也是static类型的,program的结束,也是需要等待其中的所有initial块都执行结束。 与module最大的不同是,program中的时间都是在reactive的区域中执行的。 所以如果clock块写在program中,非阻塞赋值,都先发生在program中的Re...
2018-08-23 15:34:00
1165
转载 ACE Bus
对于coherency transaction load操作,data来源: 1) 可以从其他cache master的cache line拿到, 2) 由interconnect中的buffer直接返回,或者interconnect发出的ReadNoSnoop transaction返回数据。对于coherency transaction store操作,要求maste...
2018-08-06 17:19:00
974
转载 arm浮点运算
首先总结一下计算机中的浮点数的存储。浮点数的标准是IEEE-754,规定了浮点数的存储都是通过科学计算法来存储的,n2-e的表示。 浮点数首先分为,定浮点(fixed-point)和浮点(float-point),定浮点就是说e的值是不变的。 目前浮点的计算都是将浮点转换为定浮点来计算,由此衍生出,单精度浮点和双精度浮点。浮点数的存储,前半部分表示exponen...
2018-07-02 17:44:00
934
转载 HVP plan
HVP,hier verification plan,建立整个验证的plan,在验证后期,通过vcs的coverage db可以直接进行反标, 包括反标code coverage,function coverage,testcase等。coverage的database,包括vcs产生的db,自己拿到的external的data,hvp提供一个feature list,pr...
2018-05-22 20:02:00
1356
转载 python包
sys模块,主要实现与解释器相关的操作: sys.argv,用来获取命令行参数,是一个list; sys.argv[0] 代表文件本身路径, sys.argv[1] 开始,代表传入的参数; sys.exit(),python带返回码返回,0默认的正常退出,1表示异常退出。 sys.stdin,sys.stdout,sys.err,分别代...
2018-03-19 19:58:00
84
转载 SV randomize
randomize中的变量只支持2-state的values,不支持4-states。randc类型的变量不能被约束在solve------before的语句中。constraint可以被定义在class外: class C; rand int x; constraint protol; //隐式的 ex...
2018-03-16 10:34:00
4021
转载 SV class
SV中的class通过new来创建实例,new函数可以传递多个参数; packet P1; P1 = new;创建一个P1的对象; P2 = P1;P2也指向同一个对象; P2 = new P1;P2是P1的shadow copy,指针直接被copy。 对于参数化的class的new函数调用:new函数可以通过类操作符::来调用...
2018-03-14 14:26:00
897
转载 SV coverage
covergroup是对coverage model的一种包装,每个covergroup可以包含: 1) sync event来触发采样, 2) 很多coverpoint, 3) cross coverpoint, 4) 可选的formal arguments, 5) 很多options。covergroup与class类似,也是需要new出来对象,本身...
2018-03-13 16:33:00
1297
转载 uvm设计分析——reg
项目中的reg_model一般只有一份,set到reg_sequence上,所以多个sequence并行启动结束的时候,reg model会成为一个共享资源。uvm_reg_field中的volatile,主要来设置m_check的变量, m_check,主要用在uvm_reg的mirror task,以及read task,(需要map中配置check_on_read)...
2018-03-12 10:53:00
1564
转载 shell bash-shell
bash shell中的命令替换,`cmd`或者$(cmd)。bash shell中的变量赋值,直接name = var; (bash中的变量赋值不能中间有空格)变量引用时,$name,如果name比较复杂,也可以是${name}取消变量的设置,unset,unset namebash中的for循环方式:1) for i in 1 2 3 4 5 do...
2018-03-09 11:03:00
72
转载 scrapy的安装
python --version 2.7.12版本。1) 首先在交互模式下测试系统是否安装lxml和OpenSSL2) 安装lxml,apt-get install python-lxml, lxml是python中XML和HTML相关功能最丰富,最容易使用的一个库, lxml不是python自带的包,而是为libxml2h和libxslt库的一个python化的...
2018-03-01 16:37:00
101
转载 ucli tcl cmd
ucli接口与tcl 8.6兼容;vcs中要调用ucli接口,执行脚本,必须在compile的时候,加入debug的权限; -debug,-debug_pp,-debug_all,-debug_access,-debug_region 在run的时候,指定vcs -ucli [run_option]hierarchical name的pa...
2018-02-26 16:47:00
2651
转载 VCS
timing check相关的, +notimingcheck命令,可以用在compile时,也可以用在run time的时候, 都是将检查timing的系统函数,都disable掉了, 加在compile的时候,不会编译到worklib中,速度可快,可以测试gate env; setuphold,recrem指定的delay sign...
2018-02-26 14:51:00
4662
转载 armv8 memory translation
AArch32,arm的32bit架构;AArch64,arm的64bit架构;ARMv8.2-LPA,是armv8.2中的新feature,扩大了IPA和PA的支持范围,从48bit扩展到52bit。armv8-a core内部使用virtual memory,内部通过mmu转换为physical address。mmu的好处: 1)允许system同时运行...
2018-02-13 14:26:00
511
转载 virtualization
多数的系统都是基于一个privileged OS + 多个unprivilege App。ARM的virtualization是指,一个system中运行多个OS, 体现在硬件上的区别是:多了virtual machines切换之间的硬件实现和加速。 体现在软件上的区别是:需要一个hypervisor software。hypervisor的两种方式: 1) b...
2018-02-13 14:26:00
362
转载 armv8 memory system
在armv8中,由于processor的预取,流水线, 以及多线程并行的执行方式,而且armv8-a中,使用的是一种weakly-ordered memory model, 不保证program order和execute order一致。 所以有时需要显式的执行一些指令,来order自己的代码。armv8涉及到的优化包括: 1) multiple issu...
2018-02-13 14:25:00
507
转载 arm-cache coherency
提高一个系统的performance,有两种办法: 1) 不断提高一个core的performance,手段就是不断提高freq,减小Vt,这样都会在增加power(dynamic,leakage) 2) 增加processor的个数arm的big-little processor cluster采用的就是第二个办法,通过Power Gating和DVFS也尽量的减小了功...
2018-02-13 14:24:00
724
转载 cache基础
cache是系统中的一块快速SRAM,价格高,但是访问速度快,可以减少CPU到main memory的latency。cache中的术语有: 1) Cache hits,表示可以在cache中,查找到相应地址的entry。 2) Cache Miss,表示在cache中,找不到相应地址的entry。 3) Snoop,cache不断监视transaction的地址线...
2018-02-13 14:24:00
1201
转载 arm trustzone
arm的trustzone并不涉及到具体的crypto算法,只是实现: 1) 敏感信息的安全存储; 2) 控制bus和debug的安全访问,保证信息不被泄露;trustzone是system_level的实现,涉及到软硬件,硬件方面包括: 1) ARM processor; 2) Bus fabric; 3) system peripheral IP;...
2018-02-07 16:37:00
1065
转载 armv8 memory translation table descriptor
上一节大致给出了descriptor的结构,这篇细致分析各个field:1) Table Descriptor:stage2中不包含任何的attribute的field,每个level中的descriptor高位作为下一个level的attr配置。 NSTable,bit[63],定义subsequent lookup的secure state APTabl...
2018-02-07 11:00:00
948
转载 memory consistency
目前的计算机系统中,都是shared memory结构,提供统一的控制接口给软件,shared memory结构中,为了memory correctness,可以将问题分为:memory consistency,和memory coherency。为了memory consistency的正确性,是需要program的编写者的操作,主要描述对一块memory的不同的load,st...
2018-01-30 14:41:00
714
转载 网页基础
网页基础,图解httpWeb页面,根据Web浏览器中制定的url,从Web服务器端获得文件资源,从而显示出Web页面。Web使用一种HTTP(HyperText Transfer Protocol,超文本传输协议)的协议作为规范,完成从客户端到 服务器端的一系列流程。Web是建立在HTTP协议上通信的。目前已经提出的三项WWW构建技术,作为页面的文本标记语言的HTML(...
2018-01-24 17:00:00
119
转载 ECC
素数 prime,又称为质数,是指,除了1和它本身,没有其他因数的数。素数的定理: 1)在一个大于1的数a和它的2倍之间必定存在至少一个素数;素数的性质: 1)在所有的大于10的质数中,个位数,只有1,3,5,9;素数还没有自己的生成函数,只能通过素数检测函数,进行循环判断; C的基本判断函数: 大数的素数测试,有很多优化的算法,并不是简单的试...
2018-01-23 17:52:00
268
转载 RSA
同余:给定一个正整数m,如果两个整数a和b满足(a-b)能够被m整除,即 (a-b)/m 得到一个整数, 那么就称整数a b对模m同余,记做a ≡ b( mod n )RSA算法的参数构成: 1)选择两个大素数p、q; 2)计算n,n = pq和n的欧拉定理的值,ψ(n) = (p-1)(q-1) 3)随机选择公钥e,e只需要满足1<e<...
2018-01-23 11:10:00
204
转载 argparse模块
argparse是一个方便的对于cmd-line的接口函数,可以方便的从sys.argv解析出命令参数,并自动的产生帮助文档。1:create一个parser对象:创建一个ArgumentParser类型的对象,parser = argparse.ArgumentParser(description = 'Process some integers')之后的cmd-li...
2018-01-22 16:01:00
83
转载 python语法
python是一种解释性的语言,执行过程会先进行编译在解释,但是python的编译不像java一样是必须执行的。 python中import的包,默认会被编译为pyc文件,如果py文件没有被修改,该import的pkg就不会在进行编译。 (这样实现了编译型语言的共享模块的加载速度快,解释性语言的跨平台移植性强)python的运行有三种方式:1) 交互式解释器,解释性...
2018-01-22 13:39:00
140
转载 python运算符
python内部支持的运算符:算数运算符: 1) +,两个对象相加, 2) -,一个数减去另一个数, 3) *,乘,除,/, 4) %取模,//取整数; 5) **幂次方,比较运算符: 1) == 2) !=,<> 3) >= 4) <=赋值运算符: 1) = 2) +=,-= ...
2018-01-22 13:37:00
503
转载 python字符串
python中的两种格式化打印:1) 类似于C的printf的打印方式,%: print “my name is %s” % ("hym") 其他的控制格式化输出的特殊符号:%c,%d,%u,%o,%x(小写十六进制),%X(大写十六机制),%f2) 类似于C#的格式化输出方式,.format: print '{0} {1}:{2}'.format('hello...
2018-01-22 13:36:00
105
转载 python多线程,多进程编程。
进程,是目前计算机中为应用程序分配资源的最小单位;线程,是目前计算机中运行应用程序的最小单位;在实际系统中,其实进程都是被分为线程来实现的,所以参与时间片轮转的是线程; 但是管理应用程序的资源的单位和任务调度的单位都是进程。更像是一个逻辑概念。线程是进程分出来的更精细的单位,线程间的上下文切换比进程间的上下文切换,要快很多。 多进程与多核,这个概念...
2018-01-11 17:56:00
130
转载 subprocess模块
subprocess模块是python从2.4版本开始引入的模块,主要用来取代一些旧的模块,如os.system, os.spawn,os.popen等。subprocess是通过子进程来执行外部命令的,并且可以自己制定stdin,stdout,stderr等管道。内部支持的方法:1) call(),只是用来执行一个外部命令,启动的子进程,输入输出自动绑定到父进程的输入...
2018-01-11 16:38:00
164
转载 jenkins
sonar是一个用于代码质量管理的开放平台,通过插件机制,Sonar可以集成不同的测试工具,代码分析工具, 持续集成工具(Hudson/Jenkins)。sonar并不是简单的把不同的代码检查结果(FindBugs, PMD)显示在web上,而是通过不同的插件对这些结果进行 再加工处理,通过量化的方式来度量代码质量的变化。sonar是Codehaus上的一个开源项目,...
2018-01-11 16:05:00
55
转载 python中的lxml模块
Python中自带了XML的模块,但是性能不太好,相比之下,LXML增加了很多实用的功能。lxml中主要有两部分,1) etree,主要可以用来解析XML字符串, 内部有两个对象,etree._ElementTree和etree._Element etree.Element对象中包含的属性和方法:属性:1)tag,返回该节点的名称: print 'ro...
2018-01-10 10:21:00
689
转载 python中的IO操作
python中的基本IO操作:1) 键盘输入函数:raw_input(string),不作处理的显示,与返回。 input(string),可以接受一个python表达式作为返回,python内部得到计算结果2) 文件句柄(file)对象: file对象的创建必须通过open()函数来得到, file object = open(file_name,...
2018-01-08 19:38:00
172
转载 python中的re模块
python中的正则表达式匹配,可以import re模块来实现。python中的特殊字符: 1) 量词 *, +, ?, {m}, {m, n} 与perl中类似; 2) 元字符 “.”; 3) 转义字符 “\”; 4) 字符集[],预定义字符集\d,\D,\s,\S,\w,\W 5) 锚位符,^, $, \A, \z, \b, \B 6) 择...
2018-01-08 16:06:00
95
转载 XML
XML(EXtensible Markup Language),可扩展性的标记语言,主要用来在不同平台之间传输和保存数据。 XML是W3C 的推荐标准,XML与HTML的区别: 1)标记语言,类似与HTML; 2)XML的设计目的,主要是保存传输数据,HTML主要为了显示数据。 3)XML的标签不会被预定义,都是自行定义的,HTML的标签都是预定义的。...
2017-12-22 13:51:00
105
转载 PKCS#1
ASN.1 syntax,octet string是一个8 bytes sequence string.RSA中涉及到的Data conversion: 1)I2OSP,Integer to Octet String(8bytes sequence); Input: x nonnegative integer to be converted ...
2017-12-07 17:10:00
1206
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人