热度 19
2016-4-29 13:34
2899 次阅读|
1 个评论
笔者主要用 UltraEdit 写Verilog HDL代码,尝试过 Vim ,用的比较生疏没坚持下来;尝试过 Notepad+ , Sublime Text 3 ,都感觉一般,其实主要原因还是用UE习惯了,产生了些许情怀。现在官方最新版v23,相比于v22,界面上就改头换面了: ↓ v23加入了Ribbon,微软套件即视感呀 v23版,笔者简单试用过几天,这一版沿用了之前版本的所有功能,另外加入可以自动隐藏的功能区(ribbon)让这版在界面上感觉更简洁,更易用。但是,现在笔者用的还是v22版本,这是为什么呢?因为v23把“拖拽分割窗口”这个功能给阉割了,在官方论坛上有讨论这个话题的,确定是因为专利问题导致的阉割。 如下图是v22版界面,分割了两个编辑窗口才是王道,无法双窗口显示,这个笔者无法忍的。 ↓ 当前笔者v22版的布局:左边栏 “工程文件视图”和“函数列表”;上边 菜单栏和工具栏;中间两列“代码编辑窗口”;右边栏 “模板列表”和“剪贴板历史”。 好了,言归正传,回到本文的话题,这篇笔者给大家介绍“函数列表” -- 基于UltraEdit v22.20.0.37,Verilog HDL UltraEdit没有自带Verilog HDL的语法高亮,需要从官网下载Verilog HDL的wordfiles,这边献上链接: http://www.ultraedit.com/downloads/extras/wordfiles.html 导入wordfiles后语法高亮,代码看着就舒服多了,另外把视角转到“函数列表”,如下图,就简单显示了当前代码中包含的module名,略显简单了,如果能显示input/output,或者当前例化的模块,是不是很完美,所以笔者萌生了配置“函数列表”的想法。 在“函数列表”中右键然后点击“配置”即可打开配置界面,在正则表达式匹配组中显示几个匹配项:config, module, task, function, primitive和begin…end。都是Verilog HDL的几个关键字,如果想匹配input/output, 按照正则表达式语法和Verilog HDL语法匹配即可。 由于笔者之前没有正则表达式的基础,所以简单现学了一下,官网也有相关在UltraEdit中使用正则表达式的介绍: http://www.ultraedit.com/support/tutorials_power_tips/ultraedit/regular_expressions.html ↓ 所有正则表达式中符号的含义 然后根据现有的正则表达式组中的项目进行学习,比如 module : % ++^(module + +^) ++ % 表示匹配行首 ++ 表示匹配空格和TAB;其中 + 表示必须匹配module +空格或者TAB或者回车的组合 + 表示必须至少匹配 大小写字母 或者 数字 或者 下划线 中的一个字符 表示必须至少匹配 ( 或者 ; 或者 # 中的一个字符 所以很容易理解,涵盖了以下所有情况: 1. module example ( 2. module example ( 3. module example # 4. module example # 现在笔者添加显示了: input % ++^(input + ++ ++ ++ ++ ++ ++ ++^( +^) ++ output % ++^(output + ++ ++ ++ ++ ++ ++ ++^( +^) ++ parameter % ++^(parameter + +^) ++ 模块例化 % ++^( + + +^) ++ + ++ ↓ 来张效果图,大家随意感受下吧