如何高效的编写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赛总结(菜鸟版)
人生就像一个个节点,节点中或许有成功,失败,满足,遗憾,但是只要它是不可复制的,在日后,便是美好. ...
随机推荐
- ArrayList和LinkedList区别及性能测试
ArrayList和LinkedList是Java Lis接口的2个实现.它们的区别如下表所示: 底层结构 强项 弱项 ArrayList 数组 随机访问get和set 插入删除 LinkedList ...
- 软件测试的cookie测试
1.什么是cooike测试 Cookie是指网站用于辨别身份,进行会话(session)跟踪而存储在客户端的数据.它是有服务器产生并发送给客户端的.其用途是提供一个方便的功能以简化用户输入,节省访问页 ...
- OC Block网上转载
1.block是一个特殊的OC对象, 它建立在栈上, 而不是堆上, 这么做一个是为性能考虑,还有就是方便访问局部变量. 2.默认情况下block使用到的局部变量都会被复制,而不是保留.所以它无法改变局 ...
- java GUI编程二
java基础学习总结--GUI编程(二) 一.事件监听 测试代码一: 1 package cn.javastudy.summary; 2 3 import java.awt.*; 4 import j ...
- java获取MP3的播放长度
在开发一个web项目时,需要获取MP3的播放长度.上网找了一些方法,最后找到了一个可以用的java包jaudiotagger-2.2.3.jar,java包网址http://www.jthink.ne ...
- 个人从源码理解JIT模式下angular编译AppModule的过程
承接上文.笔者之前将一个angular项目的启动过程分为了两步: 创建平台得到 PlatformRef ,以及执行平台引用提供的方法编译根模块 AppModule .本文就将着眼于创建好的平台,从an ...
- Vue.js的从入门到放弃进击录(一)
感谢我们项目组给机会,让我学了Vue.js,打开新世界大门...哈哈哈,也没有那么夸张,不过学下来确实觉得入门还是蛮容易的.我大概前前后后学了有一个月的样子,一开始只是比较急着可以写东西出来,后来因为 ...
- Linux入门之常用命令(7)压缩
compress filename 压缩 -d解压缩 *.Z bzip -d解压缩 -z压缩 *.bz2 bzcat filename .bz2 读取压缩文件内容 gzip -d解压缩 -#压 ...
- Just Finish it up UVA - 11093
Just Finish it up Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu [Sub ...
- springMVC中的redirect和forward区别?
1.forward在跳转后可以取到message值,redirect在跳转后无法取到message值. 2.forward跳转后地址栏URL不会改变,而redirect会改变.