реклама на сайте
подробности

 
 
> Инкрементальная компиляция в Quartus
Jackov
сообщение Oct 29 2017, 14:13
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 294
Регистрация: 25-09-13
Из: Н.Новгород
Пользователь №: 78 485



Салют!
Наконец-то дошли руки до инкрементальной компиляции.

Создал два одинаковых параметризованных модуля.
Код
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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Jackov
сообщение Oct 30 2017, 15:17
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 294
Регистрация: 25-09-13
Из: Н.Новгород
Пользователь №: 78 485



Вопчем переключил сюда - заработало. Однако прирост скорости компиляции отсутствует и даже немного медленнее стало, что странно. Я так понимаю, если в проекте изменения не делать, то и компиляция должна проходить мгновенно?
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
spectr
сообщение Dec 13 2017, 13:24
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 10-12-04
Из: Earth
Пользователь №: 1 437



Цитата(Jackov @ Oct 30 2017, 18:17) *
Вопчем переключил сюда - заработало. Однако прирост скорости компиляции отсутствует и даже немного медленнее стало, что странно. Я так понимаю, если в проекте изменения не делать, то и компиляция должна проходить мгновенно?

Инкрементная компиляция дает реальный прирост только на больших проектах, где одна партиция занимает под тысячу и более лутов, а проект может компилиться по пол-дня и больше. Вот тогда она выстреливает. На маленьких же проектах смысла в ней нет.

И еще надо очень внимательно разбивать на партиции (читайте хендбук, там все хорошо расписано). Например, на границах партиций желательно ставить триггера, чтобы фиттер "по ним" умел их разрезать, не затрагивая внутреннюю логику партиции.
То есть, для того чтобы эта фича работала, надо не просто включить волшебный чекбокс, но еще и придерживаться ряда определенных правил построения проекта.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 04:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016