搜索
bottom↓
回复: 57

写Verilog代码,感觉那个begin..end好麻烦,比C的{}差远了..T_T

[复制链接]

出0入8汤圆

发表于 2016-5-5 11:40:31 | 显示全部楼层 |阅读模式
不知道大家是什么感觉。。。。。
为什么verilog不用{},位拼接可以找别的方法代替啊, 感觉begin..end效率超低,还影响阅读。

出20入70汤圆

发表于 2016-5-5 11:43:19 | 显示全部楼层
那个,没记错的话,pascal也是这种写法!

出15入186汤圆

发表于 2016-5-5 11:44:36 | 显示全部楼层
呵,习惯就好了,就这几个符号,并且都有用处了,像大,中,小,括号,别的没有成对的了,你想位拼接用begin end么?

出0入4汤圆

发表于 2016-5-5 11:47:27 | 显示全部楼层
delphi 表示无压力 。

出0入8汤圆

 楼主| 发表于 2016-5-5 11:50:32 | 显示全部楼层
那请问, 以下哪种代码风格比较适合verilog????

或者其他风格?


  1. //-------------
  2. // 1
  3. if(...)
  4. begin
  5.         ...
  6.         ...
  7. end
  8. //--------------
  9. // 2
  10. if(...)begin
  11.         ...
  12.         ...
  13.         end
  14. //--------------
  15. // 3
  16. if(...)begin
  17.         ...
  18.         ...
  19. end
  20. //--------------
  21. // 4
  22. if(...)
  23. begin
  24.         ...
  25.         ...
  26.         end
  27. //--------------
  28. // 5
  29. if(...)
  30.         begin
  31.                 ...
  32.                 ...
  33.         end
  34. //--------------
  35. // 6
  36. if(...)
  37.         begin
  38.         ...
  39.         ...
  40.         end
  41. //--------------
复制代码


出0入8汤圆

 楼主| 发表于 2016-5-5 11:53:18 | 显示全部楼层
aleyn 发表于 2016-5-5 11:47
delphi 表示无压力 。

一直就是写C程序, 没用过delphi和pascal............唉。。。。。。

出0入8汤圆

发表于 2016-5-5 11:57:53 | 显示全部楼层
lw2012 发表于 2016-5-5 11:50
那请问, 以下哪种代码风格比较适合verilog????

或者其他风格?


很多人用的都是3

但是我喜欢1

出0入0汤圆

发表于 2016-5-5 11:58:03 | 显示全部楼层
因为Verilog的{}被用掉了,只能用begin和end来包含模块

出0入0汤圆

发表于 2016-5-5 11:58:13 | 显示全部楼层
习惯就好了

出0入8汤圆

 楼主| 发表于 2016-5-5 12:01:52 | 显示全部楼层
prow 发表于 2016-5-5 11:57
很多人用的都是3

但是我喜欢1

是的, 我也是发现3比较多, 可能我也会选择1 ,这样和C的习惯就差不多了。

出300入477汤圆

发表于 2016-5-5 13:00:24 来自手机 | 显示全部楼层
如果ide足够聪明,你写个b ctrl+J,就替你补齐了而且光标停在begin和end之间,缩进两格

出300入477汤圆

发表于 2016-5-5 13:01:17 来自手机 | 显示全部楼层
这比你写一对大括号还快,呵呵!

出0入0汤圆

发表于 2016-5-5 13:45:54 | 显示全部楼层
习惯就好了

出0入0汤圆

发表于 2016-5-5 14:51:41 | 显示全部楼层
否则你怎么区分这是C还是Verilog呢?

出0入0汤圆

发表于 2016-5-5 14:57:53 | 显示全部楼层
很习惯的说,上位机都用Delphi。

出0入8汤圆

 楼主| 发表于 2016-5-5 15:10:06 | 显示全部楼层
redroof 发表于 2016-5-5 13:00
如果ide足够聪明,你写个b ctrl+J,就替你补齐了而且光标停在begin和end之间,缩进两格 ...

我的编辑器不行呢, 不知道你用的是哪个?

出0入0汤圆

发表于 2016-5-5 15:10:51 | 显示全部楼层
呵呵,所有Pascal系的都表示不在乎

出0入618汤圆

发表于 2016-5-5 15:18:31 | 显示全部楼层
Python系的表示{}都嫌麻烦……

出0入0汤圆

发表于 2016-5-5 15:21:55 | 显示全部楼层
每种语言都有自己的规则,我们要做是在这规则里面玩

出300入477汤圆

发表于 2016-5-5 15:22:59 | 显示全部楼层
lw2012 发表于 2016-5-5 15:10
我的编辑器不行呢, 不知道你用的是哪个?

我说的就是delphi/BCB自己的编辑器(用过的人一看到自动补全的快捷键是Ctrl+J就应该明白)
如果是UltraEdit或者其他什么高级编辑器,请用他们的按键宏来自己做
无非就是让某个按键触发如下动作:
b,e,g,i,n,回车,空格,空格,回车,e,n,d,上箭头

