如何高效的编写Verlog HDL——菜鸟版
工欲善其事、必先利其器!要想高效的编写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——菜鸟版的更多相关文章
- 如何高效的编写Verilog HDL——进阶版
博主之前写过一篇文章来谈论如何高效的编写Verlog HDL——菜鸟版,在其中主要强调了使用Notepad++来编写Verilog HDL语言的便捷性,为什么说是菜鸟版呢,因为对于新手来说,在还没有熟 ...
- 如何高效的编写与同步博客 (.NET Core 小工具实现)
一.前言 写博客,可以带给我们很多好处,比如可以让我们结识更多志同道合的人:在写博客过程中去查技术资料或者实践可以让我们对知识的掌握和理解更加深刻:通过博客分享能帮助他人收获分享的快乐等等.写博客真的 ...
- USBasp制作资料及全过程(菜鸟版)
源:USBasp制作资料及全过程(菜鸟版) 一.usbasp 的一般性介绍: 1.下载线,是“ISP”(In System Programmability:“在系统编程”)或“IAP”(In Appl ...
- [转载] 已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc),编写函数 strcpy(C++版)
已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串.不调用C++/C ...
- Qt编写输入法V2019终极版
一.前言 之前写过的V2018版本的输入法,本来已经很完善了,不打算更新升级了,最近有个朋友找我定制一个输入法,需要高仿一个苹果MAC电脑的输入法,MAC操作系统的审美无疑是相当棒的,于是乎直接拿以前 ...
- 前端、HTML+CSS+JS编写规范(终极版)
HTMLCSS文档规范 HTML和CSS文档必须采用UTF-8编码格式: HTML文档必须使用HTML5的标准文档格式: HTMLCSS编写规范 HTML和CSS的标签.属性.类名.ID都必须使用小写 ...
- 咱们来聊聊JS中的异步,以及如何异步,菜鸟版
为什么需要异步?why?来看一段代码. 问题1: for(var i=0;i<100000;i++){ } alert('hello world!!!'); 这段代码的意思是执行100...次后 ...
- 菜鸟版JAVA设计模式—从买房子看代理模式
今天学习了代理模式. 相对于适配器模式,或者说装饰器模式,代理模式理解起来更加简单. 代理这个词应该比較好理解,取代去做就是代理. 比方,我们买卖房子,那么我们会找中介,我要卖房子,可是我们没有时间去 ...
- 一场刺激的游戏——很文艺的山东省第四届ACM赛总结(菜鸟版)
人生就像一个个节点,节点中或许有成功,失败,满足,遗憾,但是只要它是不可复制的,在日后,便是美好. ...
随机推荐
- 201521123060 《Java程序设计》第14周学习总结
1.本周学习总结 1.1以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2.书面作业 1.MySQL数据库基本操作 1.1建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己 ...
- 201521123085 《Java程序设计》第14周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...
- 杭电acm-2007平方和立方和
#include<stdio.h>int main(){ int t,m,n,x,y,i; while(scanf("%d%d",&n, ...
- java面试题整理(1)
1.Equals与==的区别? ==是判断两个变量或者实例是不是指向同一个内存地址 equals是判断两个变量或者实例所指向的内存地址中的值是不是相同 2.Object有哪些公用方法? 方法equal ...
- 虚拟WEB目录的映射原理
一个文件系统目录可以被映射成为多个虚拟WEB目录,虚拟WEB目录名称可以是多级目录结构的形式,tomca按照最长路径匹配原则处理请求的URL 设置WEB站点的根目录: <Host>元素的a ...
- centos7.2 linux 64位系统上安装mysql
1.在线安装mysql 在终端中命令行下输入(在官网下载mysql): # wget https://dev.mysql.com/downloads/repo/yum/mysql57-communit ...
- URL编码解决
与其他系统对接时遇到的问题URL中传递认证码,URL默认只允许传递ASCII码中的数据,所以浏览器默认会进行一次编码将%等特殊符号转义后台web服务器收到URL中的参数,会默认进行一次解码,但遇到的问 ...
- 使用paramiko远程执行
写部署脚本时,难免涉及到一些远程执行命令或者传输文件. 之前一直使用sh库,调用sh.ssh远程执行一些命令,sh.scp传输文件,但是实际使用中还是比较麻烦的,光是模拟用户登陆这一点,还需要单独定义 ...
- Hive简记
在大数据工作中难免遇到数据仓库(OLAP)架构,以及通过Hive SQL简化分布式计算的场景.所以想通过这篇博客对Hive使用有一个大致总结,希望道友多多指教! 摘要: 1.Hive安装 2.Hive ...
- Print Article hdu 3507 一道斜率优化DP 表示是基础题,但对我来说很难
Print Article Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)To ...