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

 
 
> Вопрос по TimeQuest
doom13
сообщение Jan 16 2018, 10:26
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Приветствую. Тестовый проект прикреплен ниже. Сам модуль:
CODE
module add_three_numbers
(
input clock,
input [7:0] A,
input [7:0] B,
input [7:0] C,
input [7:0] D,
output [7:0] sum
);

reg [7:0] reg_A, reg_B, reg_C, reg_D;
reg [7:0] reg_sum;

reg [7:0] sum1, sum2;
reg [7:0] sum3;


always@(posedge clock)begin
reg_A <= A;
reg_B <= B;
reg_C <= C;
reg_D <= D;
end

always@(posedge clock)begin
sum1 <= reg_A + reg_B;
sum2 <= reg_C + reg_D;
sum3 <= sum1 + sum2;
end


always@(posedge clock)begin
reg_sum <= sum3;
end

assign sum = reg_sum;

endmodule


SDC файл:

Код
create_clock -name {clock} -period 400Mhz [get_ports {clock}]


Входные/выходные порты идут на ножки FPGA. Ругается на путь от reg_B[7] до sum1[7], смотрю как разбросал все в ChipPlanner-e. Если в Chip Planner-e подвинуть reg_B[7] максимально близко к sum1[7] и применить изменения в нетлисте, то все тайминги соблюдаются. Вопрос - почему автоматом не хочет поставить ячейки в нужные места (куча свободных ресурсов), чтоб все тайминги соблюдались.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  test.rar ( 2.71 килобайт ) Кол-во скачиваний: 12
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Kluwert
сообщение Feb 7 2018, 20:45
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639



Цитата(doom13 @ Jan 16 2018, 14:26) *
Входные/выходные порты идут на ножки FPGA. Ругается на путь от reg_B[7] до sum1[7], смотрю как разбросал все в ChipPlanner-e. Если в Chip Planner-e подвинуть reg_B[7] максимально близко к sum1[7] и применить изменения в нетлисте, то все тайминги соблюдаются. Вопрос - почему автоматом не хочет поставить ячейки в нужные места (куча свободных ресурсов), чтоб все тайминги соблюдались.

Это - не такое "очевидное" решение. Потому что он тупо боится ставить reg_B[7] далеко от остальных, справедливо опасаясь, что у вас может шина "разбежится" (400МГц, так между прочим, не хухры мухры!).
А вы ещё зачем-то прилепили никому не нужный промежуточный регистр reg_sum, который явно назначили на выход sum. А компилятор Квартуса совсем не такой интеллектуальный, как вы могли подумать и он достаточно тупо выполнил ваши указания, повесив reg_sum чуть ли не на ногу sum. Была б его воля он бы его ещё на двухфазный выходной триггер (altddio) залепил, но права не имеет.
И проблема тут не в мифических глюках Квартуса, а элементарно в том, что каменюга у вас выбрана огромная, схемка вшивая, а если он начнёт гонять по кристаллу туда-сюда отдельные триггеры, каждый раз заглядывая в результаты таймингов, то более серъёзные схемы он будет месяцами оптимизировать. Поэтому, да, тяжек труд плисовода: приходится либо за компилятор думать, либо, что более правильно, для здоровых камней ваять из IP-кирпичиков. Ибо об оптимизации последних уже позаботились до нас.
Go to the top of the page
 
+Quote Post
doom13
сообщение Feb 9 2018, 06:45
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Kluwert @ Feb 7 2018, 23:45) *
Это - не такое "очевидное" решение. Потому что он тупо боится ставить reg_B[7] далеко от остальных, справедливо опасаясь, что у вас может шина "разбежится" (400МГц, так между прочим, не хухры мухры!).
А вы ещё зачем-то прилепили никому не нужный промежуточный регистр reg_sum, который явно назначили на выход sum. А компилятор Квартуса совсем не такой интеллектуальный, как вы могли подумать и он достаточно тупо выполнил ваши указания, повесив reg_sum чуть ли не на ногу sum. Была б его воля он бы его ещё на двухфазный выходной триггер (altddio) залепил, но права не имеет.

Это "учебный" пример, и частота такая задана, чтобы посмотреть, когда ошибки появляются и как с ними бороться, и reg_sum добавлен для этих же целей.

Цитата(Kluwert @ Feb 7 2018, 23:45) *
И проблема тут не в мифических глюках Квартуса, а элементарно в том, что каменюга у вас выбрана огромная, схемка вшивая, а если он начнёт гонять по кристаллу туда-сюда отдельные триггеры, каждый раз заглядывая в результаты таймингов, то более серъёзные схемы он будет месяцами оптимизировать. Поэтому, да, тяжек труд плисовода: приходится либо за компилятор думать, либо, что более правильно, для здоровых камней ваять из IP-кирпичиков. Ибо об оптимизации последних уже позаботились до нас.

