МАРСОХОД

Open Source Hardware Project

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА: Быстрое переключение буфера TRI

Быстрое переключение буфера TRI 4 года 2 мес. назад #2756

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20
Добрый день, уважаемые.
Имеется собранная схема на MAX3000:

Это простой буфер, по которому я гоняю данные. Насколько вы видите, "направление" данных определяется с помощью управляющих сигналов ~OE(B->A) и ~WE(A->B), последнее - имеет наивысший приоритет.
Собственно проблема в скорости переключения направления шин. На 40MHz - все нормально, но когда WE изменяется с частотой 66MHz, то происходит чепухня.
Может ли это быть связано с асинхронностью схемы? Также я использую старую EPM3256AQC208, бывают у них такие проблемы?
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Быстрое переключение буфера TRI 4 года 2 мес. назад #2757

никогда не рисую графические схемы, все пишу от руки, по этому мне сложно сказать что там не так, но выскажу некоторые мысли:
1. каждая схема на плисине работает на какой то критической (максимальной частоте), выше которой, сигнал не будет успевать передаваться и будет полная чепуха.
2. данная частота зависит от сложности логической схемы и самого чипа. Для вашего чипа EPM3256A из даташита макс частота 126.6 Mhz. (в даташитах приводят макс частоту на которой будет работать плисина при суммировании одного 16 битного регистра), те реальная скорей всего будет меньше.
3. Использование кол-ва логических элементов на плисине (каких именно и их положения), определяется в момент синтеза, оно может быть удачным, а может и не очень, зависит от кучи параметров. К примеру, ножки на плисине не равноправны, есть волшебные ножки предназначенные только для клока, по ним частота распространяется шустрей и экономятся логические элементы. Также, обязательно нужно указать в проекте требования к макс частоте распространения сигнала, данная настройка происходит в Assignments -> TimeQuest&Timing Analyzer. Это позволит более оптимально расположить логические элементы и поднять рабочую частоту, также в репорте он напишет макс частоту для данной схемы+чипа.
4. Проанализировать все-все-все на одном клоке нельзя, по этому в архитектуре плис, как правило, программист создает некий конвеер, часть на этом клоке проанализируется, часть на другом.... ну это конечно для сложных схем.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Быстрое переключение буфера TRI 4 года 2 мес. назад #2758

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20

shchekoldin пишет: никогда не рисую графические схемы, все пишу от руки, по этому мне сложно сказать что там не так, но выскажу некоторые мысли:
1. каждая схема на плисине работает на какой то критической (максимальной частоте), выше которой, сигнал не будет успевать передаваться и будет полная чепуха.
2. данная частота зависит от сложности логической схемы и самого чипа. Для вашего чипа EPM3256A из даташита макс частота 126.6 Mhz. (в даташитах приводят макс частоту на которой будет работать плисина при суммировании одного 16 битного регистра), те реальная скорей всего будет меньше.
3. Использование кол-ва логических элементов на плисине (каких именно и их положения), определяется в момент синтеза, оно может быть удачным, а может и не очень, зависит от кучи параметров. К примеру, ножки на плисине не равноправны, есть волшебные ножки предназначенные только для клока, по ним частота распространяется шустрей и экономятся логические элементы. Также, обязательно нужно указать в проекте требования к макс частоте распространения сигнала, данная настройка происходит в Assignments -> TimeQuest&Timing Analyzer. Это позволит более оптимально расположить логические элементы и поднять рабочую частоту, также в репорте он напишет макс частоту для данной схемы+чипа.
4. Проанализировать все-все-все на одном клоке нельзя, по этому в архитектуре плис, как правило, программист создает некий конвейер, часть на этом клоке проанализируется, часть на другом.... ну это конечно для сложных схем.

Longest pin to pin delay: 12.8ns в репорте, похоже, что это касается конкретного пина. т.е задержки не выравниваются. Проблема еще в том, что я не могу воспользоваться TimeAnalyzer-ом полноценно, т.к. микросхема не поддерживается.

PS: Не подскажите ли ПЛИС, в которой можно такие потоки данных гонять, да и еще изменять на ходу битовыми операциями?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Быстрое переключение буфера TRI 4 года 2 мес. назад #2760

если репорт по таймингам прошел (для 85 градусов смотрите) - значит все отл, проблема где то в другом месте.
SignalTap- чип должен поддерживать встроенную память m9k, 3-4 циклоты точно поддерживают, 2 - не уверен.
под альтеру большой проект я делал под циклон 4 с мин кол-вом лог элементов, делает уоооочень много всего, стабильно работает на 50 мегагерцах, в репорте пишут что и на 100mhz должен завестись, этому репорту я верю, ни разу не обманывал.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от shchekoldin.

Re: Быстрое переключение буфера TRI 4 года 2 мес. назад #2763

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20
Весьма странно, если я делаю только одно направление A->B, то передача идет и на более высоких частотах, а если простое переключение A->B, A->HI-Z - чепухня.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Быстрое переключение буфера TRI 4 года 2 мес. назад #2765

код напишите на верилоге, а не этот рисунок показывайте.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Быстрое переключение буфера TRI 4 года 2 мес. назад #2767

  • Alucard
  • Alucard аватар Автор темы
  • Не в сети
  • Завсегдатай
  • Завсегдатай
  • Сообщений: 208
  • Спасибо получено: 20

shchekoldin пишет: код напишите на верилоге, а не этот рисунок показывайте.

Да там писать нечего. Грубо говоря, здесь 1 управляющий сигнал, который просто меняет направление данных: A->B, B->A и все.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 1.214 секунд

facebook  GitHub  YouTube  Twitter
Вы здесь: Начало Forum Наш форум Языки программирования Быстрое переключение буфера TRI