|
Мультиплексор шины на Altera, Может, я что не так делаю? |
|
|
|
Jun 7 2011, 08:52
|
Частый гость
 
Группа: Свой
Сообщений: 182
Регистрация: 26-11-07
Из: Москва, Зеленоград
Пользователь №: 32 692

|
Ситуация - классическая. Процессор от TI (C6455) подключен к внешней шине через контроллер, собранный на основе ПЛИС Cyclone III по параллельной шине EMIFA.
А проблема состоит в том, что общая шина, выходящая на процессор, с появлением очередного внутреннего регистра, становится все медленнее и медленнее. Т.е. - как я понимаю, внутри Cyclone нет трехстабильных шин и схема реализуется как очень большой мультиплексор, быстродействие которого зависит напрямую от кол-ва псевдовыходов. Это я так думаю.
На практике получается, что для чтения данных мне приходится все больше увеличивать длину сигнала READ (OE) с процессора для нормального чтения (в противном случае в читаемых данных появляются артефакты). При начале разработки она составляла 1+1 такт (12нс). Сегодня я уже вынужден поставить 1+3 такта (24нс).
Нет ли какой-то системной ошибки с моей стороны? Нельзя ли как-то описать шину, чтобы ее быстродействие было выше?
Спасибо!
|
|
|
|
|
 |
Ответов
|
Jun 7 2011, 10:49
|
Частый гость
 
Группа: Свой
Сообщений: 182
Регистрация: 26-11-07
Из: Москва, Зеленоград
Пользователь №: 32 692

|
Цитата(Sergey'F @ Jun 7 2011, 14:15)  Мне кажется, что стоит рассмотреть работу EMIF в синхронном режиме и регистр на выходе этого дерева мультиплексоров. Все входные сигналы EMIF тоже синхронизировать. Задержка чтения получится 2 такта.
После этого будет проблема с OE, он медленно идет от TMS, потом через ПЛИС и до буферов. Можно в таком случае попробовать его не использовать, а эмулировать внутри ПЛИС из чипселекта и сигнала чтения/записи. А сигнал чтения/записи - это кто? Я до сих пор считал, что HaWE - это сигнал записи, а HaOE - сигнал чтения. Оба идут достаточно медленно. Можно, конечно, разнести CS-ы на читаемые и записываемые.. Но тогда - зачем синхронный режим, если и так получается достаточно быстро. Замечу еще раз - у меня достаточно редко читаются регистры.. И уж точно, что у меня нет потока данных из них. А синхронный режим в первую очередь удобен, когда есть постоянный обмен. Проблема в том, что расширяя OE, я фактически останавливаю на это время процессор.. Пока думаем над ПДП. А с TimeQust - ну не въезжаю я в логику построения SDC файла. Что туда пихать надо, когда оно берется, когда запускать Analizer.. Те "для чайников" описания, что в гугле лежат - это, может для девочки-третьекурсницы полезно - чтобы не въезжая ответить что-то преподу.. А вот толкового описания сути я так и не нашел
|
|
|
|
|
Jun 8 2011, 11:41
|
Частый гость
 
Группа: Свой
Сообщений: 182
Регистрация: 26-11-07
Из: Москва, Зеленоград
Пользователь №: 32 692

|
Цитата(des00 @ Jun 7 2011, 20:48)  вы первый с таким отзывом о моих статьях  Ну что я могу сделать. Для меня эталоном доведения информации до пользователя всегда были книги Кернигана и Ричи. Просто читая ваши (как оказалось)  заметки, я так и не понял того, что надо квартусу. А самое главное - зачем. Вполне возможно, что если бы я начал читать литературу по таймингам начиная с макса - я бы все понял. Но так сложилось, что я всего этого не читал. Хотя, возможно, готов. Т.е. - с моей колокольни - не хватило разжевывания "для чего" с присутствием описания "как". Потому я и сказал, что это скорее всего для студентов  Без какого-либо желания обидеть автора. Которому в любом случае - респект (как и всем авторам, пишущим для нашего брата). Цитата(des00 @ Jun 7 2011, 20:48)  что там обсуждать то? EMIFA обычная процессорная шина с двунаправленной шиной данных. Асинхронный режим прост, но не удобен. Куда лучше взять синхронный с латентностью. Может быть. В любом случае - я могу попробовать в следующей итерации, т.к. все необходимое в виде сигналов на ПЛИСину приходит. Просто изначально в концепции был асинхронный обмен, как традиционный для нашей конторы. Не исключаю, что ошибался. В общем - не попробовав, не узнаешь.. Обещаю к осени попробовать
|
|
|
|
Сообщений в этой теме
Вовка_Бызов Мультиплексор шины на Altera Jun 7 2011, 08:52 vadimuzzz порезать мультиплексор конвейерами? Jun 7 2011, 09:00 Вовка_Бызов Цитата(vadimuzzz @ Jun 7 2011, 13:00) пор... Jun 7 2011, 09:14  vadimuzzz еще и асинхронный?! ужас
Цитата(Вовка_Бызов ... Jun 7 2011, 09:24   Вовка_Бызов Цитата(vadimuzzz @ Jun 7 2011, 13:24) еще... Jun 7 2011, 09:44    vadimuzzz Цитата(Вовка_Бызов @ Jun 7 2011, 16:44) А... Jun 7 2011, 09:49 Kuzmi4 2 Вовка_Бызов
у данного чипа есть выход клока EMIF... Jun 7 2011, 09:30 des00 если читать более одного регистра за раз : синхрон... Jun 7 2011, 09:49  andrew_b Цитата(Вовка_Бызов @ Jun 7 2011, 14:49) А... Jun 7 2011, 11:44 Koluchiy Объясните мне, граждане...
Как такие вопросы можно... Jun 7 2011, 11:09 iosifk Цитата(Вовка_Бызов @ Jun 7 2011, 12:52) С... Jun 7 2011, 11:43 Вовка_Бызов Цитата(iosifk @ Jun 7 2011, 15:43) 1. Син... Jun 7 2011, 12:45 Koluchiy Ну я как бы в курсе, что такое EMIF .
Дело в том, ... Jun 7 2011, 17:06 Stewart Little А вот это не поможет отцу российской демократии : ... Jun 7 2011, 17:22 ViKo Синхронная шина будет выдавать данные еще медленне... Jun 8 2011, 13:16 Вовка_Бызов Цитата(ViKo @ Jun 8 2011, 17:16) (Живого ... Jun 9 2011, 06:33  ViKo Цитата(Вовка_Бызов @ Jun 9 2011, 09:33) А... Jun 9 2011, 07:29 Kuzmi4 2 Вовка_Бызов
Мне вот этот документик тоже понрав... Jun 9 2011, 07:56 Вовка_Бызов Спасибо огромное. Уже сел читать. Jun 9 2011, 08:42
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|