自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(235)
  • 资源 (5)
  • 收藏
  • 关注

原创 python os

os.getcwd() os.getcwdb()>>> os.getcwd()'D:\\Users\\dyan\\AppData\\Local\\Programs\\Python\\Python35'>>> os.getcwdb()b'D:\\Users\\dyan\\AppData\\Local\\Programs\\Python\\Python35'

2016-06-06 19:47:25 370

原创 python 网络编程

1server: bind->listenclient:connectserver:import sockets = socket.socket()host = socket.gethostname()port = 1234s.bind((host, port))s.listen(5)while True: c, addr = s.accept()

2016-06-05 18:04:38 273

原创 python sqlite3

1.建立,连接:>>> import sqlite3>>> conn = sqlite3.connect('sd.db')>>> curs = conn.cursor()2.提交:>>> conn.commit()每次修改都提交,而不是关闭时才提交。3.关闭:>>> conn.close()

2016-06-05 13:46:41 255

原创 python 文件操作

1open 第三个参数是 是否缓冲。False 无缓冲,直接操作硬盘。 True 操作内存,速度快。flash或close 才会更新硬盘数据>>> f = open('somefile.txt', 'w')>>> f.write("hello. ")7>>> f.write("World!")6>>> f.close()hello. World!>>> f = open(

2016-06-05 11:14:07 208

原创 python: re

. 可以匹配任何字符(除了换行)[pj]ython 匹配python, jython。[a-zA-Z0-9] 只能匹配一个这样的字符。[^abc]匹配除了a,b,c之外的字符。python|perl  ==  p(ython|erl)  子模式子模式后面加 ?。就是非必须。>>> r'(http://)?(www\.)?python\.org'(pattern)* 0次以上

2016-06-04 15:52:49 169

原创 python 常用模块

1.告诉解释器哪里找模块:>>> import sys>>> sys.path.append('c:/python')unix要绝度路径只有第一次导入执行。>>> __name__'__main__'2.当做包,必须包含一个命名为__init__py的文件(模块)3.dir看模块里有什么下划线开始,不是给模块外部用的。过滤:>>> impor

2016-06-03 21:09:20 172

原创 WAVE 包头

1在Mmreg.h里https://msdn.microsoft.com/en-us/library/ms713498.aspxhttps://msdn.microsoft.com/en-us/library/ms713497.aspxtypedef struct { WORD wFormatTag; WORD nChannels; DWORD

2016-06-03 11:28:20 337

原创 最终解决:idle your python may not be configured for tk

1.安装完python3报告题目错误。2.按照网上升级匹配的tk,还是错。3再装一遍python3 就好了。

2016-06-02 14:39:34 1612

原创 div 和 span

1div的 width 属性只指定内容区宽度。2.子孙选择器。#elixirs blockquote h2 {         color: blue;}3简写:padding:0px 10px 20px 40px   TRBL            margin4个值一样   padding:20pxmargin:0px 20px;      上下

2016-05-30 21:20:31 197

原创 css 小语法

1只能对body元素增加样式2border-bottom会延伸到页面边缘。underline只出现在文本下面。text-decoration="underline"3希望一个class所有元素都有同一种样式。可以用..greentea{                /*前面有个点*/         color: green;}

2016-05-29 20:42:03 178

原创 html 小标签

换行         1)都是块元素。2) 两两总是要一起使用3)列表中可以在嵌套列表4)还有定义列表定义术语定义描述>:    >     有分号&:    &ampw3schoolswww.unicode.org/charts============================

2016-05-29 12:03:26 302

原创 生成器

任何包含yield 语句的函数称为生成器。yield不像return 返回值,而是每次产生多个值。每次产生一个值时,函数就会被冻结。被激活后从停止点开始.def flatten(nested): for sublist in nested: for element in sublist: yield element>>> nested =

2016-05-27 18:02:25 114

原创 class2,迭代

super内置方法:__len__(self), __getitem(self, key) ,  __setitem__(self, key,value), __delitem__(self, key)property: 4个参数分别是fget, fset, fdel docclass rect: def __init__(self): self.width =

2016-05-27 17:50:47 159

原创 异常

>>> raise ExceptionTraceback (most recent call last): File "", line 1, in raise ExceptionException>>> raise Exception('overlaod')Traceback (most recent call last): File "", line 1, in

2016-05-27 10:51:18 171

原创 class

>>> from random import choice>>> x=choice(['hello world', [1,2,'e','e',4]])>>> x.count('e')1>>> 让方法变成私有,在名字前面加双下划线:>>> class secret: def __inacc(self): print("cannot") def acc(self):

2016-05-27 10:05:57 198

原创 python 函数

callable判断 一个东西 是否可以调用。感觉没啥用!!!>>> x=1>>> import math>>> y=math.sqrt>>> callable(x)False>>> callable(y)True__doc__>>> def square(x): 'calculate the square of the number x' return x*

2016-05-26 20:50:19 197

原创 python语句

