下記を Virtex6 設定で ISE14.7 で合成するとなんと通ってしまう!(が、当然動かない)
Virtex5 設定だとどちらもエラーになる。
ISE は 6/7シリーズで合成器が変わっているがこれは罠だ。
シミュレーターはもともと input output 無視なので、とりあえずで焼いてからchipscopeとかでデバッグしようとすると嵌る。
ついでにVivado2014.2 でも通った。
まあ、warning は出るんですが、見落としまくり ToT
module test
(
input wire clk,
output wire in_data, // <= input を output に間違い
input wire out_data // <= output を input に間違い
);
reg reg_data;
always @(posedge clk) begin
reg_data <= in_data;
end
assign out_data = reg_data;
endmodule
コメント