Может и так, но две версии Квартуса результат дают разный. Версия 14 собрала всё правильно, для 16 приходится допиливать ручками.
И главный вопрос - как можно полагаться на все эти временные ограничения, если реально вижу, что возможность развести "правильно" (с учетом тех ограничений, которые заданы) есть, но разводит "криво"?!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- doom13   Вопрос по TimeQuest   Jan 16 2018, 10:26
- - blackfin   Цитата(doom13 @ Jan 16 2018, 13:26) SDC ф...   Jan 16 2018, 10:50
- - doom13   Он-то локаничен, но почему есть возможность вручну...   Jan 16 2018, 11:24
|- - blackfin   Цитата(doom13 @ Jan 16 2018, 14:13) Поясн...   Jan 16 2018, 11:26
- - doom13   Вопрос остался. Если убрать один регистр с выхода,...   Jan 16 2018, 11:47
|- - blackfin   Цитата(doom13 @ Jan 16 2018, 14:47) Тут в...   Jan 16 2018, 11:58
|- - Maverick   http://www.alterawiki.com/wiki/Timing_Constraints ...   Jan 16 2018, 12:06
- - doom13   Цитата(blackfin @ Jan 16 2018, 14:26) — В...   Jan 16 2018, 12:18
|- - blackfin   Цитата(doom13 @ Jan 16 2018, 15:18) Вопро...   Jan 16 2018, 12:28
|- - bogaev_roman   Цитата(doom13 @ Jan 16 2018, 15:18) Спаси...   Jan 16 2018, 12:32
|- - doom13   Цитата(bogaev_roman @ Jan 16 2018, 15:32)...   Jan 16 2018, 13:40
|- - bogaev_roman   Цитата(doom13 @ Jan 16 2018, 16:40) QSF-f...   Jan 16 2018, 13:54
|- - doom13   Цитата(bogaev_roman @ Jan 16 2018, 16:54)...   Jan 17 2018, 10:28
|- - bogaev_roman   Цитата(doom13 @ Jan 17 2018, 13:28) Если ...   Jan 17 2018, 10:44
|- - doom13   Цитата(bogaev_roman @ Jan 17 2018, 13:44)...   Jan 17 2018, 12:01
|- - doom13   Цитата(bogaev_roman @ Jan 17 2018, 13:44)...   Jan 26 2018, 08:18
- - blackfin   Цитата(doom13 @ Jan 16 2018, 16:40) Добав...   Jan 16 2018, 13:55
|- - doom13   Цитата(blackfin @ Jan 16 2018, 16:55) Из ...   Jan 16 2018, 14:18
|- - bogaev_roman   Цитата(blackfin @ Jan 16 2018, 16:55) Из ...   Jan 16 2018, 14:23
|- - doom13   Цитата(bogaev_roman @ Jan 16 2018, 17:23)...   Jan 16 2018, 14:47
|- - bogaev_roman   Цитата(doom13 @ Jan 16 2018, 17:32) Я пыт...   Jan 16 2018, 14:48
|- - doom13   Цитата(bogaev_roman @ Jan 16 2018, 17:48)...   Jan 17 2018, 05:33
- - doom13   Если проектик скачать (или заново создать), то мож...   Jan 16 2018, 15:01
- - ViKo   Так покажите уже файлы sta.rpt для обоих своих вар...   Jan 17 2018, 05:38
|- - doom13   Цитата(ViKo @ Jan 17 2018, 08:38) Так пок...   Jan 17 2018, 05:47
|- - warrior-2001   Цитата(doom13 @ Jan 17 2018, 08:47) Этот ...   Jan 17 2018, 06:34
|- - Flip-fl0p   Цитата(warrior-2001 @ Jan 17 2018, 09...   Jan 17 2018, 06:46
|- - doom13   Цитата(warrior-2001 @ Jan 17 2018, 09...   Jan 17 2018, 07:40
- - ViKo   И как следствие, меняется отчет.   Jan 17 2018, 07:04
- - ViKo   А файлы отчета показать - не минутное дело?   Jan 17 2018, 07:50
|- - doom13   Цитата(ViKo @ Jan 17 2018, 10:50) А файлы...   Jan 17 2018, 07:59
|- - ViKo   Цитата(doom13 @ Jan 17 2018, 10:59) А зап...   Jan 17 2018, 08:05
|- - doom13   Цитата(ViKo @ Jan 17 2018, 11:05) Не пони...   Jan 17 2018, 08:35
- - ViKo   Запустите Design Space Explorer, и он "ператр...   Jan 17 2018, 08:44
- - doom13   Поменял опцию Fitter-a Fitter Initial Placement S...   Jan 17 2018, 09:10
- - ViKo   Кроме Auto Fit и Fast Fit есть еще Standard Fit.   Jan 17 2018, 09:32
|- - doom13   Цитата(ViKo @ Jan 17 2018, 12:32) Кроме A...   Jan 17 2018, 09:37
|- - ViKo   Цитата(doom13 @ Jan 17 2018, 12:37) да, о...   Jan 17 2018, 09:40
- - warrior-2001   Много глюков ловил в новых версиях квартуса из-за ...   Jan 18 2018, 08:04
|- - bogaev_roman   Цитата(warrior-2001 @ Jan 18 2018, 11...   Jan 18 2018, 10:03
- - doom13   del   Jan 18 2018, 10:43


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

 


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


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