|
Особенности разводки проектов в ISE, сделал для себя важое открытие |
|
|
|
Jan 24 2011, 09:20
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Сделал важное открытие для себя с ISE как раз касательно времянок. Просто в Кактусе считалось библиотечные примитивы работают всегда быстрее структур определяемых на HDL. В ISE всё наоборот! Мой комплексный проект (80% на НDL!) удалось поднять по скорости в 2 раза (с 68МГц до 120МГц) только за счёт того, что переписал блоки из библиотечных примитивов на чистый VHDL. Вот так говорит практика... Может кому время разработки сокращу(особенно кактусникам!)...
Причина редактирования: топики выделны в отдельную тему
|
|
|
|
|
Jan 28 2011, 10:41
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(DmitryR @ Jan 28 2011, 14:11)  Это как правило является результатом того, что вы или неправильно настроили корки, или неправильно их переписали. Потому если бы вы могли сходу писать лучше, чем инженеры Xilinx - то наверное работали бы уже там. Тю! К коркам нет претензий. Там ОК! Вот простенький пример. Вот этот формирователь На HDL работает заметно быстрее! Цитата Как автор темы в целях невнесения путаницы прошу Вас завести собственную тему. Не вижу никакой путаницы. Название темы слишком обширно. Радуйтесь!
Сообщение отредактировал Мур - Jan 28 2011, 12:47
Прикрепленные файлы
123.bmp ( 46.56 килобайт )
Кол-во скачиваний: 102
|
|
|
|
|
Feb 1 2011, 17:47
|
Профессионал
    
Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118

|
Цитата(Maverick @ Feb 1 2011, 17:28)  можно поподробнее про это... Пример для 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 - перестановка слагаемых вдвое уменьшает число ЛУТ (и уровней). Подобных фокусов - хватает...
|
|
|
|
|
Feb 1 2011, 21:11
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(Leka @ Feb 1 2011, 19:47)  Пример для 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 - перестановка слагаемых вдвое уменьшает число ЛУТ (и уровней). Подобных фокусов - хватает... прикольно, надо будет поиследовать Я не замечал... Какая версия ISE на тот момент была установлена? В какой версией ISE в 10 или в 9 наблюдалось?
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|