Перейти к содержанию
    

Особенности разводки проектов в ISE

Сделал важное открытие для себя с ISE как раз касательно времянок.

Просто в Кактусе считалось библиотечные примитивы работают всегда быстрее структур определяемых на HDL.

В ISE всё наоборот!

Мой комплексный проект (80% на НDL!) удалось поднять по скорости в 2 раза (с 68МГц до 120МГц) только за счёт того, что переписал блоки из библиотечных примитивов на чистый VHDL.

Вот так говорит практика...

Может кому время разработки сокращу(особенно кактусникам!)...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо еще учитывать, что "а=б+с" и "а=с+б" (утрированно) могут давать разный результат синтеза, на мелких примерах можно выявить подобные особенности синтезаторов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мой комплексный проект (80% на НDL!) удалось поднять по скорости в 2 раза (с 68МГц до 120МГц) только за счёт того, что переписал блоки из библиотечных примитивов на чистый VHDL.

Это как правило является результатом того, что вы или неправильно настроили корки, или неправильно их переписали. Потому если бы вы могли сходу писать лучше, чем инженеры Xilinx - то наверное работали бы уже там.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это как правило является результатом того, что вы или неправильно настроили корки, или неправильно их переписали. Потому если бы вы могли сходу писать лучше, чем инженеры Xilinx - то наверное работали бы уже там.

Тю! К коркам нет претензий. Там ОК!

Вот простенький пример. Вот этот формирователь На HDL работает заметно быстрее!

 

Как автор темы в целях невнесения путаницы прошу Вас завести собственную тему.

 

Не вижу никакой путаницы. Название темы слишком обширно. Радуйтесь!

123.bmp

Изменено пользователем Мур

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тю! К коркам нет претензий. Там ОК!

Вот простенький пример. Вот этот формирователь На HDL работает заметно быстрее!...

индусы много лет старательно портили схематик в ISE - а вы всё равно им пользуетесь, да вам памятник надо поставить :biggrin:

я уж тоже было про корки подумал

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

индусы много лет старательно портили схематик в ISE - а вы всё равно им пользуетесь, да вам памятник надо поставить :biggrin:

я уж тоже было про корки подумал

В схематике своя логика. Её можно понять со временем. Теперь я острого дискомфорта не испытываю...

Как следствие моего "открытия" конвеерные регисторные и триггерные вставки надо делать на HDL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо еще учитывать, что "а=б+с" и "а=с+б" (утрированно) могут давать разный результат синтеза, на мелких примерах можно выявить подобные особенности синтезаторов.

можно поподробнее про это...

Когда и где это может проявиться и где на следует обращать внимание?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот простенький пример. Вот этот формирователь На HDL работает заметно быстрее!

 

Вы бы полностью примеры выложили, с временным отчетом. А также его конкурента на ХДЛ, также с отчетом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно поподробнее про это...

Пример для ISE, Spartan3* :

module tst(
   output[7:0] q,
   input [7:0] a, b,
   input ena, enb
);
   wire [7:0] aa = ena ? a : -1; 
   wire [7:0] bb = enb ? b : 0; 
   assign q = aa + bb;
   //assign q = bb + aa; 
endmodule

- перестановка слагаемых вдвое уменьшает число ЛУТ (и уровней). Подобных фокусов - хватает...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно поподробнее про это...

Когда и где это может проявиться и где на следует обращать внимание?

А вот мой пример

http://electronix.ru/forum/index.php?showtopic=82881

оставшийся без комментариев. Как я понял, все согласились и приняли к сведению :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот мой пример

http://electronix.ru/forum/index.php?showtopic=82881

оставшийся без комментариев. Как я понял, все согласились и приняли к сведению :)

Имхо, запись можно заметно упростить за счет индексов, тогда и комментарии будут. А так вникать надо...

Отписался в той ветке...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример для ISE, Spartan3* :

module tst(
   output[7:0] q,
   input [7:0] a, b,
   input ena, enb
);
   wire [7:0] aa = ena ? a : -1; 
   wire [7:0] bb = enb ? b : 0; 
   assign q = aa + bb;
   //assign q = bb + aa; 
endmodule

- перестановка слагаемых вдвое уменьшает число ЛУТ (и уровней). Подобных фокусов - хватает...

прикольно, надо будет поиследовать :biggrin:

Я не замечал...

Какая версия ISE на тот момент была установлена? В какой версией ISE в 10 или в 9 наблюдалось?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

прикольно, надо будет поиследовать :biggrin:

Я не замечал...

если правильно помню архитектуру хилого слайса, результат в данном случае очевиден, настолько, что даже объяснений не требует %)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если пользоваться еще и Synplify - то быстродействие будет еще выше и число вентилей меньше.Всякие перестановки типа арифметики synplify сам понимает и нормально оптимизит. XST - фигня.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...