模糊搜索神器FZF番外篇

2018-08-28
阅读 3 分钟
9.9k
什么是模糊搜索?广义的模糊搜索是指允许被搜索信息和搜索提问之间存在一定的差异,这种差异就是“模糊”在搜索中的含义。例如,查找名字Smith时,就会找出与之相似的Smithe, Smythe, Smyth, Smitt等。但我们这里模糊搜索特指搜索关键词离散且乱序。看如下的搜索,我的关键词是“a t dir go 15 6”, 搜索到的结果是“app/g...

makefile最佳实践 - 从原理到实用技巧

2018-08-28
阅读 7 分钟
16.7k
make 是一个命令工具,它用来解释 Makefile 中的规则。Makefile 中可以使用系统 shell 所提供的任何命令。但注意有些像 set,setenv 等是不行的。Makefile 最大的优点是简单,只需要一句话的解释就可以让一个之前不懂的人可以用起来并发挥作用。但只有掌握了它的内涵才能真正得心应手。

最快的文本搜索神器ripgrep -- grep的最好代替者

2018-08-27
阅读 11 分钟
30.8k
说到文本搜索工具,大家一定会知道 grep, 它是 linux 最有用并最常用的工具之一。但如果要再一个大的工程项目中搜索某个关键词,大家也一定知道它比较耗时。所以就有了很多替代工具,之前最出名的是 Ack,Ag而最近又有了新的替代者 Ripgrep, 这个工具和 Ack/Ag 一样都使用了多线程的方法,但 rg 比它们更快

在Vim中集成emacs下的verilog-mode功能

2018-07-15
阅读 3 分钟
15.2k
从网上找到的教程清一色是让在$HOME目录下新建一个elisp目录然后放verilog-mode.el进去,再写个.emacs要新建.emacs还需要用cmd窗口echo hi > .emacs但我照做了没有用在emacs下, 依次输入C-h v load-path回车, 就可以看到下面界面里面并不包含$HOME目录,所以它没有起作用

如何实现对tcl脚本的类GDB调试

2018-07-01
阅读 14 分钟
6.1k
tcl脚本被广泛使用于EDA工具中,像Cadence, Synopys和mentor的工具脚本都是tcl脚本,可以在里面嵌入tcl脚本以实现比较复杂的设计流程和自动化工作。目前tcl的调试主要依靠插入打印信息,这样需要叠代的次数比较,代码里会充满了打印语句也不太美观。

在CentOS7系统上安装配置vsftp简要手册

2018-05-19
阅读 3 分钟
3.1k
前言 CentOS7因为systemd取代了init,所以在配置方面和6有些不同,这篇用简洁的语言描述如何在7上开启ftp。 安装 通常安装好系统之后, vsftp已经安装好了,只需要启动一下服务就好。如果没有安装,则建议通过yum来安装 {代码...} 然后就可以通过yum install vsftpd.x86_64来进行安装 配置 配置文件在/etc/vsftp/vsftp.c...

SystemVerilog中fork-join三种形式的应用

2017-11-15
阅读 7 分钟
34.3k
Overview fork...join结构提供了创建并行进程的能力。在Systemverilog里主要有三种版本: fork...join (join all) fork...join_none fork...join_any fork-join同verilog里面的功能是一样。fork-join_none不会等创建的进程完成,直接执行后面的语句。fork-join_any会等待至少一个进程完成,然后再执行后继的语句。 Examp...

在linux下模拟win+arrow来左右半屏当前窗口

2017-09-26
阅读 9 分钟
3.6k
用习惯了windows下的win+arrow来左右窗口,在linux觉得非常不方便的。所以上网看一下在RHEL6上可以使用的方法。因为不想依赖compiz,所以找到的最好方法是xdotool.虽然不太完美,但可以满足80%的需求了。

模糊搜索神器fzf

2017-09-23
阅读 5 分钟
34.9k
fzf是目前最快的fuzzy finder。使用golang编写。结合其他工具(比如ripgrep和fd)可以完成非常多的工作。让你通过输入模糊的关键词就可以定位文件或文件夹。当你的思维也习惯了模糊匹配后,在工作中可以大幅提高你的工作效率。模糊搜索的概念如下,你记得文件名含有con, te, go, 那么你只需要把所有文件送给fzf, 然后在窗...

超快的文件搜索工具Ag

2017-09-23
阅读 5 分钟
16.6k
前言 Ag 是类似ack, grep的工具, 它来在文件中搜索相应关键字。官方列出了几点选择它的理由: 它比ack还要快 (和grep不在一个数量级上) 它会忽略.gitignore和.hgignore中的匹配文件 如果有你想忽略的文件,你需要将(congh .min.js cough*)加入到.ignore文件中 它的命令名称更短:-) 安装 源码安装 下载源码 下载地址:...

快速跳转工具--FASD 简单介绍

2017-09-23
阅读 3 分钟
31k
fasd是一个命令行加速工具。它提供了对文件和文件夹的快速访问。它和autojmp, z, v都很相近。它会记录你访问过的文件夹和文件, 然后你就可以通过简短的名字来直接访问它们。fasd会对访问过的文件和文件夹按照使用频率排序,然后按照频率列出所有文件和文件夹

Zsh和Bash的兼容性问题

