Я пытаюсь сгенерировать массив защелок, которые размещаются рядом друг с другом с помощью оператора Generate. Я пытался использовать для этого ограничение Xilinx «RLOC», но мне это не удалось.
Приведенный ниже код не будет успешно реализован, но он должен иллюстрировать то, что я пытаюсь получить. Проблема с приведенным ниже кодом заключается в том, что «i» в вызове ограничения не преобразуется в строку, что и ищет вызов. У кого-нибудь есть опыт этого?
Я использую Virtex4 с Xilinx ISE 10.1.03 для синтеза и реализации. Я не совсем уверен, какую версию Verilog я использую, но я думаю, что это Verilog 2001. Я был бы признателен, если бы кто-нибудь также сказал мне, как проверить, какую версию Verilog я использую.
genvar i;
generate
for (i = 0; i < DATA_WIDTH; i = i + 1)
begin : LATCH
(* RLOC = {"X0Y", i} *)
latch inst_latch (
.d (data_in[i]),
.gate (gate),
.reset (reset),
.q (data_out[i])
);
end
endgenerate