Xilinx要求为IODELAY
和IDELAY_CTRL
定义不同的组。我想使用generate
和for 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" *)