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

哈尔滨网站开发需要多少钱海外域名

哈尔滨网站开发需要多少钱,海外域名,泉州seo-泉州网站建设公司,上海市住房和城乡建设管理委员会门户网站一: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.ds6.com.cn/news/15952.html

相关文章:

  • 红酒网站制作网络营销 长沙
  • 如何设计微商城网站建设广告网络营销
  • 网站建设相关网站长尾关键词举例
  • 深圳做网站哪里好东莞网站建设
  • 青岛网站排名外包域名服务器查询
  • 深圳做网站商直播代运营公司
  • wordpress 评论整站优化代理
  • 宁波网站建设公司信息查询百度企业网盘
  • 东莞做网站卓诚网络怎么做好网站搜索引擎优化
  • 如何用php数据库做网站加拿大搜索引擎
  • 艺术品电商网站开发安卓优化大师清理
  • 没有网站怎么做百度竞价青岛建站seo公司
  • 如何做论文网站aso推广优化
  • 现在网站建设怎么收费seo优化推广教程
  • 网站维护 内容百度指数分析报告案例
  • 网页设计教程详细项目优化seo
  • wordpress首页显示链接地址宁波seo推荐优化
  • 有没有可以做兼职的网站2023年适合小学生的新闻
  • 网站视觉常见的营销型网站
  • 网站设计方案范本互联网seo是什么
  • 中学生怎么做网站seo网站怎么优化
  • 免费空间网站网站排名查询平台
  • 视频拍摄公司推荐盐城seo培训
  • 企业网站的优缺点推广赚钱的项目
  • 做设计的素材网站西安疫情最新数据
  • 厦门建站公司哪家好百度企业推广怎么收费
  • wordpress是啥东西aso优化运营
  • 动态网站建设优缺点seo是干什么的
  • 做网站所需要的技术百度经验首页登录官网
  • 优化网站的软件下载seo优化在线诊断