当前位置: 首页 > news >正文

网站开发效率长春百度推广排名优化

网站开发效率,长春百度推广排名优化,网站建设从零开始,宜宾网站建设公司一:verilog mode中如何使用正则表达 在顶层实例化时,有大量的信号需要重新命名,使用模板的话会增加大量的注释内容,不过往往这些信号命名有特定的规律,我们可以使用正则表达式来处理,下面举几个例子&#…

一:verilog mode中如何使用正则表达

在顶层实例化时,有大量的信号需要重新命名,使用模板的话会增加大量的注释内容,不过往往这些信号命名有特定的规律,我们可以使用正则表达式来处理,下面举几个例子:

1:提取信号中固定位置的数字

.pci_req\([0-9]+\)_j   (pci_req_jtag_[\1]),.pci_req12_j   (pci_req_jtag_[12]),

或者使用@

   .pci_req@_l      (pci_req_jtag_[\1]),

2:删除末尾下划线内容

.\(.*\)_j        (\1_[]),.pci_req_j   (pci_req[7:0])

这个我个人最常用;

二:AUTOINSTPARAM的使用

如何在实例化的时候自动填充参数列表?AUTOINSTPARAM可以做到,如下:

module InstModule;parameter PARAM1 = 1;parameter PARAM2 = 2;
endmodulemodule ModnameTest;InstModule #(/*AUTOINSTPARAM*/// Parameters.PARAM1  (PARAM1),.PARAM2  (PARAM2))instName(/*AUTOINST*/...);

三:多目录问题(如果文件在同一个目录,可以忽略)

// Local Variables:
// verilog-library-directories:("." "subdir" "subdir2")
// verilog-library-files:("/some/path/technology.v" "/some/path/tech2.v")
// verilog-library-extensions:(".v" ".h")
// End:

verillog-mode首先在当前目录查找;

verilog-library-extensions中查找带有每个扩展名的模块名,通常是一个’.v’;

verilog-library-directories包含了要在其中查找模块的目录列表;

verilog-library-files包含一个文件列表,这些文件将完整地搜索模块。这通常是到技术文件的完整路径,其中定义了许多标准单元;

四:AUTOXXX

module top_md(/*AUTOARG*/);
input           din1;
input [1:0]     din2;output          dout1;
output [1:0]    dout2;/*AUTOINOUT*/
/*AUTOINPUT*/
/*AUTOOUTPUT*/
/*AUTOWIRE*/wire            din_a;
wire            din_b;assign din_a = din2[0];
assign din_b = din2[1];sub_md u_sub_md
(/*AUTOINST*/
);assign dout2[1:0] = dout_a[1:0];endmodule // top_md

上面的例子包含了AUTOARG/AUTOINPUT/AUTOOUTPUT/AUTOWIRE/AUTOINOUT

不支持带 `ifdefs 等条件限制的端口声明,如有此需求,可以将其写在 AUTOARG  前, AUTOARG 不会对其进行重新声明。不过不建议这种方式,因为在 AUTOINST 中会引入更多的 `ifdefs 。

module ex_arg (
`ifdef need_x_inputx,
`endif/*AUTOARG*/// Outputso,// Inputsi);`ifdef need_x_inputinput x;   // This is an optional input, if `need_x_signal is defined
`endif...

五:信号模板中使用Lisp

在AUTO_TEMPLATE中指定简单的线名称并不能够解决所有需求,尤其是在多个实例化中使用同一信号不同数据位时。因此,Verilog-Mode允许你编写一个程序来进行计算并为实例化端口进行命名,如下:

/* InstModule AUTO_TEMPLATE (.a(in[@"(+ (* 8 @) 7)":@"(* 8 @)"]),);*/InstModule u_a0 (/*AUTOINST*/// Inputs.a                     (in[7:0]));               // Templated
InstModule u_a1 (/*AUTOINST*/// Inputs.a                     (in[15:8]));              // Templated
InstModule u_a2 (/*AUTOINST*/// Inputs.a                     (in[23:16]));             // Templated
InstModule u_a3 (/*AUTOINST*/// Inputs.a                     (in[31:24]));             // Templated

 这里对上述Lisp代码部分解释一下, 也就是 @"(+ (* 8 @) 7)":@"(* 8 @)" :

  • 基础结构为 @"" 代表@为输入参数,引号内为计算处理
  • 每个括号内容为一步计算,形如 (* 8 @) ,意思是 @参数乘8
  • (+ (* 8 @) 7) 就是将 (* 8 @) 的结果加7

参考连接: Emacs verilog-mode 的使用 – Wenhui's Rotten Pen

Linux中verilog-mode使用方法总结_实例化代码和设计代码可以不放在一个文件里,利用verilog-library-files变量设_Alfred.HOO的博客-CSDN博客 

http://www.yidumall.com/news/77372.html

相关文章:

  • 给博彩做网站百度云在线登录
  • 网站上文章字体部分复制怎么做南宁网站推广排名
  • 5网站建站sem推广软件
  • 优美网站源码谷歌ads广告投放
  • 做网站需要什么样的服务器公关公司
  • 百度推广是否做网站网站页面分析
  • 建网站空间购买seo排名赚app官网
  • 怎么制作游戏需要什么软件如何优化关键词的排名
  • 书店商城网站建设方案小姐关键词代发排名
  • 专门做眼镜的国外网站北京软件培训机构前十名
  • 哪有做婚介网站的品牌策划方案ppt
  • 淘宝客没网站怎么做制作网站模板
  • 做非法网站要多少钱手机免费发布信息平台
  • seo做的很好的网站北京云无限优化
  • 物流企业网站建设百度搜索数据查询
  • 网站建设网站及上传谷歌seo靠谱吗
  • 网站建设考核宁波seo推广优化公司
  • 如何给网站做宣传阿里指数
  • 建设网站的工作步骤青岛关键词推广seo
  • 邯郸建立网站费用外链吧怎么使用
  • 建立网站赚钱吗做销售记住这十句口诀
  • 哈尔滨做网站巨耀公司阿里域名购买网站
  • 大连零基础网站建设教学公司中国软文网
  • WordPress适合做多大级别的网站中国进入一级战备状态了吗
  • 凤岗镇做网站全网营销系统是不是传销
  • 品牌网站制作流程图网站交易网
  • 甘肃疫情最新消息今天北京网站seo哪家公司好
  • 淘客推广网站怎么做全国疫情最新情报
  • 免费开发平台网站网站建设制作免费
  • 百度收录网站定位地址重庆快速网络推广