admin管理员组文章数量:1568418
2024年7月23日发(作者:)
zz【原创】我的UEstudio/Ultraedit配置
(2006-01-24 20:35:00)
转载▼
标签:
杂谈
今天进行了一项尝试,仿照网上将Ultraedit做成Java、C等编译环境的做法,结合帮
助文档,将UEstudio配置成Verilog HDL的简单的集成编译环境。希望日后工作可以比较
方便。
原料:
(1)UEstudio,一个包含Ultraedit的集成编辑环境,功能比Ultraeidt强大一些;
(2)Modelsim,Verilog HDL的常用仿真软件。
做法:
(1)作为一种语言的编辑器,关键字的高亮显色是最重要的,这一点比较容易做到。在
网上有专门的爱好者将各类语言的关键字做好归类,只需要将你要的语言部分拷入
UEstudio的安装目录下的下即可。
(2)根据个人爱好,我希望我的Verilog HDL编辑器可以有代码折叠功能。
由于Verilog HDL的块一般是以begin和end作为开始和结束的标记,其作用相当于C语言
的
大括号。在的对应语言中添加进如下代码即可:
/Open Fold Strings = "begin""case"
/Close Fold Strings = "end""endcase"
这里除了begin和end可以进行折叠外,另外一对case和endcase同样可以完成折叠,同样
的
方法可以添加你需要的折叠标志。
(3)UEstudio中有函数列表功能,在C/C++语言中,可以智能的显示出函数名。Verilog
HDL是以模块(module)为单位的,而且一般一个文件只含有一个module。因此显示module
名并不非常有用。我将其改成变量列表,显示出module中的各个变量,这还是比较有用
的。UEstudio的函数列表判断是通过其专门的正则表达式实现的,具体可以参照帮助文档
。经过了一个小时的研读,发现了其基本的语法,添加了如下两行代码。在Verilog
HDL文件中就能显示出wire和reg类型的变量列表了。之所以不用input、output和inout
作为类型,是因为很多时候有中间变量,这样会遗漏。另外由于正则表达式比较复杂,至
今能实现的只能是没个变量单独定义的情况,如wire clk;如果是连续定义,如reg Q1,Q2;
则不能进行判断。
/Function String = "%wire+[ ^t0-9:^[^]]+[ ^t]+^([a-zA-Z_0-9]+^);"
/Function String 1 = "%reg+[ ^t0-9:^[^]]+[ ^t]+^([a-zA-Z_0-9]+^);"
(4)自动缩进功能。同样在中,有控制自动缩进的语法。所谓自动缩进就是
指,输入begin回车,下一行自动加一个tab;输入end,下一行自动退回一个tab。用户可
以自己添加不同的缩进词实现自动缩进。如:
/Indent Strings = "begin""case""fork" "if" "else"
/Unindent Strings = "end""endcase""join" "else"
(5)加入Modelsim仿真环境。UEstudio给用户留下了相当多的外部程序接口。比较常见
的
编程语言可以直接将编译器链接到UE里面去,但是似乎没有verilogHDL。我这里利用了
modelsim仿真工具的命令,实现了一个对verilogHDL的编译功能。因为modelsim的编译语
句vlog是一个exe文件,可以在dos命令行中执行(当然需要在path中添加路径)。命令
为
vlog + *.v。用户需要做的是在某个固定的地方先用modelsim建一个project,在porject
中建立一个work库,以后用上面命令编译出来的文件就都编译到这个库里面了。这时候,
只需要在UE中的高级->工具配置里面进行的配置就可以,例如:
命令行:vlog %p%n%e //分别代表当前文件的路径,文件名和扩展名
工作目录:%p //当前modelsim的project中work文件夹所在路径
菜单项名称:在Modelsim中编译 //显示在菜单中的项
然后再在捕捉窗口中打上勾,编译的信息就会显示在UE中了。
这个时候,你只需要按这个菜单项,就能完成verilogHDL文件的语法检查和编译功能。在
输出窗口中你能看到你的Error和warning,双击之可以马上跳转到报错位置,非常方便。
这样就可以实现不用打开工具即完成语法检错的功能,完全在UE中实现。假如需要用
modelsim进行仿真的话,运行modelsim,在work库里面就能发现你在UE中编译得到的文
件,双击testbench项,就可以进入波形仿真阶段了,非常方便好用。如果做成按键,使
用就更方便了。
(6)目前正在探索ctag功能,以求做到比函数列表更加的效果。
版权声明:本文标题:Verilog_ultraedit配置 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1721664065a891261.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论