|
Сбои в ПЛИС при большом количестве 1, Пропадание информации при обмене |
|
|
|
 |
Ответов
(1 - 10)
|
Sep 27 2005, 16:55
|
Местный
  
Группа: Свой
Сообщений: 316
Регистрация: 20-02-05
Из: Ленинградская обл.
Пользователь №: 2 765

|
Цитата(DLR @ Sep 27 2005, 11:02) Сталкивался с чемто подобным,  Какая рабочая частота? Частота поступления четверок бит - 40 МГц, они защелкиваются в промежуточных D-триггерах, один раз за четыре прихода ( 10 МГц ) - генерируем импульс клока для записи в память. Длительность клока - примерно 8 нс.
|
|
|
|
|
Sep 29 2005, 09:27
|
Участник

Группа: Свой
Сообщений: 31
Регистрация: 8-12-04
Из: беларусь, россия
Пользователь №: 1 410

|
Скорее всего проблемы с синхронизацией. 1. Подзадержать clk до относительно данных ( на несколько наносекунд). 2. сделать дополнительное защелкивание данных во входных буферах ( IOB)
|
|
|
|
|
Sep 29 2005, 12:58
|
Местный
  
Группа: Свой
Сообщений: 316
Регистрация: 20-02-05
Из: Ленинградская обл.
Пользователь №: 2 765

|
Цитата(vicg @ Sep 29 2005, 12:27) Скорее всего проблемы с синхронизацией. 1. Подзадержать clk до относительно данных ( на несколько наносекунд). 2. сделать дополнительное защелкивание данных во входных буферах ( IOB) А причем здесь все единицы? Ведь именно когда их большой поток ( т.е. нибблы ( это четыре разряда данных ) идут в виде F с прослойками 1 нолика в одном из разрядов ) и возникает эффект дублирования именно ниббла с ноликом вместо ниббла F ). При этом количество принятых нибблов - правильное.
|
|
|
|
|
Sep 30 2005, 08:02
|
Участник

Группа: Свой
Сообщений: 31
Регистрация: 8-12-04
Из: беларусь, россия
Пользователь №: 1 410

|
Цитата(bve @ Sep 29 2005, 16:58) А причем здесь все единицы? Ведь именно когда их большой поток ( т.е. нибблы ( это четыре разряда данных ) идут в виде F с прослойками 1 нолика в одном из разрядов ) и возникает эффект дублирования именно ниббла с ноликом вместо ниббла F ). При этом количество принятых нибблов - правильное. В поставленном вопросе обратный эффект не наблюдается, т.е. когда большой поток нулей и есть прослойка 1 единицы, то она не дублируется.( этот случай не упомянут). Значит в системе имеет место некая несимметричность на шине данных, т.е. время перехода 1->0 не равно времени перехода 0->1. Фронт (или срез) clk ( по которому происходит защелкивание инфы) получается то раньше то позже смены состояния шины данных (а это и есть несинхронность ), в результате чего и появляется ошибка. Поэтому: 1. Подзадержать clk до относительно данных ( на несколько наносекунд). 2. сделать дополнительное защелкивание данных во входных буферах ( IOB) 3. Проинвертировать clk.
|
|
|
|
|
Oct 10 2005, 10:13
|
Частый гость
 
Группа: Свой
Сообщений: 92
Регистрация: 18-08-05
Пользователь №: 7 750

|
Цитата(bve @ Oct 10 2005, 12:35) Как указать, чтобы триггера размещались в блоках IO? Назначьте опции Fast Input Registers или Fast Output Registers для нужных входов или выходов соответственно через Assignment Editor.
|
|
|
|
|
Oct 10 2005, 10:22
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
“Ввод производится в блок ECB с использованием Альтеровской мегафункции altdpram в синхронном режиме. Частота поступления четверок бит - 40 МГц, они защелкиваются в промежуточных D-триггерах, один раз за четыре прихода ( 10 МГц ) - генерируем импульс клока для записи в память. Длительность клока - примерно 8 нс. Строб двигал - толку нет. Как указать, чтобы триггера размещались в блоках IO?”
Судя по этим строчкам в проекте надо копать. Использовать altsyncram, altdpram используется для обратной совместимости со старыми проектами (причина конечно не в этом). Как Вам удалось 8 нс получить? Значит работа на задержках. Несинхронность. Многоклоковая синхронизация. Посмотрите рапорт временного анализатора. Неужели ничего в красном цвете нет по временам установки и удержания сигналов управления и данных. И размещения регистров в блоках I/O ничего не даст. Что Вам +- 3 нс при наличии строба сопровождения. Что мешает работать на частоте 40 мгц с периодом 25 нс. Ацех это потянет.
A logic option that implements an output register in an I/O cell that has a fast, direct connection to an I/O pin. Turning on the Fast Output Register option can help maximize I/O timing performance, for example, by permitting fast clock-to-output times. Turning this option off for a particular signal prevents the Fitter from implementing the signal automatically in an I/O cell. This option is ignored if it is applied to anything other than a register or an output or bidirectional pin fed by a register. This option can be set in the Assignment Editor (Assignments menu). This option is available for ACEX 1K, APEX 20K, APEX 20KC, APEX 20KE, APEX II, Cyclone, Cyclone II, Excalibur, FLEX 10K, FLEX 10KA, FLEX 10KE, HardCopy Stratix, MAX II, Mercury, Stratix, Stratix GX, and Stratix II devices
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|