>>> values(1, 2, 3)>>> x,y,z=values>>> x1>>> y2>>> z3函数可以返回一个以上的值,打包成tuple。接受数量要一致。is是同一性预算符。>>> x=y=[1,2,3]>>> z=[1,2,3]>>> x is yTrue>>> x is zFalse>>> 因为x和y绑定到

2016-05-26 17:31:24 137

原创 字典

>>> items = [('name', 'Gumby'), ('age', 42)]>>> d =dict(items)>>> d{'age': 42, 'name': 'Gumby'}>>> d = dict(name="gumby", age=42) key 没有引号>>> d{'age': 42, 'name': 'gumby'}>>> >>> len(d

2016-05-26 15:34:48 141

原创 字典

键可以是数字,字符串,甚至元组。

2016-05-25 09:38:13 89

原创 string

from string import Templatefind返回最左端索引,没有-1>>> 'with moo-moo here'.find('moo')5>>> 'with moo-moo here'.find('mooo')-1可选起始点和结束点,包含第一个index,不包括第二个index,和切片一样。>>> sub = '$$$ Get rich

2016-05-25 09:36:14 191

原创 元祖

逗号很重要:>>> 4242>>> (42)42>>> (42,)(42,)>>> 3*(34+3)111>>> 3*(34+3,)(37, 37, 37)>>> >>> tuple('abc')('a', 'b', 'c')

2016-05-25 08:25:00 181

原创 python 写文件

file_ex = open('data.txt', 'w')如果文件已存在,完全清除现有内容。如果不存在,则创建。追加到文件,使用 a。读和写,不清除,用 w+

2016-05-23 07:05:34 229

原创 python 变量赋值的理解

再看python 基础教程,里面讲 x=3  这种赋值。两种解释:第1种说法是把3 赋值给x,  和c 一样。第2中说法是把x 绑定到值(或者对象)3 上面。这种区别像是谁先存在内存中。我觉得第二种说法更好,体现了pyhton 无处不对象的原则。另外getrefcount 也体现了这点。

2016-05-18 06:53:55 260

原创 UVM:11 OVM 到UVM 的迁移

纯净的UVM 环境:加入宏+define+UVM_NO_DEPRECATED

2015-07-10 15:46:57 1053

原创 UVM:10.6.3 set 函数的第二个参数的检查

完全不用config_db 太极端,可以写函数验证。

2015-07-10 15:34:57 324

原创 UVM:10.6.2 config_db 的替代者

1.可以完全不使用config_db2.config_db 设置的参数有两种,一种是结构性参数,如控制driver是否例化的is_active:agent时指定:3非结构性的参数:build_phase:也可在build_phase 之后的任意phase 使用绝对路径进行设置:1)向sequence 中传递参数,可以像10.3.2节,在vir

2015-07-10 14:47:06 862

原创 UVM:10.6.1 换一个phase 使用config_db

1.config_db::set 的第二个参数是字符串,经常出错,可以通过get_full_name 来获得。对driver 进行设置:对sequence 某个参数设置,可以:2.但在build_phase 时,整棵UVM 树还为形成,会引起空指针错误。要想这么做有两种方法:1)都在new 中create2)将set 移到connect_phase,由于co

2015-07-10 14:17:37 572

原创 UVM:10.5.2 聚合参数的优势与问题

1.使用聚合参数后,可以将此参数类的指针放在virtual sequencer中:2.当sequence 要动态改变验证平台某个变量时,如下:3.甚至可以将interface 也放入聚合参数:4.这样,无论是driver 还是monitor 中,都可以直接用cfg.vif,不必在使用config_db 来得到interface:1)因

2015-07-10 12:14:45 622

原创 UVM:10.5.1 聚合参数的定义

1.验证平台用到的参数有两大类:1)验证环境和DUT 都要用到的参数,通常对应DUT 中的寄存器。10.4.22)验证环境独有的。2.达到项目配置参数可能有千百个。全部用config_db:3.比较好的方法是放在专门的类里:经过上述定义后,可以在base_test 中这样写:省略了绝大多数的set,在driver 如下使用这个聚合参数:

2015-07-10 11:36:18 693

原创 UVM:10.4.2 使用单独的参数类

1.需要一种跨越寄存器的约束。要求2个field 的和大于100。只有上节第二种能实现:2.由于这个约束对所有测试都适用,因此希望写在寄存器模型的constraint 里:3.这个寄存器模型使自己手工创建的,没问题。但在IC 中,寄存器模型都是由一些脚步命令自动创建的。在验证平台中,用到寄存器的地方有3个:RTLsystemverilogC语言1)必须时刻保

2015-07-10 10:44:25 627

原创 UVM:10.4.1 使用寄存器模型随机化参数

1.验证两大问题:向DUT 灌激励,为DUT 配置参数。2.随机化:3.缩小随机化范围:1)2)或者整体:3)factory 重载:

2015-07-10 10:26:18 1216

