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

 
 
> как поправить общую шину?, разваливаются тайминги шины ибо много узлов на ней
AlexRayne
сообщение Dec 1 2010, 13:33
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 27-09-07
Пользователь №: 30 877



Здрасте.
Достался мне в наследство проект системы на Cyclone2 имеющий общую шину (16бит) с обычным управлением подобно интерфейсу SRAM (Adres, CS, WR, OE). На шине навешаны регистры управляющие работой системы. Регистры как записываются так и читаются по етой общей шине - для етого их выходы выставляются на нее через tribuf - буферы. И ква эту шину нормально конвертит в мультиплексор.
беда моя началась после добавления к шине очередного регистра - тайминг анализ стал показывать что выход одного регистра до входа другого не укладывается в тактовую шины.

Глобально ломать тайминги шины нехочется ибо придется перепиливать проекты других устройств сопряженных с проблемным.
Есть надежда что если я както сумею разделить пути: от шины ко входам регистров и от выходов к шине то уложусь в тактовую.
Еще есть одна надежда:
у меня 1 такт шины занят выставлением адреса перед чтением\записью - этот такт можно былобы использовать для синхронного мультиплексора, если бы я сам делал его, но он синтезируется самим квартусом;
или можно попробовать обконстрейнить мультиклок, одна беда узлов больше полусотни, я заколебусь это делать.

Вобчем ищу умного совета, как организовывать большую шину и как возможно проще поправить то что есть?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
iosifk
сообщение Dec 2 2010, 06:19
Сообщение #2


Гуру
******

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



Цитата(AlexRayne @ Dec 1 2010, 16:33) *
Здрасте.
Достался мне в наследство проект системы на Cyclone2 имеющий общую шину (16бит) с обычным управлением подобно интерфейсу SRAM (Adres, CS, WR, OE).

Вобчем ищу умного совета, как организовывать большую шину и как возможно проще поправить то что есть?


В такой шине есть два узких места.
Первое - это мультиплексор данных от каждого регистра на общую шину. Впорое - это селектор адреса.

С первым - можно бороться так: если известно, что например в регистре готовности читаются только 2 бита из 16-ти, то можно сделать остальные входы оп нулям, а не коммутировать всю шину. И далее, если что-то есть байтное, то тоже написать, что коммутируем байт, а остальное - нули...

Со вторым - делается частичная дешифрация. Т.е. в идеале для дешифрации адреса регистра берутся только 2 или 3 старших адреса. Это тоже помогает сократить дешифратор...

Далее идет косвенная адресация, как тут уде было сказано.
Потом - вставление NOP перед чтением и т.д.

Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
AlexRayne
сообщение Dec 2 2010, 06:55
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 27-09-07
Пользователь №: 30 877



Цитата(iosifk @ Dec 2 2010, 09:19) *
В такой шине есть два узких места.
Первое - это мультиплексор данных от каждого регистра на общую шину. Впорое - это селектор адреса.

С первым - можно бороться так: если известно, что например в регистре готовности читаются только 2 бита из 16-ти, то можно сделать остальные входы оп нулям, а не коммутировать всю шину. И далее, если что-то есть байтное, то тоже написать, что коммутируем байт, а остальное - нули...


как правило младшие биты регистров используются полюбому, так что разгрузить получится только мультиплексоры старших битов

Цитата
Со вторым - делается частичная дешифрация. Т.е. в идеале для дешифрации адреса регистра берутся только 2 или 3 старших адреса. Это тоже помогает сократить дешифратор...
Далее идет косвенная адресация, как тут уде было сказано.


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

Цитата
вот только не понятно, где вы там нашли мультицикл. 1 такт установление адреса, второй такт чтение, вам бы 3-х тактовую шину, тогда мультицикл на чтение можно было бы использовать.


есть возможность ввести как раз лишний такт на адресацию задержкой сигнала HOLDACK - подтвержение захвата шины\он же опознавание наличия узла.
но ето ведь только решение половины проблемы, надо же еще както конвейеризовать сам мультиплескор для того чтобы данные не разваливались.
неужели такой проблемы невозникает нигде? должнож быть какоето стандартное и приемлемое решение.

Цитата
по масочке и TCL циклом %)

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

Сообщение отредактировал AlexRayne - Dec 2 2010, 07:06
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 2 2010, 07:15
Сообщение #4


Гуру
******

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



А частичную дешифрацию адресов?

Может быть есть сигнал "готовности"? Если так, то все просто...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AlexRayne   как поправить общую шину?   Dec 1 2010, 13:33
- - Koluchiy   1) Какая тактовая шины? 2) Недопонял - шина соедин...   Dec 1 2010, 14:36
|- - AlexRayne   Цитата(Koluchiy @ Dec 1 2010, 17:36) 1) К...   Dec 1 2010, 14:41
- - Koluchiy   Дайте временную диаграмму работы шины.   Dec 1 2010, 14:56
- - des00   Цитата(AlexRayne @ Dec 1 2010, 07:33) или...   Dec 1 2010, 17:30
- - Shtirlits   Надо разгрузить мультиплексор. Сделать ревизию, вы...   Dec 2 2010, 02:43
|- - sazh   Цитата(AlexRayne @ Dec 2 2010, 09:55) про...   Dec 2 2010, 07:14
|- - AlexRayne   Цитата(iosifk @ Dec 2 2010, 10:15) А част...   Dec 2 2010, 07:19
|- - des00   Цитата(AlexRayne @ Dec 2 2010, 01:19) а ч...   Dec 2 2010, 07:40
|- - AlexRayne   Цитата(des00 @ Dec 2 2010, 10:40) с сигна...   Dec 2 2010, 07:53
|- - des00   Цитата(AlexRayne @ Dec 2 2010, 01:53) ну ...   Dec 2 2010, 07:56
|- - AlexRayne   Цитата(des00 @ Dec 2 2010, 10:56) шины с ...   Dec 2 2010, 09:04
- - Евгений Николаев   У меня есть функционально похожий проект. В конечн...   Dec 2 2010, 10:07
|- - AlexRayne   Цитата(Евгений Николаев @ Dec 2 2010, 13...   Dec 3 2010, 10:04
- - Евгений Николаев   Складываю данные специальным автоматом, по сути де...   Dec 3 2010, 10:42


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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 17:25
Рейтинг@Mail.ru


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