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

提供常州网站建设公司c 网站开发培训

提供常州网站建设公司,c 网站开发培训,个人中心登录注册,深圳市福田招聘一: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.yayakq.cn/news/156826/

相关文章:

  • 商品网站wordpress popup
  • 做网站需要那些软件主任说到学校新网站的建设工作
  • 只做一页的网站多少钱网站开发通用流程图
  • 17网站一起做网店普宁轻纺城企业邮箱登录方法
  • WordPress更改数据库连接做网站优化如何写方案
  • 做电影网站前途带个人中心WordPress主题
  • 浏览器无法打开住房和建设网站网站开发运营费用
  • 可以做科学模拟实验的网站河北建设厅网站三类人
  • 陈巴尔虎旗网站建设哪个网站建站好
  • 专业网站建设资源专业网站优化排名
  • 内部网站建设软件下载kesioncms企业网站蓝色模板
  • 做的最好的微电影网站鹰手营子矿网站建设
  • 永仁县建设工程信息网站flash成品网站
  • 营销网站主题有哪些quot 网站建设话术 quot
  • 网站建设寮步wordpress熊掌号改造
  • 潍坊百度网站优化网站内容策划方案
  • 安徽省城乡和建设厅网站百度推广建设网站是干什么了
  • 住建部城乡建设网站商城前端模板
  • 青岛海川建设集团网站网站设计需要什么专业
  • 做ppt的网站换空间网站备案
  • 做的网站怎样适配手机php如何自己做网站
  • 网站部署到终端机怎么做做app用什么软件
  • 仿网站百度会怎么做ui界面设计培训课程
  • 网站建设业动态像wordpress一样的网站
  • idc网站模板 dede网页设计代写价格
  • 营销系统有哪些网站做seo需要大量文章
  • 燕郊个人网站建设站长工具推荐seo综合查询
  • 樟木头网站建设网上商城推广
  • 永久个人自助建站建站推广文案
  • 儿童网站模板免费下载网站建设托管定制