出0入618汤圆

发表于 2016-5-5 15:32:38 | 显示全部楼层
redroof 发表于 2016-5-5 15:22
我说的就是delphi/BCB自己的编辑器(用过的人一看到自动补全的快捷键是Ctrl+J就应该明白)
如果是UltraEd ...

然而大多数C IDE都是{回车就自动缩进和补完后面的}了,不需要任何快捷键……

出0入0汤圆

发表于 2016-5-5 15:43:15 | 显示全部楼层
还是C最简捷

出0入0汤圆

发表于 2016-5-5 15:45:24 | 显示全部楼层
Python只要推空格就行

出85入4汤圆

发表于 2016-5-5 15:55:53 | 显示全部楼层
第一种或第5种都行,记得以前上大学的时候老师讲pascal是最严谨的语言,后来用了一段时间delphi,感觉也不错

出0入0汤圆

发表于 2016-5-5 16:04:15 | 显示全部楼层
lw2012 发表于 2016-5-5 15:10
我的编辑器不行呢, 不知道你用的是哪个?

用sublime的路过

出300入477汤圆

发表于 2016-5-5 16:28:35 | 显示全部楼层
gzhuli 发表于 2016-5-5 15:32
然而大多数C IDE都是{回车就自动缩进和补完后面的}了,不需要任何快捷键…… ...

