在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2770|回复: 1

[求助] Emacs verilog AUTOINST & parameter问题

[复制链接]
发表于 2016-1-6 14:20:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
Emacs Verilog比较好用,号称神的语言,但,有个问题一直困扰我,寻求无果。

假设代码中有两层hierarchy,顶层叫top,底层叫down,
即在top中例化down。

一般使用Emacs的/AUTOINST/来自动连接例化时的连接关系。
但,倘若down模块中有使用localparam参数化某个端口的位宽,
那么,/AUTOINST/连接出来的也是带参数的!
这带来的问题就是:top中也需要定义该参数!
如:down中定义
                  parameter WIDTH = 2;
                  input [WIDTH-1:0] IN;
top 中例化
                  down Udown(/AUTOINST/);  // AUTOINST两边应该是注释符,防火墙会屏蔽,所以未补全
这样的结果是 :
                  down Udown(.IN(IN[WIDTH-1:0]));// 造成了top中需要定义WIDTH!


不知各位大大有无处理方法。
PS:
我遇到的情况是down为IP,应该为设计通用而使用parameter,所以自然不希望改动down的代码;
有一种法子,是在top中例化down的时候,涉及parameter的端口,不使用/AUTOINST/补齐,不过这样似乎不太好。

1、我期望的是,或者是奢望,Emacs-verilog中,C-c C-a后,top例化模块down端口上的参数显式表现出来?
     即
                   down Udown(.IN(IN[1:0]));
      哪怕是
                   down Udown(.IN(IN[2-1:0]));
     也成啊。


2、对于parameter的处理,因为各种IP(我见过的一般都)有不少parameter设定,整合的时候,大家如何处理或者说是抽取这么多的parameter至顶层使用?


可能我太不务正业了,
不过,很渴望交流一下各位大大的做法,
诚恳请教各位大大!
在此先谢过!
发表于 2023-6-16 22:02:36 | 显示全部楼层
How do I propagate parameters to pin connections?
If you set verilog-auto-inst-param-value, a AUTOINST cell that sets a Verilog-2001 style parameter will have that parameter's value substituted into the instantiation:

module InstModule;
   # (parameter WIDTH = 32)
   (output wire [WIDTH-1:0] out);
endmodule

module ModnameTest;
   InstModule #(.WIDTH(16))
     instName
       (/*AUTOINST*/
        // Outputs
        .out   (out[15:0]));
endmodule

// Local Variables:
// verilog-auto-inst-param-value:t
// End:

参考:https://github.com/veripool/veri ... in-an-instantiation
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 07:05 , Processed in 0.018632 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表