Салют!
Наконец-то дошли руки до инкрементальной компиляции.
Создал два одинаковых параметризованных модуля.
Код
module inc(
(*chip_pin = "73"*) output Y1,
(*chip_pin = "74"*) output Y0,
(*chip_pin = "75"*) input D1,
(*chip_pin = "76"*) input D0,
(*chip_pin = "77"*) input C);
M #(63) M0(.Y(Y0), .D(D0), .C(C));
M #(128) M1(.Y(Y1), .D(D1), .C(C));
endmodule
module M #(parameter N = 4) (output Y, input D, input C);
reg [N-1:0]REGQ;
always @(posedge C)
REGQ <= {REGQ[N-2:0], D};
assign Y = ^REGQ;
endmodule
Включил опцию в настройках:
Разложил эти модули по ЛогикЛок регионам, назначил партишины:
Откомпилировал:
Меняем разрядность модуля М1, ожидаем что модуль М0 останется незатронутым, однако, как видим, М0 тоже переразмещён:
Quartus 9.1, микросхема Циклон 4. Где я неправ?
Сообщение отредактировал Jackov - Oct 29 2017, 14:19