原创 UVM:10.3.3 disable fork 语句对原则操作的影响

1.很多计数器的类型是W1C,写1清零。如果正在计数,同时清零操作,可能导致错误。2.解决;1)看似解决了问题,但是出现新情况使程序无法终止。disable fork 之后读取寄存器,会发现寄存器正在写,于是一直等待。2)原因是寄存器模型时原子操作,如果只使用disable fork 野蛮终止,那么此原子操作尚未完成,虽然进程终止了,但是标志位并没有清除,从而出现错误。

2015-07-10 10:02:27 1602

原创 UVM:10.3.2 只将virtual_sequence 设置为default_sequence

1.config_db 最大的问题是不对set 的第二个参数进行检查。2.为了美观对齐:3.如下设置default_sequence:1)i_agt 的default_sequence 没有启动,在i_agt.sqr 调用get_full_name 函数:4.所以只将virtual sequence 设置为default_sequence。其它所有的sequ

2015-07-10 09:36:54 1185

原创 UVM:10.3.1 心跳功能的实现

1.某些协议中,driver 要每隔一段时间向DUT 发送类似心跳的信号。心跳包与普通包没有本质区别也是普通的transaction。两种选择:1)在driver 中产生,发送:2)sequence 实现,无效循环:上述代码最好不要使用绝对延时,而使用virtual sequence。应该如下:心跳包优先级最高,所以grab。2.使用virtua

2015-07-10 09:08:11 752

原创 UVM:10.2.4 错峰技术的使用

1.假如又多一层layer sequence:1)需要2个时间槽。2)需要在增加一个umv_wait_for_nba_region,不好。2.问题的关键是item_done 和try_next_item 在同一时刻被调用,导致了时间槽的竞争。如果能错开,这个问题就不是问题:

2015-07-09 17:28:14 1381

原创 UVM:10.2.3 layer sequence 与try_next_item

1.try_next_item 更加接近实际情况,用的更多:两个有效的req 之间,总会打印item is null,说明driver 没有得到transaction:2.ip_sequence 和my_sequence 没有任何延时,my_driver 理应一直得到有效的req,而不该出现得不到的情况,why?时间槽的概念。问题出在driver 中的try

2015-07-09 15:20:58 2009

原创 UVM:10.2.2 layer sequence 的示例

1.产生ip_transaction 的sequence 如下:2.相应的sequencer 如下:3.这个sequencer 要在my_agent 例化,此时,my_agent 中有两个sequencer:4.要使用layer sequence,最关键是如何将ip_transaction 交给产生my_transaction 的sequ

2015-07-09 12:12:21 968

原创 UVM:10.2.1 复杂sequence 的简单化

1.之前的my_transaction 是mac 包,其中的pload 是ip 包,如下:2.现在要求mac 中指定ip 地址等数据,需要约束mac 包跑咯爱的值:要对ip_transaction 约束,需自己计算,容易错。3.可简化:可重用性不高。4.加入crc错误,如下:、只变了一行。5.给DUT IP

2015-07-09 11:27:35 644

原创 UVM:10.1.2 可变时钟

1.可变时钟有3种:1)不同case 时钟不同。2)同一case 不关心过渡期clk。3)关心过渡期clk。2.第一种,使用config_db:top_tb 使用get:1)my_case0 就是uvm_test_top。2)使用非直线获取。my_case0的set 是设置给自己的参数,真正使用是在top_tb。3)由于set 在0

2015-07-09 10:31:09 2033 1

原创 UVM:10.1.1 interface 实现driver 的部分功能

1.之前的interface 非常简单:2.实际的interface 可以定义任务与函数,还可以always 和initial。3.8bits 到10bits 在driver 中完成,将串行数据驱动到接口上:4.在interface 做:5.相应的,driver 中可以只驱动到interface 的并行接口上即可:

2015-07-09 10:13:49 2481

Simulink建模与仿真》.pdf

Simulink建模与仿真》.pdfSimulink建模与仿真》.pdfSimulink建模与仿真》.pdfSimulink建模与仿真》.pdfSimulink建模与仿真》.pdfSimulink建模与仿真》.pdfSimulink建模与仿真》.pdfSimulink建模与仿真》.pdf

2010-08-03

《机械设计基础》(第五版_杨可桢)习题答案.rar

答案全部呵呵呵呵呵呵呵呵呵呵呵呵呵呵和呵呵呵呵呵呵呵呵呵呵呵呵呵呵

2010-01-10

袖珍示波器使用说明啊啊啊啊啊啊啊啊

袖珍示波器使用说明呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵和

2009-12-08

牛逼C编程(好噢噢噢噢噢噢噢噢噢噢噢噢噢噢)

henhaooooooooooooooooooooooo

2009-11-14

自居电容的简单理解,真的

自居电源日哦牛奶男男女女男男女女男男女女男男女女男男女女男男女女男男女女男男女女男男女女男男女女男男女女男男女女男男女女男男女女

2009-09-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除