yuanqui_cn的个人空间 https://blog.eetop.cn/92355 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

针对verilog 编写的VIM 函数

已有 2088 次阅读| 2014-12-17 07:21 |个人分类:viml

 在vim写verilog代码时,经常一些重复操作,所以自己写了一些vim 脚本函数,实现自动。

//左边为原始内容,后边为函数执行后内容。
//--------------------------------------------------------functions
//列 递增修改 ,
ColInc(StartNum,LoopNum,StepNum,SkipLineNum,LoopNum)            ColInc.vim
  example:
      ColInc(1) 
         abc   abc01     
      ColInc(1,3)   //把光标看在第一行的c后面,执行
         abc   abc01     
         abc   abc02     
         abc   abc03     
      ColInc(1,5,2) //以2递增       
         abc   abc01     
         abc   abc03     
         abc   abc05     
      ColInc(1,5,1,2) //跳行递增,        
         abc   abc01   
         abc   abc     
         abc   abc02   
         abc   abc     
         abc   abc03   
         abc   abc     
         abc   abc04   
         abc   abc     
         abc   abc05   
SkipDel(SumNum,SkipLine,LoopNum)   //跳行删除单词        ColInc.vim
  example:
      SkipDel(3,2)
         abc      
         abc   abc   
         abc      
         abc   abc   
         abc      
         abc   abc   
         abc      
         abc   abc   
  example:
      SkipDel(3,2) //
         axx ss      axx  
         bxx ss      bxx  
         cxx ss      cxx  
         dxx ss      dxx  
                     
         axx ss      axx  
         bxx ss      bxx  
         cxx ss      cxx  
         dxx ss      dxx  
                     
         axx ss      axx  
         bxx ss      bxx  
         cxx ss      cxx  
         dxx ss      dxx  
                     
         axx ss      axx  
         bxx ss      bxx  
         cxx ss      cxx  
         dxx ss      dxx  
         
         
SkipInsert(SumNum,SkipLine,LoopNum)            ColInc.vim
  example:
      SkipInsert(3,2,"ss")   //跳行 插入
          abc   dd        abc sss dd   
          abc   dd        abc   dd   
          abc   dd        abc sss dd   
          abc   dd        abc   dd   
CreatWireReg(MaxBit,typeString,LoopNum) //自动生成wire或reg的定义           CreatWireReg.vim
  set:   please write .v file;  insert falg(//endwire //endreg)
  example:
     CreatWireReg()
                            wire  [ 7:0 ]   abc   ;    
          //endwire         //endwire     
          abc = 8'h00;       abc = 8'h00; 
     CreatWireReg()
                             reg  [ 7:0 ]   abc   ;    
           //endreg         //endreg     
           abc <= 8'h00;       abc <= 8'h00;
     CreatWireReg(8)
                        wire  [ 7:0 ]   abc   ;    
      //endwire         //endwire     
      abc = s1_1;       abc = s1_1; 
     CreatWireReg(8)
                        reg  [ 7:0 ]   abc   ;    
      //endwire         //endwire     
      abc <= s1_1;       abc <= s1_1;     
     CreatWireReg(8,"reg",4)
                        reg  [ 7:0 ]   abc00   ;    
                        reg  [ 7:0 ]   abc01   ;    
                        reg  [ 7:0 ]   abc02   ;    
                        reg  [ 7:0 ]   abc03   ;    
      //endwire         //endwire     
      abc00  <= s1_1;       abc <= s1_1; 
      abc01  <= s1_1;       abc <= s1_1; 
      abc02  <= s1_1;       abc <= s1_1; 
      abc03  <= s1_1;       abc <= s1_1; 

点赞

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 0

    好友
  • 0

    获赞
  • 0

    评论
  • 1553

    访问数
关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-9 01:32 , Processed in 0.022590 second(s), 15 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部