原创 【博客大赛】UltraEdit使用之 函数列表显示

2016-4-29 13:34 2899 18 19 分类: FPGA/CPLD 文集: EDA

笔者主要用UltraEdit写Verilog HDL代码,尝试过Vim,用的比较生疏没坚持下来;尝试过Notepad+Sublime Text 3,都感觉一般,其实主要原因还是用UE习惯了,产生了些许情怀。现在官方最新版v23,相比于v22,界面上就改头换面了:

 

↓ v23加入了Ribbon,微软套件即视感呀

20160427193606638.jpg

 

v23版,笔者简单试用过几天,这一版沿用了之前版本的所有功能,另外加入可以自动隐藏的功能区(ribbon)让这版在界面上感觉更简洁,更易用。但是,现在笔者用的还是v22版本,这是为什么呢?因为v23把“拖拽分割窗口”这个功能给阉割了,在官方论坛上有讨论这个话题的,确定是因为专利问题导致的阉割。 如下图是v22版界面,分割了两个编辑窗口才是王道,无法双窗口显示,这个笔者无法忍的。

 

↓ 当前笔者v22版的布局:左边栏 “工程文件视图”和“函数列表”;上边 菜单栏和工具栏;中间两列“代码编辑窗口”;右边栏 “模板列表”和“剪贴板历史”。

20160427193545157.jpg

 


好了,言归正传,回到本文的话题,这篇笔者给大家介绍“函数列表” -- 基于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,或者当前例化的模块,是不是很完美,所以笔者萌生了配置“函数列表”的想法。

 

20160427193522748.jpg

 

在“函数列表”中右键然后点击“配置”即可打开配置界面,在正则表达式匹配组中显示几个匹配项:config, module, task, function, primitive和begin…end。都是Verilog HDL的几个关键字,如果想匹配input/output, 按照正则表达式语法和Verilog HDL语法匹配即可。

 

20160427193503684.jpg

 

由于笔者之前没有正则表达式的基础,所以简单现学了一下,官网也有相关在UltraEdit中使用正则表达式的介绍:

http://www.ultraedit.com/support/tutorials_power_tips/ultraedit/regular_expressions.html

 

↓ 所有正则表达式中符号的含义

20160427193439333.jpg

 

然后根据现有的正则表达式组中的项目进行学习,比如

module%[ ^t]++^(module[ ^t^p]+[a-zA-Z0-9_]+^)[ ^t^p]++[(;#]

%

表示匹配行首

[ ^t]++

表示匹配空格和TAB;其中[] 匹配方括号中的任一字符, ++ 表示至少匹配了的一个字符或者未匹配任一字符

^(^)

表示显示其中的包含字符串

module[ ^t^p]+

表示必须匹配module +空格或者TAB或者回车的组合

[a-zA-Z0-9_]+

表示必须至少匹配 大小写字母 或者 数字 或者 下划线 中的一个字符

[(;#]

表示必须至少匹配 ( 或者 ; 或者 # 中的一个字符

 

所以很容易理解,涵盖了以下所有情况:

1. module example (

2. module example (

3.    module example #

4.    module example #

 

现在笔者添加显示了:

input

%[ ^t]++^(input[ ^t]+[\[]++[a-zA-Z0-9_]++[-0-9]++[:]++[a-zA-Z0-9_]++[]]++[ ^t]++^([a-zA-Z0-9_]+^)[ ^t]++[;]

output

%[ ^t]++^(output[ ^t]+[\[]++[a-zA-Z0-9_]++[-0-9]++[:]++[a-zA-Z0-9_]++[]]++[ ^t]++^([a-zA-Z0-9_]+^)[ ^t]++[;]

parameter

%[ ^t]++^(parameter[ ^t]+[a-zA-Z0-9_]+^)[ ^t]++[=]

模块例化

%[ ^t]++^([a-zA-Z0-9_]+[ ^t^p]+[a-zA-Z0-9_]+^)[ ^t^p]++[(]+[ ^t^p]++[.]

 

20160428090455586.jpg

 

↓ 来张效果图,大家随意感受下吧

20160427193317603.jpg

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1849754 2016-4-28 08:17

变化好多啊
相关推荐阅读
Hoki 2017-01-11 17:35
LX9开发板呼吸灯实现
对LX9开发板硬件评测后,从这一节开始真正进入FPGA开发的世界。很多开发板的例程中必有跑马灯实验,老跑马也没意思,咱来把新潮的,整一个呼吸灯。 呼吸灯最初是出现在apple公司的笔记本产品中,当合上...
Hoki 2017-01-11 16:47
LX9的microblaze配置
虽然XC6SLX9芯片资源比较少,但是嵌一个microblaze还是搓搓有余的,这一节就来评测一下在XC6SLX9上microblaze的配置。 有两种方法配置microblaze,一是在ISE软件中...
Hoki 2017-01-11 16:32
zynq评测
Zynq芯片是业界第一款在FPGA中集成ARM核的芯片,由FPGA的发明者xilinx公司推出的。Zynq严格来说不能以FPGA来定义它,因为其是以处理器为中心的平台,能够在单芯片上提供软、硬件和 I...
Hoki 2017-01-11 16:19
u-boot
Zyny芯片启动加载分为3步: 1. 芯片上电启动,首先读取BootROM中的程序,初始化一些必要的外设,然后根据专用引脚电平判断该从何处启动first stage Bootloader(FSBL),...
Hoki 2017-01-11 16:09
基于zynq的交叉编译平台
Zynq芯片的最大特点是其集成了双ARM Cortex-A9处理器,因此zynq的应用基本是以这个ARM核为核心,再配合FPGA逻辑作为协处理器,几乎能实现所有较复杂的应用。并且在ARM上可以跑操作系...
Hoki 2017-01-11 15:54
u-boot image生成
这节介绍一下如何生成u-boot image文件,在SDK软件中点击Xilinx Tools→Create Boot Image工具即可生成,但是生成image文件需要首先集齐3个文件:u-boot....
EE直播间
更多
我要评论
1
18
关闭 站长推荐上一条 /3 下一条