"回车"也是一个键啊
按{和回车跟按b和Ctrl+J也没差到哪里。反正最少你得按一个键来告诉编辑器你想做什么,然后再按一个键来触发自动完成。也就是至少按两下键
总不能按一个键然后编辑器立刻触发自动完成吧!
我曾经把编辑器配置成按b立刻自动替换begin end,马上反应过来这样没法用了,因为你的变量名里面总会含有字母b
要是写C的把编辑器配置成见到{无需其他按键立刻触发自动替换,也一样的坑人。。。

出0入8汤圆

 楼主| 发表于 2016-5-6 11:24:55 | 显示全部楼层
网上找了一个
Sublime Text 3 v3.3111 汉化特别版()
给有需要的。
官网的演示视频还是很NB的

刚试了一下,好像不支持verilog,还是先用NOTEPAD++吧。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

 楼主| 发表于 2016-5-6 11:28:20 | 显示全部楼层
redroof 发表于 2016-5-5 16:28
"回车"也是一个键啊
按{和回车跟按b和Ctrl+J也没差到哪里。反正最少你得按一个键来告诉编辑器你 ...

其实, 我觉得用惯了VS+VA(Visual Studio + Visual Assist )就觉得其他的编辑器都不太好用。

出0入0汤圆

发表于 2016-5-6 11:28:36 | 显示全部楼层
UltraEdit  自己加模板

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出300入477汤圆

发表于 2016-5-6 11:34:31 | 显示全部楼层
lw2012 发表于 2016-5-6 11:28
其实, 我觉得用惯了VS+VA(Visual Studio + Visual Assist )就觉得其他的编辑器都不太好用。  ...

其实无所谓的,各大编辑器其实都已经做的足够好。
你想省的按键,能省的都帮你省了,除非是省不了的(因为字母键上你没办法绑定单键的快捷键,否则就没办法输入正常字母了,省到极限至少得按两个键

出0入0汤圆

发表于 2016-5-6 11:42:58 | 显示全部楼层
有程序员认为 unsigned int 应该从0x01开始 不应该从0x00开始,其认为 程序中数值总是从 0x00 开始不适合人类社会的习惯用法。

出0入0汤圆

发表于 2016-5-6 15:30:37 | 显示全部楼层
用过basic delphi vhdl c java路过

出0入0汤圆

发表于 2016-5-6 16:03:56 | 显示全部楼层
习惯就好了,

出0入0汤圆

发表于 2016-5-6 16:09:57 来自手机 | 显示全部楼层
还有一部分人在使用VHDL哦,当然也有end

出0入0汤圆

发表于 2016-5-6 16:15:45 | 显示全部楼层
我就受不了pascal的begin..end,看着就是别扭,不如C的{}看着舒服,所以当时上位机就坚决不学DELPHI

出0入618汤圆

发表于 2016-5-6 16:33:14 | 显示全部楼层
redroof 发表于 2016-5-5 16:28
"回车"也是一个键啊
按{和回车跟按b和Ctrl+J也没差到哪里。反正最少你得按一个键来告诉编辑器你 ...

先不说回车不是需要记忆的“快捷键”,最起码Ctrl+J也是两个键……

出0入17汤圆

发表于 2016-5-6 16:37:33 | 显示全部楼层
习惯了就什么感觉都没有了

出0入0汤圆

发表于 2016-5-6 17:21:32 | 显示全部楼层
lw2012 发表于 2016-5-5 11:50
那请问, 以下哪种代码风格比较适合verilog????

或者其他风格?

我喜欢1

出0入0汤圆

发表于 2016-5-6 17:39:01 | 显示全部楼层
比较习惯风格5,怎么感觉VHDL使用起来比verilog更方便呢。

出0入0汤圆

发表于 2016-5-6 17:57:21 来自手机 | 显示全部楼层
tianxian 发表于 2016-5-6 11:42
有程序员认为 unsigned int 应该从0x01开始 不应该从0x00开始,其认为 程序中数值总是从 0x00 开始不适合人 ...

小端模式,不也一样……结果现在小端是主流

出300入477汤圆

发表于 2016-5-6 18:47:38 来自手机 | 显示全部楼层
gzhuli 发表于 2016-5-6 16:33
先不说回车不是需要记忆的“快捷键”,最起码Ctrl+J也是两个键……

那就配成b 回车自动替换begin end也行
相信正常程序很少见到用b作为一行结尾的。
当然,某些编辑器或许没办法配成这样…
Delphi编辑器就得装插件才能不按任何特殊键就自动替换输入

出300入477汤圆

发表于 2016-5-6 19:12:00 来自手机 | 显示全部楼层
本帖最后由 redroof 于 2016-5-6 19:27 编辑

我天天要写UnicodeString这种长名字,办法就是配一个自动替换,见到写us空格就替成完整的UnicodeString空格。代价是变量名不要用us结尾
在有高级编辑器的情况下,文字的长短根本不是问题。嫌长了自己配个短名字作自动替换就行了

出0入0汤圆

发表于 2016-5-6 19:14:44 | 显示全部楼层
xivisi 发表于 2016-5-6 17:57
小端模式,不也一样……结果现在小端是主流

没说清楚 误会了,那人一直搞C# JAVA,偶然用C写单片机,对于 unsigned char 可表示256个值 从0~255  感到很不满,说如果编程语言由他创造的话 unsigned char 的数值一定从 1~256,他认为人数数都是从1开始而不是0开始的

出0入0汤圆

发表于 2016-5-7 17:10:01 | 显示全部楼层
还好吧,写个代码花不了什么时间

出0入0汤圆

发表于 2016-5-7 17:12:50 | 显示全部楼层
编辑器不都有模板吗?推荐你看看这个http://micrortl.com/?p=926#31

出0入71汤圆

发表于 2016-5-7 17:19:40 | 显示全部楼层
为什么你不用SystemC呢

出0入17汤圆

发表于 2016-12-18 13:56:07 | 显示全部楼层
除了begin end,还有 fork join。。。

出0入22汤圆

发表于 2016-12-21 19:12:03 来自手机 | 显示全部楼层
vb也是,习惯了

出0入0汤圆

发表于 2016-12-21 19:33:03 | 显示全部楼层
用过delphi表示begin。。end也很简单

出0入0汤圆

发表于 2016-12-21 19:36:46 来自手机 | 显示全部楼层
McuPlayer 发表于 2016-5-5 15:45
Python只要推空格就行

这个更不能习惯,完全不好读

出0入0汤圆

发表于 2016-12-21 19:40:23 | 显示全部楼层
redroof 发表于 2016-5-5 15:22
我说的就是delphi/BCB自己的编辑器(用过的人一看到自动补全的快捷键是Ctrl+J就应该明白)
如果是UltraEd ...

一直用c++builder,表示没用过Ctrl+J,第一次知道这个快捷键,都是自动出来的.

出0入0汤圆

发表于 2016-12-21 20:24:18 | 显示全部楼层
verilog的语法确实很麻烦,我们公司这边有脚本,直接把逻辑写清楚,端口例话,信号申明,begin end啥的都用脚本生成的。偶尔要自己直接写点verilog的时候,对于法不熟悉的毛病就暴露出来了,,,

出0入0汤圆

发表于 2016-12-21 20:27:30 | 显示全部楼层
lw2012 发表于 2016-5-5 11:50
那请问, 以下哪种代码风格比较适合verilog????

或者其他风格?

喜欢第五种

出0入0汤圆

发表于 2016-12-23 15:31:37 | 显示全部楼层
习惯就好  其实都一样  [img][/img]

出0入0汤圆

发表于 2016-12-26 13:10:47 | 显示全部楼层
我觉得第一种写法好!

出0入0汤圆

发表于 2016-12-26 16:02:13 | 显示全部楼层
还是括号简介清晰

出0入0汤圆

发表于 2017-2-6 17:15:54 | 显示全部楼层
McuPlayer 发表于 2016-5-5 11:58
因为Verilog的{}被用掉了,只能用begin和end来包含模块

请问 quartus有没有 go to definition 功能?

出0入0汤圆

发表于 2017-2-6 17:26:49 | 显示全部楼层
还是喜欢C或PYTHON.....


回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 09:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表