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

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


Местный
***

Группа: Участник
Сообщений: 276
Регистрация: 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
blackfin
сообщение Oct 29 2017, 14:22
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(Jackov @ Oct 29 2017, 17:13) *
Разложил эти модули по ЛогикЛок регионам, назначил партишины:

Где я неправ?

Забыли задать тип нетлиста Post-Fit?
Цитата
3.Change the netlist type of each partition, including the top-level entity, to Post-Fit to preserve as muchas possible for the next compilation.

См. qts-qps-handbook.pdf, стр. 98.
Go to the top of the page
 
+Quote Post
Jackov
сообщение Oct 29 2017, 15:26
Сообщение #3


Местный
***

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



Цитата(blackfin @ Oct 29 2017, 17:22) *
Забыли задать тип нетлиста Post-Fit?

Пробовал, без эффекта. Если четно, не понимаю смысла этих опций.

Цитата(blackfin @ Oct 29 2017, 17:22) *
См. qts-qps-handbook.pdf, стр. 98.

Смотрел, не помогло.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Oct 29 2017, 16:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(Jackov @ Oct 29 2017, 18:26) *
Смотрел, не помогло.

Возможно, поможет это:
Цитата
Design Partition Assignments Compared to Physical Placement Assignments

Design partitions for incremental compilation are logical partitions, which is different from physical placement assignments in the device floorplan. A logical design partition does not refer to a physical area of the device and does not directly control the placement of instances. A logical design partition sets up a virtual boundary between design hierarchies so that each is compiled separately, preventing logical optimizations from occurring between them. When the software compiles the design source code, the logic in each partition can be placed anywhere in the device unless you make additional placement assignments.

If you preserve the compilation results using a Post-Fit netlist, it is not necessary for you to back-annotate or make any location assignments for specic logic nodes. You should not use the incremental compilation and logic placement back-annotation features in the same Quartus Prime project. The incremental compilation feature does not use placement ”assignments” to preserve placement results; it simply reuses the netlist database that includes the placement information.
См. стр.111. /И далее там ещё один интересный абзац./

То есть, Quartus может двигать по кристаллу синтезированный ранее нетлист для любой partition как единое целое, не меняя соединений внутри этой partition.
Go to the top of the page
 
+Quote Post
Jackov
сообщение Oct 30 2017, 15:17
Сообщение #5


Местный
***

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



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

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

 


RSS Текстовая версия Сейчас: 18th November 2017 - 12:11
Рейтинг@Mail.ru


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