工欲善其事、必先利其器!要想高效的编写verilog没有一个好的编辑器可不行,所以我这里推荐两款十分好用的编辑器Notepad++和Gvim,这两款编辑器由于其强大的添加插件的功能,所以深受代码工作者的喜爱,那么对于FPGA新手而言,我觉的去学较复杂的gvim编辑指令,那就有点本末倒置了,所以对于初学者来说,编写的代码工程量还不是很大的时候我向各位推荐Notepad++这款编辑器,这款编辑器的便捷性和实用性不用说,接下来我们就来盘点一下使用Notepad++在编写verilog代码时要配置哪些!

第一 括号、双引号自动补全

点击设置——首选项,如图所示

在弹出的窗口中选择自动完成,将下面需要自动完成的各项目勾选,然后就设置完成了。

第二 代码高亮

Notepad++还有一个便捷的功能是,你双击一个代码其他相同的代码也会高亮,这样查找起来信号便十分方便。

第三 代码自动补全

对于一个文件里的代码如果你正在输入的代码本模块出现过,你只需打出前几个字符,便会出现代码提示,然后选择对应的部分按回车即可自动补全,这样就免去了每个代码都要敲完全,大大提高的编写效率。

第四 列编辑

Notepad++还可以进行列编辑,按住alt键,选择你需要编辑的一列代码,便可以同时对整列进行操作

第五 与ISE、Vivado、QuartusII的配置

Notepad++与ISE关联

打开ISE软件,选择菜单栏“Edit——>Preferences…”,在弹出的对话框中,选择ISE General选项卡下的Editors,如图所示。

在Editor下选Custom,并在Command line syntax下输入“{notepad++安装目录/notepad++.exe} $1”,如图所示。注意路径的反斜杠为“/”。点击“OK”完成notepad++与ISE的关联。

Notepad++与Vivado关联

打开vivado软件,选择菜单栏“Tools——>Setting…”,在弹出的对话框中,选择General选项卡,如图所示。

选择Text Editor栏目,选择“Custom Editor…”,如图中的所示。

点击上图中的…,在弹出的对话框中,输入“notepad++安装目录/notepad++.exe [file name] -n[line number]”,如图所示。点击“OK”、“OK”完成notepad++与vivado的关联。

Notepad++quartus ii的关联

打开quartus ii软件,选择菜单栏“Tools——>Options…”,在弹出的对话框中,选择General选项卡下的Preferred Text Editor,如图所示。

在Text editor行选Notepad++,在Command-line行通过路径浏览按钮选择notepad++的安装路径,如图6所示。点击“OK”完成notepad++与quartus ii的关联。

以上软件的各个版本大同小异

除了一个方便快捷的编辑器之外,我们还需要有良好代码书写风格习惯,比如给模块端口命名为容易区分明了的名字,对写好的模块进行功能描述注释,代码书写规范多用参数定义,增加代码的可移植性,多复制,少编敲等等。而且我的代码风格也是一直在慢慢改进的,对于如何高效的编写verilog还有什么我不知道或者漏掉了请留言告诉我吧!

转载请注明出处:NingHeChuan(宁河川)

个人微信订阅号:开源FPGANingHeChuan

如果你想及时收到个人撰写的博文推送,可以扫描左边二维码(或者长按识别二维码)关注个人微信订阅号

知乎ID:NingHeChuan

微博ID:NingHeChuan

原文地址:http://www.cnblogs.com/ninghechuan/p/7729078.html

