论坛发布Verilog代码请使用此宏,almer提供

澄清一点,这个并不是说在本地机器编辑器关键字高亮显示的那种宏

而是让你在论坛上发贴,让论坛显示关键字的高亮。看起来比较舒服


常在这里泡着,看很多人贴的程序,没有像本地UE那样关键字显示。
看起来很累哦,
比如下面程序
module counter  (
                          A,
                         B,
                          C);
input    A;
input [2:0] B;
always @ (posedge A  or posedge B)
begin
     if (XXX)
      C==xxx
    else
    C= xxx
end
endmodule

是不是总有些不爽?或者看不清楚?

终于起心做了一个发程序的UltraEdit的宏


使用宏之后的贴出来的程序,怎么样。让在论坛上发贴也像在编辑器上一样舒服,漂亮。

也比较直观,就像用编辑器一样。我希望能够在这个东西有更多的人用起来。
在贴程序求助或者其他事情的时候让看贴的人能够很清晰。
/*
     test ultraedit maco
    almer   2008.11.5
*/

module  counter (
                Clk_50M,
                Reset,
                Led
                );
input           Clk_50M;
input           Reset;
output  [3:0]   Led;

reg     [25:0]  Cnt;
reg     [3:0]   Led;
wire            A
reg             B;
reg             C;
reg             D;
always @ ( posedge Clk_50M or negedge Reset )
begin
    if ( Reset==1'b0 )
        Cnt <= 26'd0;
    else if ( Cnt == 26'd49999999 )    /* 1 second;*/
        Cnt <= 26'd0;
    else
        Cnt <= Cnt + 1'b1;
end
always @ ( posedge Clk_50M or negedge Reset )
begin
    if ( Reset==1'b0 )
        Led <= 4'b1110;
    else if ( Cnt==26'd49999999)
        Led <= {Led[2],Led[1],Led[0],Led[3]};
end
assign  A = ~B|C&D; /*  代码无意义 纯粹测试宏······  */

endmodule


/*
下载附件,在UE中新建宏 设置快捷键,将里面的代码粘贴进去 更新, 选取若查找替换未找到则继续运行。
将要发的代码 写在UE中 注意将光标放在程序文本最上端(不然会只会查找光标以下的程序),
然后运行宏的快捷键
发贴时选择 Discuz代码模式再将代码全部粘贴进去 就OK啦
*/

随便弄的 ,而且是我第一次弄,还有很多问题
最大的问题在注释方面,不支持//注释。另外 在注释中出现关键字 也会高亮显示
期待达人完善。比如下面这样
/*  wire reg  */

过程再详细说下:
打开UE ----编辑宏--新建宏---输入宏名字--把下面俩复选框都选上,并在下面设置热键--将附件中TXT代码覆盖下面白色的空白地方(包括他原来的几行也全部覆盖掉)---关闭--提示是否更新宏,选“是”
然后把要发的程序写在UE,把光标放在最顶端(切记 一定放在文本最前面,不然只能从你光标以下开始有效),按下你设置的热键,就会自动查找关键字,代码会很乱,不管他 直接复制到发贴的Discuz!代码模式, 然后再点所见即所得模式观察,就发现是那种样子了,发贴OK
for else if while $monitor $display task timescale time $timeformat endmodule $realtime
wait while parameter module integer $stop define reg wire assign always @````等等
前面下载的朋友宏里面可能没有MatchWord 全字匹配定义,会导致reg1之类的也会高亮, 后来加上了, 就不会了。
还加入了仿真的一些关键字,顺便把[3:0]之类的高亮也做出来
但是/* */之中关键字高亮的问题还没有解决 以及// 后面的也没有办法注释
高手们想想办法
宏的代码很容易看懂,如果需要自己加关键字 可以按自己需求添加


另外 如果回复帖子的时候,下面的快速回复没有Discuz代码模式,需要点回复,就会出现论坛发布

UE宏.rar
(2008-11-05 19:35:44, Size: 679 B , Downloads: 112)


我也来说两句 查看全部回复

最新回复

  • fpgaxxxx (2008-11-05 16:43:34)

    非常好的                                  
  • seagull5414 (2008-11-05 17:00:43)

    我恨佩服楼主是自己做的吗?
  • almer (2008-11-05 17:09:21)

    是自己做的 参考了C的一个类似的宏
  • mail007 (2008-11-05 17:19:42)

    好东西,对论坛有帮助,我先学习下
  • almer (2008-11-05 17:21:18)

    过程再详细说下:
    打开UE --宏--编辑宏--新建宏---输入宏名字--把下面俩复选框都选上,并在下面设置热键--将附件中TXT代码覆盖下面白色的空白地方---关闭--提示是否更新宏,选“是”
    然后把要发的程序写在UE,把光标放在最顶端(一定要是最前面,切记。不然只有一半),按下你设置的热键,就会自动查找关键字,代码会很乱,不管他 直接复制到发贴的Discuz!代码模式, 然后再点所见即所得模式观察,就发现是那种样子了,发贴OK

    [ 本帖最后由 almer 于 2008-11-6 01:14 编辑 ]
  • almer (2008-11-05 17:22:44)

    要添加关键字的话也可以自己添加
  • lightking (2008-11-05 17:29:45)

    恩,不错
    测试一下
  • shaweikang1984 (2008-11-05 20:18:27)

  • outuo1 (2008-11-06 00:50:07)

    牛! 好东西啊,发贴再也不用看不清了
  • almer (2008-11-06 01:01:22)

    8L的兄弟,我不是用手动来添加代码变色和文字变色的,那样太麻烦,而是将程序放到UE中,再使用宏,把关键字用论坛可识别的颜色做起来,这样发程序贴的时候看起来比较方便,也不用动手去搞颜色
  • herman2 (2008-11-06 08:36:26)

    Thanks a lot.
  • herman2 (2008-11-06 08:37:27)

    Good jobs.
  • urchin (2008-11-06 09:14:37)

    帮顶。。。。。。。。。
  • yuelengyueming (2008-11-06 16:54:59)

    做为初学者,养成一个好的代码风格是很重要的。不知道楼主为什么大小写混用。高有效复位的方式可写为 if (rst)即可。低有效复位的方式可写为 if (~rst),此处并没有用 if (!rst)。这就是代码风格的问题了。尽管两者的综合结果是一样的。
  • almer (2008-11-06 19:37:10)

    LS
    有效复位的方式可写为 if (rst)即可。低有效复位的方式可写为 if (~rst)
    我们有规定不可以这样写,我也不知道为什么······可能为了更直观。
    另外我不是在宣扬我写代码的规范··重点是为了高亮字符···上面的代码纯粹是测试大小写匹配 以及其他东西的..............
  • lieshi (2008-11-06 19:39:37)

    楼主的创新精神值得大家学习哦
  • coldsummer (2008-11-06 19:52:30)

    good code
  • gangtao50511 (2008-11-06 21:09:10)

    不错,楼主真有心。
  • amaue (2008-11-07 15:04:32)

    感謝
    學習了
    支持
  • whj254657829 (2008-11-09 08:54:11)

    是不是好东西