自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 为PDF添加书签目录

虽然喜欢纸质书的质感,但奈何不便携带,作为工具书,想翻看时却总不在手边。于是开始优先收集电子版的PDF,不过这种PDF往往是影印版的,不带书签,翻起来很不方便。前段时间在网上看到一个大佬写的给PDF加书签的软件,很方便,遂记录一下。

2023-10-07 22:34:29 117 1

原创 reg map 自动生成寄存器配置脚本

还记得之前写自动例化的脚本就是因为配置寄存器的模块端口太多了,例化起来实在费劲,而生成配置寄存器的模块用的是公司大佬写的脚本,不过源文件是word做的,虽然不得不说非常好看,但是填起来有点费劲的,当时就想要是源文件是excel表就好了,然后基于这个表自动生成一份word和相关代码多好。省的那点资源,不够费的功夫。功能基本是参考大佬的来做的,大佬的功能已经很完善了,非要说我这个的长处的话,可能就是格式稍微控制了一下吧,可是就是因为做这个格式控制,代码里加了好多奇奇怪怪的东西,有“屎山”那感觉了…

2023-08-17 14:37:27 315 1

原创 在Shell脚本中使用Git

在Shell脚本中使用Git在Git中,存在两种命令: plumbing 和 porcelain ,前者将Git作为一个文件管理系统,是直接操作文件的底层命令;后者将Git作为一个版本管理系统,是更高级的命令。我们平时手动操作git时用的大多是面向版本管理的porcelain高级命令,但这些命令的输出都是为了方便人看的,想从中获取诸如当前分支、当前远程分支等等关键信息的话都需要再做匹配,但是随着git版本的更新迭代,这些输出的格式也会有所变化所以根据porcelain高级命令输出内容定制的脚本通用性不好

2023-08-17 14:35:58 483 1

原创 自动例化verilog模块的脚本(第二版)

这个脚本大概是我写的第一个比较大的脚本了,不过写好还没怎么用就离职了,空了一年,最近又有机会用了,发现确实有不少漏洞,而且第一版只支持符合verilog-2001标准的module,可实际使用中还是不可避免的会接触到旧版的module的定义,于是更新了目前了这一版:改bug+新增支持verilog-1995标准。改动还算多,再加上有不少朋友是奔着这个脚本来的,所以写篇文章简单介绍下。

2023-08-17 14:31:24 226 1

原创 自动例化verilog模块的脚本

写下来感觉python还真挺香的,os,re处理文本也还算方便,用sed和awk能做的放过来也能做,而且数据组织方式以及控制输出格式都更方便点。拿脚本跟同事嘚瑟时还被吐槽跑偏了,不好好搞设计,整天想什么脚本···哈哈,主要是脚本的开发周期比RTL短多了,我参与的第一个项目现在还没流片回来;阴阳师攒了好久的300票也是打水漂···只能写写脚本中找找乐子。最后,源代码在公众号内回复“ins”可获取,脚本肯定有考虑不足之处,欢迎继续完善。

2023-08-17 14:29:49 443 1

原创 如何写控制逻辑(三):模块级流水和valid/ready协议

如何写控制逻辑(三):模块级流水和valid/ready协议大概八月份就开始想总结下控制逻辑的写法了,然后开始找资料,没有直接讲这个的,零零散散的看了很多,断断续续的写了很长时间,自闭无岁月···就先写一篇发出来吧,抓住2020的尾巴 <-_<-所以上两篇嘛,第一篇总结下控制逻辑,第二篇写FSM状态机,敬请期待 :)全程都是菜鸟的理解,代码也未经验证,如果觉得不对欢迎指出来!OutLine1 基本流水中间单元1.1 OutReady 恒为1的情况1.2 有OutReady 反压.

2020-12-13 17:57:02 3221 2

原创 verilog 时序控制----由一个@骚操作引发的思考

verilog 时序控制----由一个@骚操作引发的思考最近见识了大佬在代码中用"@"出了“一剑”,百思不得其解,甚至对“剑”本身都产生了怀疑······所幸在前辈的剑谱中找到答案,一起来见识一下吧。欲练此功,必先xx理解基本功。1.电路的两种延时传输延时(Transport Delay)电路的输入需要经过一段时间以后才能在输出端得到响应。与此最相近的电路就是传输导线了,假如从线上A点到B点需要5ns,那么A点处信号可以随意变化且每次变化维持时间没有限制,在经过5ns以后这些变化可以完全的传递

2020-08-26 22:03:41 734

原创 Shell 引号嵌套

  在写shlle脚本或者自定义alias时有一个坑总是无法避开,那就是引号,不管如何尝试系统总是无情的提示“ unmatched ’ ”,多方寻找终得正解,遂做此记录。先抛结论:1、在使用多重引号时系统是从前往后看的,能匹配就算一对,所以这样一对一对的断句将整个命令串分为若干部分;2、为了使系统识别后(被识别的引号会消失)的命令串功能正确,需要使用转义字符手动的在合适的地方加入合适的引号;下面举例来谈。首先明了为何要用引号,不外乎如下几种:将不连续的一串(比如包含空格)作为一个整体,需..

2020-06-07 14:32:40 3274

原创 SVA(SystemVerilog Assertions )应用实例:如何断言只出现一次(有且只有一个)?

1.组合关系的序列和时序关系的序列简单的布尔逻辑组成的就是组合关系的序列,如一根信号line_en,或者一个布尔表达式line_en && calc_en;而描述好几个始终周期才能完成的事件的序列就是具有时序关系的序列,即带有延时的序列,如a ##2 b;2.蕴含上述两种序列(即所有序列)若是直接写进property,像下面这样:property p1;@posedge(clk) a ##2 b;endproperty则在每个时钟边缘都会去检查这个序列,对于上述

2020-06-06 19:08:52 1367 1

自动例化verilog模块的python脚本

自动例化verilog模块的python脚本

2021-02-15

空空如也

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

TA关注的人

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