- 博客(57)
- 资源 (6)
- 收藏
- 关注
原创 VPI step by step(1)
本文主要参考”The Verilog PLI Handbook(Second Edition)”, 权当读书笔记。主要针对VCS flow, 也许会穿插其他两大家工具的flow.说在最前面到今天为止,SV对C/Cpp的主要接口支持大多改用DPI, 也推荐使用DPI。或者直接使用UVM自带现成的DPI lib, 已经可以满足不少需求。然后类似C与汇编的关系,VPI更接近与底层Verilog与C的交互,
2017-08-27 15:00:13
5293
2
原创 Windows下安装.whl
全傻瓜流程1. 安装pip(1) 下载 准备以下文件下载 pip下载 get-pip脚本下载(2) 安装 打开cmd, 键入python get-pip.py2.安装whl以pandas为例。在cmd键入pip install pandas-0.20.3-cp36-cp36m-win_amd64.whl报错pandas-0.20.3-cp36-cp36m-win_amd64.whl is n
2017-08-18 22:44:45
2074
原创 安装SCL后仍然提示lmgrd: Command not found.的解决办法
安装好SCL,设置好环境变量path但是仍然报错,lmhostid也是同样的错误。结果在万能的EETOP的某层回复里找到解决办法:安装OS对应的lsb包。 本人系统CentoOS 64bit, 所以切换到root账号:yum install redhat-lsb.x86_64问题解决
2017-07-23 22:02:21
14954
转载 圣剑传说 玛娜传奇(Legend of Mana)(LOM)AF推荐放置
A: 1610 22海賊船バルドマドラ海岸魔法都市ジオ 1157814港町ポルポタキルマ湖ジャングル月夜の町ロアミンダ
2016-08-08 01:09:48
10984
3
转载 圣剑传说 玛娜传奇(Legend of Mana)(LOM)副原料取得方法
硬币名称卖价入手方法属性隐藏能力ウィスプの金貨维斯帕的金币500・从精灵处获得光ウィスプシェイドの金貨杰伊德的金币闇シェイドドリアードの金貨德莉亚的金币木ドリアードアウラの金貨奥拉的金
2016-08-07 01:11:24
6188
转载 圣剑传说 玛娜传奇(Legend of Mana)(LOM)主原料取得方法
金属名称買値売値入手方法メノス銅300150【店】LL3~10フォルセナ鉄600300グランス鋼鉄1200600【店】LL11~15アーティファクトの代替品ミス
2016-08-06 23:51:08
5914
转载 圣剑传说 玛娜传奇(Legend of Mana)(LOM)全防具取得方法
名称叩/斩/突/魔买价卖价能力变化属性耐性属性Lv异常耐性入手方法材料说明ブロンズシールド1 / 1 / 1 / 02010----【店】ドミナの町メノス銅の盾アイアンシールド1
2016-08-06 23:30:13
3245
转载 圣剑传说 玛娜传奇(Legend of Mana)(LOM)全武器取得方法
名称攻击买价卖价能力变化属性大技入手方法材料说明ブロンズナックル88040---【店】ドミナの町メノス銅のナックルアイアンナックル1316080---
2016-08-06 00:36:53
4662
转载 圣剑传说 玛娜传奇(Legend of Mana)(LOM) 怪物掉落道具
转载至天幻,由于原链接图片丢失,这里修复一下原文链接:http://lom.ffsky.cn/monsitem.htm 兽系图例怪物名称ラビRABITEモールベアMOLEBEARティディTEEDIEバウンドウルフHOWLERグレートオックスGR
2016-07-31 00:46:54
6132
原创 SystemVerilog中的$cast()向下类型转换
在UVM中经常可以看到$cast的身影,这是SV的build-in task之一,当然它还有function的版本,这里不讨论。说到这,不得不提到“类型转换”这个术语,SV和很多其他语言一样,都支持特定类型间的相互转换。SV类型转换分两种方法,一种叫静态类型转换,另一种称之为动态类型转换。静态类型转换的语法类似为:int a = 2;real b;b = real'(a); 这种
2015-08-21 21:57:42
23058
10
原创 安装Windows后恢复CentOS 7 grub2启动项
如果在度娘上搜装windows恢复grub,或者再加一个关键字rescue,八成会搜到同一篇文章及其衍生版,大体思路是没问题的,但是操作起来就不是那么回事了。 事故起因是博主装了Win10, 把之前安装过的Linux grub给覆盖掉了。解决步骤如下: (1). 得把启动项找回来把,grub不行windows启动管理器也行啊。下载EasyBCD, 管理员权限打开: 点击或
2015-08-07 00:39:43
2357
原创 那些没有root权限的岁月:一分钟解决mutt No mailbox
最近被公司的mutt整的很头疼,总是提示No mailbox, 其实原因在于没有root权限,/var/spool/mail/USER_NAME这个文件夹不存在又建立不了。
2015-07-28 13:05:27
3438
原创 python抓价记(4)
很长时间没有更新,这次算是最终BOSS了吧。这么说也不合适,毕竟遇到的问题不一样,且就那么过吧。最后的任务:某蛋。某蛋比较特别的是使用了图片作为价格,这种方法某东还有别的网站有用过,但是放弃了。当初某东起码还加了根红线作干扰,但是某蛋不一样,字体清晰,大小工整,间隔一致,这是最容易识别的数字图片了,没有之一。首先打开商品网页,对着价格图片右键查看地址:http://www.newe
2015-07-25 00:27:16
954
原创 python抓价记(3)
下面来玩点有难度的,试了一堆B2C,发现某宁还真是与众不同。用之前的方法:import urlliburl = 'http://product.suning.com/102365475.html'print urllib.urlopen(url).read()会发现这次不顶用了,会提示错误信息:HTTPError: HTTP Error 302: The HTTP serve
2015-07-11 00:17:53
1212
原创 python抓价记(2)
昨天抓的太简单,今天来个稍微复杂点的:某东.为什么说难度要稍微大一点呢?首先还是做尝试,用一段很简单的代码看看能用脚本得到些什么.import urlliburl = 'http://item.jd.com/592891.html'print urllib.urlopen(url).read()把HTML抓出来了,回到网页看看:博主想抓取的价格在“京东价”之后,右
2015-07-02 21:55:31
871
原创 python抓价记(1)
其实很简单,打开盒子比价网,然后把要搜的东西弄进去搜,当然也可以自己填参数,然后把网址拷出来: html = urllib.urlopen('http://www.boxz.com/go3c/search.ldo?k=5d+mark+iii&t=').readlines() find = False; for line in html: m = re.se
2015-07-02 00:07:26
1264
原创 如何提高vcs以及irun的编译与仿真速度
vcs:没必要的时候不要加-debug系列参数;-jN (N 为数字)多核编译;某lca的feature,提高编译速度VS提高仿真速度,二选一,不可兼得;segment compile(MARK之)irun:-mccodegen -mcmaxcores N (N为数字)多核编译;-access后面少跟一些乱七八糟的参数,没有debug需要+r即可;-msdump多核dump
2015-07-01 00:19:13
11049
转载 提问的艺术
提问之前在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到:1. 通读手册,试着自己找答案。2. 在FAQ里找答案(一份维护得好的FAQ可以包罗万象:)。3. 在网上搜索(个人推荐google~~~)。4. 向你身边精于此道的朋友打听。当你提出问题的时候,首先要说明在此之前你干了些什么;这将有助于树立你的形象:你不是一个妄图不劳而获的乞讨者,不愿浪费别
2015-06-05 12:37:43
721
原创 功能覆盖率漫谈
vcs支持层次交叉覆盖率,意味着:covergroup cg_a { coverpoint a;}covergroup cg_b { coverpoint b;}covergroup x_ab { cross cg_a.a, cg_b.b;}是可以跑起来的,书写上的便利可以让组合更自由。这种写法有几个地方要注意:1.需要在vcs elaborate时加上-lc
2015-06-05 00:45:08
14327
2
原创 关闭VHDL的assertion log打印
仅限在vcs里有效果。首先在home目录或者仿真目录放一个synopsys_sim.setup文件,从安装目录下的某个bin文件夹里拷过来亦可,把ASSERT_IGNORE_NOTE等选项改为TRUE,需要不显示哪个改哪个。在vcs里仿真目录下的文件优先级最高,其次是home目录下,最后才是安装目录。
2015-05-27 22:11:54
914
原创 UVM中保存指定ID或report severity为log文件的方法
当然可以尝试grep,如果两者都要筛选可以用更复杂的语法。这里只讨论UVM原生的处理方法。 那就是使用set_report_severity_*_hier系列方法,不带hier的版本对本模块有效,如果希望对子模块有效就得用hierarchy系列。几点注意事项: 1.set系列函数最好放在build phase,且在children例化之后,这一点在源码里可以看到的,ref里没提。根据需要调用def
2015-05-27 22:10:48
2236
原创 怎样在INCISIVE里跑UVM1.2
UVM1.2已经上市许久,估计很多cadence的用户现在还没跑起来,以为代码有bug,其实是老版本IES自带的库不兼容造成的。注:下文中提到的$UVM_HOME是linux下设置的环境变量,指向UVM 1.2 lib所在的路径,需要自行设置如果是INCISIVE 13.2,那么使用命令:irun -uvmhome $UVM_HOME -uvmnocdnsextra如果是INCIS
2015-03-30 15:34:41
3531
原创 关于UVM中不能自定义uvm_printer_row_info的追踪
UVM printer中会使用这个结构体,但是因为是struct, 所以不能重写。Justin Refice大神补充在未来会增加一个新的对象uvm_printer_element以及uvm_printer_element_proxy以满足新的需求。参考资料:uvm_printer doesn't provide mechanism for interacting "per row"
2015-03-30 15:26:21
976
原创 vim的.vim插件以及.vmb插件安装方法
老式的.vim直接放到$HOME/.vim/plugin.vmb插件用vim打开后,输入命令:so%回车后安装成功
2015-03-25 10:41:09
1984
原创 uvm_config_db性能权衡
根据mentor的推荐,尽量少用uvm_config_db,因为uvm_config_db是一个数据库,使用正则表达式匹配所有结果,如果数据库过大会影响验证平台性能。但是同时也提到性能与方法学乃至OOP有一个trade off.这里几个减少uvm_config_db的方法:(1) 数据结构粒度不要太小,如下代码:uvm_config_db #(int)::set::(this, "*"
2015-01-22 10:09:44
1791
原创 python与C/C++互相调用
留位,待补充C调用python:Python/C APIpython调用c:gcc编译后使用ctype注意c++程序需要添加extend "C"声明
2015-01-21 09:47:35
1190
原创 那些没有root权限的岁月:step by step-无ROOT权限下使用GCC编译python
为SV调用python的第一步。往往我们在服务器上工作,root权限想都别想,怎么办?第一步,安装python10.python官网下载python安装包,目前(2015年1月)最新的是2.7.9版本,原谅我无视3.x版本。11.新建个python安装目录,假设home目录下有个local文件夹:cd ~/localmkdir python12.新建个存放安装文件目录:
2015-01-16 19:18:31
1935
原创 怎样在systemverilog DPI中调用SV,C与C++(二)
有的时候需要交互struct,union数据类型,下面举个简单例子。在SV里定义这个一个结构体:typedef struct { int id; string name;} xaction; 同样的,在C里定义同样的结构体,结构体名可以不一致:typedef struct { int id; char* name;
2015-01-14 15:48:14
6427
1
原创 uvm_config_db使用注意
uvm_config_db将数据存入数据库中供set, get, 注意这里存进去了就是一个半全局的变量,如果有一处改变了就会对其他使用了相同值的变量造成影响,和全局变量效果是一样的。因此尽量单向使用uvm_config_db get到的对象/变量,不要对其赋值(virtual interface除外,本来就希望要驱动DUT).
2014-12-24 16:56:31
8526
原创 SV(UVM)实现多phase pipeline driver建模
在平台的搭建中,需要关注的重点一是平台的结构,怎么样便于复用,怎么样便于使用,不需要知道内部层次结构就可以很好的配置和使用。另一点就是实现了,驱动怎么实现?monitor怎么实现?sequence怎么实现?这些在VIP里都是加密的,都是“核心机密”。而其他结构agent, coverge collector, scoreboard等等结构基本大同小异。本文主要讨论“实现”这一方面的一小部分内容,有
2014-11-14 10:42:47
3386
1
翻译 event触发的竞争条件(Event trigger race conditions)
event触发的竞争条件问题:在进程等待event触发的同一时间步长内,若该event触发,则不一定能等到该eventverilog通过event数据类型提供一种基本的进程同步机制,使用这种机制会遇到两个问题。第一个问题也许一开始不会被当做问题,但是过了几年你会意识到这真是个问题:许多工程师甚至不知道sv中还有event,根本没想到去用它。有个工程师使用了N年的verilo
2014-11-13 14:07:45
2747
原创 怎样在systemverilog DPI中调用SV,C与C++(一)
网上有些例子只给了简单的print,不能充分说明问题。既然希望在C里调用C++的函数
2014-06-06 11:59:00
12961
原创 DVE错误Fatal: Internal system error, cannot recover.
有时候DVE莫名其妙运行不起来,提示以上错误,之后给出一些内存堆栈提示,度娘google了半天无果,最后发现很简单就搞定 。直接yum upgrade一下自己的各个包。。。PS: lz用的是redhatPS: lz自己更改了yum mirror
2014-03-17 11:48:16
4212
2
原创 SystemVerilog VMM Workshop Lab Guide(LG)学习笔记-Lab2 VMM Transaction & Atomic Generator
vmm_data中的重要函数有allocate(), compare(), copy(), copy_data(), display(),psdisplay(),在Packet.sv中添加vmm_log与随机数据成员,log声明为static定义Packet约束 使用allocate()代替new(),便于重用. 这是一种类似$cast()的处理方法: 例如G
2012-11-01 23:39:01
2353
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人