随笔分类 -  Experience

摘要:转自http://bbs.chinaunix.net/thread-1762006-1-1.html这人真的很厉害,我还是琢磨了好久才明白的。看到的关于查找表在文本处理中的妙用一、标签`b LABEL' Unconditionally branch to LABEL. The LABEL may be omitted, in which case the next cycle is started.`t LABEL' Branch to LABEL only if there has been a successful `s'ubstitution since the 阅读全文
posted @ 2012-10-11 20:09 poiu_elab 阅读(1360) 评论(0) 推荐(0)
摘要:这才是真的大师之作 原文地址http://sed.sourceforge.net/sed1line.txtFILE SPACING:# double space a filesed G# double space a file which already has blank lines in it. Output file# should contain no more than one blank line between lines of text.sed '/^$/d;G'# triple space a filesed 'G;G'# undo doubl 阅读全文
posted @ 2012-10-10 10:50 poiu_elab 阅读(648) 评论(0) 推荐(0)
摘要:看了daniel robbins的sed教程3讲,又进步了,继续来个进阶篇。1. 首先,sed里面的&不光可以用来在行尾追加,还可以用在匹配的pattern尾部追加也可以追加在pattern的首部s/one/111&/ #匹配首追加s/one/&111/ #匹配尾追加2. match variable在sed里面的用法是s/P\(.*\)/\1/3. =可以用来显示行号,但是是单起一行的4. {}可以用来对一个地址进行多项的操作1,5{ s/one/1 s/two/2}5. i\在行前面追加行,c\替换行,a\在行后面追加行1,5i\ this is insert6,1 阅读全文
posted @ 2012-10-05 14:25 poiu_elab 阅读(382) 评论(0) 推荐(0)
摘要:其实也没啥,感觉和sed一点点像,不过倒是处理方式不是特别一致。入门看的是e文的资料,一个某国同志写的http://www.ibm.com/developerworks/linux/library/l-awk1/index.htmlhttp://www.ibm.com/developerworks/linux/library/l-awk2/index.htmlhttp://www.ibm.com/developerworks/linux/library/l-awk3/index.html这三个文章基本就把事情说明白了,但是其实用的时候还是有很多东西是自己要查的,比如gensub和gsub,ma 阅读全文
posted @ 2012-09-30 11:25 poiu_elab 阅读(1741) 评论(0) 推荐(0)
摘要:忽然用到了几个linux的命令小收集一下1. 对于图片显示在redhat上面还是有几个不必打开pimp就可以直接查看图片的简单软件的,比如一个是display,另一个是eog(eye of gnome),还是eog好,支持热键关闭。2. rename的使用,还是很方便的,虽然看man是说支持正则改名,但是还没成功过,简单用法还是看man,举的例子很贴切,不过感觉如果不能正则的话,功能还是很弱的,不如用find+awk+csh来用的方便3. xargs,以前一直不知道以为这个东西是个很神秘的东东,其实原来也就那样,没啥,只不过通过管道把之前的stdout组成一个行,来作为下一个命令的参数传进去, 阅读全文
posted @ 2012-09-30 10:22 poiu_elab 阅读(203) 评论(0) 推荐(0)
摘要:sed其实是一个非常简单的小东西,只不过之前一直都没有仔细看过,这两天看了一下,不过如此嘛来个介绍,sed本质上来说其实是一个stream editor,是以行为单位的,主要是操作文件再重定向到一个地方,或者是通过管道把屏幕上的东东进行简单的处理就ok了的东西,比起awk,perl之类的,只能算是小儿科,但是非常简单易用的特性也使得深受广大linuxer们喜爱。来1、首先行号是1,$就算完了删除直接就是d。-e选项是告诉sed,后面''内的就是要执行的脚本了,不用-e而用-f的话,就可以把''内的东西都写到一个文件中去就可以了。比如删除1-10行sed -e & 阅读全文
posted @ 2012-09-19 16:46 poiu_elab 阅读(335) 评论(0) 推荐(0)
摘要:关于svn版本管理的基本操作如下源自http://maverick.inria.fr/~Xavier.Decoret/resources/svn/index.html创建svn databasesvnadmin create --fs-type fsfs /home/user/svn查看svn database的文件列表svn ls file:///home/user/svn直接操作svn database内的文件svn mkdir file:///home/user/svn/foo -m "Created dumb directory"svn rm file:///hom 阅读全文
posted @ 2012-09-07 14:36 poiu_elab 阅读(308) 评论(0) 推荐(0)
摘要:注意这是哥的原创。起因是看到了M8051里面的memory,都有个define的延时,所以这里想查一下nc的选项看能不能给在ncelab的选项里面 直接给避过去,但是发现有了些学问,听我慢慢到来。首先 行为级描述的延时都是不可搞的 就是你在ncelab里面设置了0延时 但是其实是不起作用的ncelab里面搞0延时的选项是-delay_mode zero,具体详情可以在查看一下nc的帮助 这个选项能起什么作用呢一、先让我们来看看线网时延,举例如下1.wire #5 arb;这个代表的意识就是arb这个wire的反映要慢#5,这个的意思就是说,当你在赋值的时候就会发现如果像上面这样声明的话就会有着 阅读全文
posted @ 2012-08-27 21:56 poiu_elab 阅读(1324) 评论(1) 推荐(0)
摘要:specify block用来描述从源点(source:input/inout port)到终点(destination:output/inout port)的路径延时(path delay),由specify开始,到endspecify结束,并且只能在模块内部声明,具有精确性(accuracy)和模块性(modularity)的特点。specify block可以用来执行以下三个任务:一、描述横穿整个模块的各种路径及其延时。(module path delay)二、脉冲过滤限制。(pulse filtering limit)三、时序检查。(timing check)specify block 阅读全文
posted @ 2012-08-25 14:30 poiu_elab 阅读(3953) 评论(0) 推荐(1)
摘要:大牛就是大牛看完我又茅厕顿开了说的都是一些async FIFO的基础的东西 但是感觉这些基础的东西自己以前都是一知半解的 现在终于算是有点觉悟了当你使用同步FIFO的时候 大可以不必要弄两个counter 直接一个counter wr就+1 rd就-1,又wr又rd就hold,就完事了像我之前写的小FIFO总是拘泥于异步FIFO的圈子 弄的乱七八糟的接着 使用FIFO的时候 也可以考虑通过handshake来同步两边的pointer来进行比较 和判断full/empty 还是看应用的场合来决定 使用何种手段来搞pointer 的跨时钟域的问题之所以不用binary而用gray,这里还是考虑mu 阅读全文
posted @ 2012-08-24 20:43 poiu_elab 阅读(3412) 评论(1) 推荐(1)
摘要:首先是看了PARADIGM WORKS的一篇名为《Crossing the Abyss——Asynchronous Signals in a Synchronous World》的paper吧应该是其实之前华老师很大篇幅的论文都是翻译的这篇文章里面的内容 国内的博客也有很多说的堂而皇之的话是翻译这篇文章的说的都是一些很实在的跨时钟域的基本知识 感觉看过之后有种醍醐灌顶之感首先就是基本的同步器就是两个DFF,这两个DFF在版图的时候一定要被放的非常近,以保证非常小的clock skew,再有就是第一个DFF对毛刺非常敏感 所以从原时钟域同步到新时钟域的时候 原时钟域的DFF与这个第一级的同步DF 阅读全文
posted @ 2012-08-24 15:04 poiu_elab 阅读(8664) 评论(0) 推荐(0)
摘要:这次发现的问题其实还是很有代表性的 是关于系统函数与组合逻辑的时刻取指问题问题发现的缘由是 本来想写一个纯组合逻辑运算的电路 用display的方式把每次的结果显示出来 于是便有了下文首先先看一下代码 1 //////////////////////////////////////////////////////////////////////////////// 2 // MODULE NAME : gray_code // 3 // DATE : ... 阅读全文
posted @ 2012-08-24 14:24 poiu_elab 阅读(466) 评论(0) 推荐(0)
摘要:这个看到 真的感觉眼前一亮1.diff命令$ diff -u hello world > diff.patch2.patch命令$ cp hello world $ patch world < diff.patch3.两者结合 源码升级假设program-1.0目录中为老版,现开发完成的新版位于program-2.0目录中,将两个目录置于同一父目录下,然后在该父目录上执行:$ diff -Nur program-1.0 program-2.0 >program-2.0.patch将生成一个program-2.0.patch的补丁文件,发布该补丁文件(当然可以先压缩成bzip2 阅读全文
posted @ 2012-08-22 23:03 poiu_elab 阅读(316) 评论(0) 推荐(0)
摘要:感觉还是灰常有用的tar命令 收集于别人的博客http://hi.baidu.com/coffeant/item/382fc5d3940025332b35c7b6tar命令解压文件到指定目录:tar -zxvf /home/user/aa.tar.gz -C /home/user/pftar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思);-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。-z :是否同时具 阅读全文
posted @ 2012-08-22 23:01 poiu_elab 阅读(310) 评论(0) 推荐(0)
摘要:光标移到起始行,输入ma 光标移到结束行,输入mb 光标移到粘贴行,输入mc 然后:'a,'bco'c 把co改成m就成剪切了 阅读全文
posted @ 2012-08-22 22:10 poiu_elab 阅读(327) 评论(0) 推荐(0)
摘要:算是对下一步的一个小展望吧如果可能的话 一会儿就回家了王老师下一步应该还是要做一个集成MCU的reader芯片51可能是首选 正是一个熟悉51架构的好机会 如果做的话肯定要认真学习一下另一方面 如果有时间的话还是要好好看看perl 好像非常有用的样子再另一方面 看看dc综合的知识 对于真正的前端数字工程师来说 都是必要的知识 不可或缺这一阵子其实对我自己来说 提升的东西并没有多少 软件倒是写了不少 MSP430的应用 熟悉了一些 别的硬件方面的知识倒是长了没多少零零散散的帮着别人弄的filter_ctrl,osc_ctrl,再加上之前卡的test_chip上面新加的一个spi_slave配置的 阅读全文
posted @ 2012-08-18 15:24 poiu_elab 阅读(174) 评论(0) 推荐(0)
摘要:http://www.ibm.com/developerworks/cn/linux/l-cn-screen/ 阅读全文
posted @ 2012-07-24 09:40 poiu_elab 阅读(190) 评论(0) 推荐(0)
摘要:1.分频用的计数器 除非需要控制初始相位,否则分频用的计数器往往都是自由运行的,只要每个时钟加1就好。2.移位寄存器 为了使pipeline配合正确,设计中经常会存在移位寄存器。这种情况下,你只要复位第一级寄存器,然后保持若干个周期,移位寄存器就被彻底复位了,而不用为每个bit都添加复位。移位寄存器不使用复位的又一个好处是可以利用SRL。3.moore型状态机输出 对于那些moore型状态机的输出,你只要复位了状态机,下一个周期就会被复位。不用复位可能会引起的一个问题是仿真时出现一堆的X。这个问题可以通过在HDL文件中为寄存器赋初值解决。顿时理解了为什么majority逻辑里面为什么不用... 阅读全文
posted @ 2012-06-26 17:27 poiu_elab 阅读(672) 评论(0) 推荐(0)
摘要:读毕《基于verilog HDL的数字系统应用设计》(第2版)王钿 卓兴旺著知识收集如下1. 若总线上所有驱动源均停止驱动且无上拉或下拉电阻,则总线悬空,总线对地相当于一电容;如果关闭总线之前的驱动为高电平,则用示波器可观测到一个类似电容放电的现象。若总线有上拉或者下拉电阻,则可以快速地被上拉到高电平或下拉到低电平,从而避免总线因电容缓慢放电而处于电平漂浮不定的情况。2. 一般来说,只要if...else语句中的条件是互斥的(因为互斥所以不存在优先级),在synplify下的综合结果就是并行且不带优先级的电路3. latch所耗用的逻辑资源比DFF少(DFF需要12个MOS管,latch... 阅读全文
posted @ 2012-06-26 16:59 poiu_elab 阅读(442) 评论(0) 推荐(0)
摘要:在组合逻辑中,容易综合出锁存器的语句是if和case,其实只要配对使用if...else;case用default就基本上可以避免锁存器;case1(有锁存器):module mux_latch( input [3:0] data, input [1:0] valid, input flag, output reg valid_data);always @ (*) begin if(valid==2'd0) valid_data = data[3]; if(valid==2'd1) valid_data = data[2]; if(valid==2'd2) valid_ 阅读全文
posted @ 2012-06-15 23:28 poiu_elab 阅读(1684) 评论(0) 推荐(0)