如何高效的编写Verlog HDL——菜鸟版的更多相关文章

  1. 如何高效的编写Verilog HDL——进阶版

    博主之前写过一篇文章来谈论如何高效的编写Verlog HDL——菜鸟版,在其中主要强调了使用Notepad++来编写Verilog HDL语言的便捷性,为什么说是菜鸟版呢,因为对于新手来说,在还没有熟 ...

  2. 如何高效的编写与同步博客 (.NET Core 小工具实现)

    一.前言 写博客,可以带给我们很多好处,比如可以让我们结识更多志同道合的人:在写博客过程中去查技术资料或者实践可以让我们对知识的掌握和理解更加深刻:通过博客分享能帮助他人收获分享的快乐等等.写博客真的 ...

  3. USBasp制作资料及全过程(菜鸟版)

    源:USBasp制作资料及全过程(菜鸟版) 一.usbasp 的一般性介绍: 1.下载线,是“ISP”(In System Programmability:“在系统编程”)或“IAP”(In Appl ...

  4. [转载] 已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc),编写函数 strcpy(C++版)

    已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串.不调用C++/C ...

  5. Qt编写输入法V2019终极版

    一.前言 之前写过的V2018版本的输入法,本来已经很完善了,不打算更新升级了,最近有个朋友找我定制一个输入法,需要高仿一个苹果MAC电脑的输入法,MAC操作系统的审美无疑是相当棒的,于是乎直接拿以前 ...

  6. 前端、HTML+CSS+JS编写规范(终极版)

    HTMLCSS文档规范 HTML和CSS文档必须采用UTF-8编码格式: HTML文档必须使用HTML5的标准文档格式: HTMLCSS编写规范 HTML和CSS的标签.属性.类名.ID都必须使用小写 ...

  7. 咱们来聊聊JS中的异步,以及如何异步,菜鸟版

    为什么需要异步?why?来看一段代码. 问题1: for(var i=0;i<100000;i++){ } alert('hello world!!!'); 这段代码的意思是执行100...次后 ...

  8. 菜鸟版JAVA设计模式—从买房子看代理模式

    今天学习了代理模式. 相对于适配器模式,或者说装饰器模式,代理模式理解起来更加简单. 代理这个词应该比較好理解,取代去做就是代理. 比方,我们买卖房子,那么我们会找中介,我要卖房子,可是我们没有时间去 ...

  9. 一场刺激的游戏——很文艺的山东省第四届ACM赛总结(菜鸟版)

               人生就像一个个节点,节点中或许有成功,失败,满足,遗憾,但是只要它是不可复制的,在日后,便是美好.                                         ...

随机推荐

  1. 201521123070 《JAVA程序设计》第9周学习总结

    1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 Q1. 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 ...

  2. 201521123066 《Java程序设计》第十周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 有关异常的知识点: 一段代码可能生成多种类型的异常,子类异常必须放在父类异常前面,否则会出现编译错误: 可以 ...

  3. mshadow的原理--MXNet

    mshadow的原理--MXNet 这文章主要解释了表达式模板的工作原理(也是mshadow的主要原理),文章的前半部分是翻译自exp-template/README.md.我们会解释它为什么会影响编 ...

  4. python日记_01 python实现6个人围成一圈,扔到第三个人出局,循环扔的问题。

    #!/usr/bin/python shoplist=['mango','apple','carrot','banana','oracle','python'] length = len(shopli ...

  5. Mybatis第四篇【多表连接】

    Mybatis多表连接 我们在学习Hibernate的时候,如果表涉及到两张的话,那么我们是在映射文件中使用<set>..<many-to-one>等标签将其的映射属性关联起来 ...

  6. Hibernate注解配置与XML配置区别

    注解配置的方式与xml很很多类似: 首先是需要加入4个jar包:hibernate-commons-annotations.jar . hibernate-annotations.jar.ejb3-p ...

  7. mongodb 在windows下面进行分片

    在mongodb里面存在另一种集群,就是分片技术,跟sql server的表分区类似,我们知道当数据量达到T级别的时候,我们的磁盘,内存就吃不消了,针对这样的场景我们该如何应对. 一:分片 mongo ...

  8. 关于IOS的屏幕适配(iPhone)——Auto Layout和Size Classes

    Auto Layout和Size Classes搭配使用极大的方便了开发者,具体如何使用Auto Layout和Size Classes大家可以参考其他文章或者书籍,这里只提一点,在我们设置Size ...

  9. JS(二)

    上周给大家介绍了一下JS基础中一点东西,今天给大家介绍一下JS基础中一个重要部分,循环和函数. 04-JS中的循环结构 一.[循环结构的步骤] 1.首先要先声明循环变量. 2.判断循环条件 3.执行循 ...

  10. [js高手之路] html5 canvas系列教程 - 开始路径beginPath与关闭路径closePath详解

    路径在canvas绘图中,经常被用到,是一个非常重要的概念. 比如:我们要在canvas画出3条直线,要求用不同的颜色加以区分. <style> body { background: #0 ...