如何从for循环中的genvar值生成字符串?

时间:2019-11-13 09:08:07

标签: verilog system-verilog

Xilinx要求为IODELAYIDELAY_CTRL定义不同的组。我想使用generatefor loop参数化实例。

我需要在Verilog属性(* IODELAY_GROUP = "GROUP_HERE" *)

中添加其他字符串

我该怎么做?我使用MACRO进行了很多尝试,但功能均未获得成功。

`define makegroup(x) `"GROUP_x`"
genvar h;
for (h=0;h<=3;h=h+1) begin:myfor
  (* IODELAY_GROUP = {"GROUP_", h} *)
  (* IODELAY_GROUP = `makegroup(h) *)
  (* IODELAY_GROUP = {"GROUP_", $sformatf("%0h",h)} *)
end

编辑:

此解决方案{"IODELAY_GROUP_", h + 8'h30}不起作用,因为它创建逻辑总线而不是字符串。

我想要一些可以由编译器而不是合成器解释的东西。

该解决方案可以:(* IODELAY_GROUP = 144'h3X3X3X *)代替(* IODELAY_GROUP = "GROUP_X" *)

vivado

0 个答案:

没有答案