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

 
 
> Оптимизация кода
_ZeroCold
сообщение May 11 2006, 15:08
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 5-05-06
Пользователь №: 16 814



Доброе время суток!!!

Я столкнулся c проблемой суть которй излогаю ниже при перестройки одного устройства под другие нужды !!!
Проблема заключается в том я пытаюсь написать прогу уже под запаянную конфигурацию ног микросхемы ALTERA 3128ATC144-5 ,и компилятор пишит что в разных напрвалениях нехватает PIA
т.е. я так понимаю вентилей , так вот я бы хотел узнать нет ли какоголибо способа оптимизировать написанный мною код на AHDL может место освободится , потому как мне всего то нужно воткнуть
выборку из 23 адресов и все !!!

типа такого

Oe = (a[21..0] == "3FFc00" & pin1 & (!pin2));
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
vitan
сообщение May 11 2006, 15:14
Сообщение #2


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Цитата(_ZeroCold @ May 11 2006, 19:08) *
Oe = (a[21..0] == "3FFc00" & pin1 & (!pin2));

Ну хотя бы не 22 линии дешифрируйте, уже полегче будет...
Go to the top of the page
 
+Quote Post
iosifk
сообщение May 12 2006, 05:10
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(vitan @ May 11 2006, 19:14) *
Цитата(_ZeroCold @ May 11 2006, 19:08) *

Oe = (a[21..0] == "3FFc00" & pin1 & (!pin2));

Ну хотя бы не 22 линии дешифрируйте, уже полегче будет...


Если pin1 и pin2 имеют разрядность в 1 бит, то формирование Oe имеет смысл разбить на две части:

Первая - сравнивать a[21..1] с константой
вторая - pin1 & (!pin2)
и результат взять по &

Если компилятор так не делает, то получите выигрыш за счет сравнения с константой. А если делает, то тогда делайте, как сказали выше частичную дешифрацию...
Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
SpyBot
сообщение May 12 2006, 08:11
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 5-11-05
Пользователь №: 10 491



Ещё можно сэкономить много места применив последовательную загрузку вместо параллельной. Также можно поиграться с параметрами оптимизатора, учитывая, что бывает, например, максимальный FAST медленнее минимального.
Go to the top of the page
 
+Quote Post
Victor®
сообщение May 12 2006, 08:14
Сообщение #5


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(_ZeroCold @ May 11 2006, 18:08) *
Доброе время суток!!!

Я столкнулся c проблемой суть которй излогаю ниже при перестройки одного устройства под другие нужды !!!
Проблема заключается в том я пытаюсь написать прогу уже под запаянную конфигурацию ног микросхемы ALTERA 3128ATC144-5 ,и компилятор пишит что в разных напрвалениях нехватает PIA
т.е. я так понимаю вентилей , так вот я бы хотел узнать нет ли какоголибо способа оптимизировать написанный мною код на AHDL может место освободится , потому как мне всего то нужно воткнуть
выборку из 23 адресов и все !!!

типа такого

Oe = (a[21..0] == "3FFc00" & pin1 & (!pin2));


1) Попробуйте оптимизацию по площади
2) Сбросьте привязку к LCELL, но оставьте привязку к пинам
3) Возможно - проблема с тем, что OE реплицируется. Если хватает LCELL- сделайте так
OE = LCELL((A[21..0] == X"3FFc00") & PIN1 & (!PIN2)); или так
OE = LCELL(A[21..0] == X"3FFc00") & PIN1 & (!PIN2);
4) Разбейте сравнение на части.

Возможно комбинация этого поможет


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
prototype
сообщение May 12 2006, 10:25
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 513
Регистрация: 1-02-05
Из: Харьков, СССР
Пользователь №: 2 334



Когда не хватает PIA - это значит что в вашем случае вульгарно на хватает входных линий в ЛАБ. У ЛАБа из 16-ти макроячеек максимум 36 входных линий из PIA (перефериал интерконнект эррай - внутренняя матрица линий связи). Скорее всего в ЛАБе где живет ваш дешифратор живет и еще другая часть схемы и в общей сложности для ЛАБа надо более 36 входных линий - скорее всего фиттер при ругани даже указывает сколько. Иногда в таких случаях помогает воткнуть между выходом дешифратора и выходным пином элемент Lcell (если проект верхнего уровня у вас схема) или объявить его выход Нодом, выход которого будет являться входным сигналом для выходного пина - это увеличит задержку, но из за того что в результате фиттер будет иметь возможность всунуть дешифратор в более свободный ЛАБ проект может упаковаться в микросхему. Либо сделать декомпозицию проекта разделив дешифратор на части и назначив выход одной из его частей на любую неиспользуемую ногу - тоже может попустить, минусы те же что и в первом варианте.
Go to the top of the page
 
+Quote Post
_ZeroCold
сообщение May 12 2006, 12:46
Сообщение #7





Группа: Новичок
Сообщений: 8
Регистрация: 5-05-06
Пользователь №: 16 814



Всем огромное спасибо за помощь !!!
Помогло воткнуть перед боулевым вырожением LCELL
правда перед всеми организациями выборок в этой части схемы (там их 4)!!!

Вот только мне несовсем понятен смысл LCELL - его принцып работы

это я так понимаю чтото типа malloc на С ????
Go to the top of the page
 
+Quote Post
Victor®
сообщение May 12 2006, 13:45
Сообщение #8


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(_ZeroCold @ May 12 2006, 15:46) *
Всем огромное спасибо за помощь !!!
Помогло воткнуть перед боулевым вырожением LCELL
правда перед всеми организациями выборок в этой части схемы (там их 4)!!!

Вот только мне несовсем понятен смысл LCELL - его принцып работы

это я так понимаю чтото типа malloc на С ????


"...LCELL buffers provide more control over logic synthesis than SOFT
buffers. A good location to insert LCELL buffers is where a single complex logic expression feeds multiple destinations in your design..."
См. AN 43: Designing with MAX 9000 Devices

Возможно - это и есть Ваш случай


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 15:23
Рейтинг@Mail.ru


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