2017-09-11
阅读 2 分钟
15.9k
兼容Zsh在大部分时候是兼容Bash, 是的“大部分时候”如果你要强求的话,可以在Zsh里执行下面命令 {代码...} 数组如果在loop里使用了数组,那么脚本在Bash里可以工作,而在Zsh里则不行 {代码...} 有两个地方破坏了兼容性:在for后面应该加一个空格Bash的数组是从0开始的,而Zsh里是从1开始的所以如果为了兼容,一个不太好的...

vim高级技巧之生成序列

2017-09-11
阅读 4 分钟
9.9k
在vim中插入数字序列的方法 待处理文本 假设文本原来内容是 这是第一行 这是第二行这是第四行 这是第五行 插入行号变成 1 这是第一行2 这是第二行34 这是第四行5 这是第五行 还有一种想要的效果是 这是第一行 line[1]这是第二行 line[2]这是第三行 line[3]这是第四行 line[4] 下文会对上面两种需求都给出答案,利用下面...

使用开源RTL仿真器iverilog

2017-09-07
阅读 1 分钟
8.2k
linux下的硬件仿真工具VCS, NC, Questasim都是商业软件,如果想自己在自己机器上跑点小例子,那么通常人就需要去破解这些商业软件。这些年版权的意识越来越强,破解真不是一个好方法。不如使用一些开源的仿真器,来跑自己的小例子。本文要讲的iverilog是目前开源仿真器的不二选择。

windows下终端神器之Cmder

2017-09-04
阅读 3 分钟
16.8k
在windows下面其实大家很少用cmd,也很少人专门去学bat编程,实在是太不方便。那么一个黑糊糊的小窗口,界面比小霸王学习机还土,不能随意改变尺寸, 不支持多tab。久而久之,也没人关心在windows下面如何像linux下的terminal那样操作了。在网上瞎逛时,偶尔看到有人提及cmder和conemu才知道有个近似linux下的bash的东西...

进程间通信之匿名管道阐述

2017-08-26
阅读 5 分钟
3.5k
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)。如下图所示。

IEEE754浮点表示法详解

2017-08-25
阅读 5 分钟
26.9k
目前流行都是上层的语言和框架,通常情况下其实我们并不需要去了解底层实现。但有时候我们会遇到一些奇怪的错误,不了解底层实现的话就无法想通。比如下面一个C的例子

对于fork()用法的初步探讨

2017-08-19
阅读 6 分钟
6.3k
现代CPU太快了,所有的资源(RAM, device, bus..)都无法填满它。所以有多个任务时,CPU就轮流着来处理。得到CPU资源时,其他总线,显卡,RAM等等都要准备好,这样就构成了我们程序执行的上下文。等执行完或CPU分配给它的时间用完了,它就要被切换出去,等待CPU的下一次临幸。当然切换出去之前会保存上下文。所以从CPU的...

命名管道的阻塞和非阻塞模式的初步探讨

2017-08-18
阅读 10 分钟
11.8k
进程间通信(IPC, InterProcess Communication)是指在不同进程之间传播或交换信息。主要的方式有管道(包括无名管道,高级管道和命名管道),消息队列, 信号量, 共享内存, Socket等。 其中Socket可以用于不同主机上的进程间通信。进程通信的主要目的如下:

良好的Verilog FSM代码风格

2017-08-17
阅读 8 分钟
8.2k
FSM是电路设计中非常常见的结构,对于这样常见的结构的正确输写非常重要, 良好的代码风格对于阅读理解以及后期维护也非常重要。本文总结了目前常见的两种输写FSM的方法

Verilog PLI介绍及运行NC的三种方法

2017-08-10
阅读 4 分钟
10.3k
Verilog PLI(Programming Language Interface )是一种Verilog代码调用C/C++函数的机制。它能让Verilog像调用一些系统调用(如$display/$stop/$random)一样调用用户编写的C/C++函数,这样我们可以用C/C++语言开始自己的system task/function, 来实现用verilog不太方便的功能,并与外界建立了联系。PLI可以完成如下功能:

适用于芯片验证工程师的atom插件列表

2017-08-10
阅读 1 分钟
3.4k
插件列表 activate-power-mode advanced-new-file atom-beautify autocomplete-json autocomplete-paths autocomplete-python busy-signal dark-flat-ui dash-ui gist-it git-control git-diff-details git-log git-plus git-time-machine intentions language-markdown language-tcl language-tcltk language-verilog l...

使用gist来备份atom的配置

2017-08-10
阅读 2 分钟
4.4k
登录github, 右上角帐户下Personal setting 从左侧选择"Personal access tokens", 随便写一个名字做为token描述, 勾选gist, 然后点击"Generate token" 下面那串e6a开始的就是token因为这个是一次性的,所以最好把它拷贝下来,贴到记事本

在RHEL6.x上安装Jekyll

2017-08-09
阅读 1 分钟
1.7k
Github Pages可能是目前免费blog的最好选择了。Github Pages是用户编写的,托管在github上的静态网页。要生成静态网页有两种最流行的选择:

如何把本地的代码仓库同步到github上

2017-08-07
阅读 1 分钟
4.8k
利用github存放代码 流程 github建立仓库 -> 本地完成编码 -> 上传到github 操作步骤 在github上建议仓库 如果选择license的话,会在当前仓库里有一个LICENSE文件 本地操作 建立reposity {代码...} 添加文件 {代码...} 为本地仓库添加名为origin的远程版本库 {代码...} 合并远程和本地版本 默认的话,直接上传会遇...