Перейти к содержанию
    

Yuri124

Участник
  • Постов

    763
  • Зарегистрирован

  • Посещение

Репутация

1 Обычный

Информация о Yuri124

  • Звание
    Знающий
    Знающий

Посетители профиля

2 161 просмотр профиля
  1. Электронный ключ - в мою молодость так называлось устройство для передачи текстов азбукой Морзе. Сейчас - устройство для осуществления доступа к ч-л (в квартиру, к кошельку, к аккаунту или необходимой для работы программе). Думаю, это неполный перечень. Ваше устройство ближе к аналоговому коммутатору - которых в FPGA в виде доступных "кирпичиков" попросту нет. "Жаргоны сантехнические" говорите - вам же посоветовали литературы, где можно ознакомиться с этой "сантехникой". Да и в документации на FPGA с их помощью "воду готовят" - читайте, изучайте, непонятное - спрашивайте. Но Вы - на своей волне... Успехов в проекте!
  2. хорошо заданный вопрос содержит половину ответа. Для этого необходимо, чтобы вопрошающий хорошо представлял себе суть вопрошаемого. Вам неоднократно указывали на конкретные пробелы в Вашем представлении - но Вы, в силу незнания/нежелания понять/невозможности понять (осмыслить) - [выберите любое по Вашему желанию] - не в состоянии понять/принять эти ответы...
  3. Вы выдернули одно единственное слово из очень длинного контекста, не потрудившись даже вникнуть в смысл сказанного Вам! Это мое предположение основано на кое-каком (относительно гуру этого форума - очень небольшом) моем личном опыте реализации вот примерно, по сути, такой же схемы, как у Вас - только без 3-стабильных элементов и каких-то "согласующих" резисторов внутри кристалла FPGA. Так вот, к моей радости, синтезатор смог уложить требуемую логику (относительно длинные цепочки, если бы их реализовывать по Вашей схемотехники - отдельными ЛЭ, типа как в 555ЛА3) в нечто более короткое по длине (и - соответственно, более быстродействующее), используя имеющиеся в ПЛИС 6-входовые LUT. поясните, пожалуйста, а что это такое - "согласующий резистор"? В ВЧ технике (RF, всякие скоростные интерфейсы) - я понимаю, что это такое, как оно работает, и зачем это нужно. Внутри FPGA - что это такое может быть? Вот я многократно читаю в Ваших постах слово "логика". Но - в упор не вижу логики в этом высказывании. Вы не понимаете смысла "последовательная цепь"?! Если цепь - последовательная, то и спички кладутся последовательно (т.е. - друг за дружкой, начало (чистый конец) одной к концу (серная головка) другой). И даже если эту таким образом склеенную цепь свернуть в спираль или сложить зигзагом - длина пути сигнала от начала всей цепи к ее концу останется равной сумме длин спичек. А "если вы сложите множество спичек рядом" - это таки параллельная цепь! Точнее - параллельно расположенные цепи. А кто Вам может запретить проектировать что-то свое и по-своему?! И правильно откомпилировать тоже никто не помешает - если что-то будет не так, компилятор (синтезатор) выдаст предупреждение/сообщение об ошибке, и - либо Вы не получите нужного быстродействия, либо - Вам придется делать правильно и, соответственно, компилировать тоже правильно...
  4. несколько тактовых сигналов. Если я правильно понял вопрос - то в первых процессорах так оно и выполнялось - такт на выборку инструкции из ROM, затем - выборка (загрузка) операндов, такт (или больше) - на выполнение команды. А то и микропрограммы...
  5. Как Вы глубоко звблуждаетесь... Проверить правильность Ваших предположений не просто, а очень просто - возьмите компилятор, опишите схему из , скажем, тысячи последовательно включенных ЛЭ (на самом деле синтезатор не поставит тысячу этих эл-тов последовательно, а, используя ресурсы микросхемы, оптимизирует схему - предполагаю, цепочка растянется не на 1000 ЛЭ, а "всего лишь" на пару-тройку сотен ЛУТов. И посмотрите, на какой частоте будет заявлена гарантированная работоспособность этой схемы. ЗЫ когда-то оценивал время прохождения сигнала через одну схему, если ее разрисовать обычными ЛЭ - цепочка составила бы в длину порядка сотни ЛЭ. Время задержки синтезатор оценил в около 100 нсек - т.е. частота работы ее составила бы максимум 10, ну, пусть даже 15 МГц - с учетом того, что программа при таких расчетах исходит из худших возможных таймингов микросхемы. И это еще "пробовалось" в практически пустом кристалле достаточно мощной ПЛИС (занято было всего единицы процентов ее логических ресурсов, с 6-входовыми ЛУТ...
  6. Есть время задержки выхода элемента из Z-состояния, есть время передачи сигнала со входа на выход, если элемент уже не в Z-состоянии. Кмк, Вы правы в том, что, если буф. элемент уже выведен их этого Z-состояния, то прохождение сигнала с лог входа на его выход произойдет быстрее (можно посмотреть цифры , приведенные в даташитах на такие буферы для обычных микросхем, не FPGA. Но время прохождения сигнала даже через транзистор далеко не нулевое. Даже если представить себе, что этот транзистор в данный момент времени представляет собой открытый канал полевого транзистора - у него будет сопротивление, нагруженное на втором выводе (выходе ЛЭ) какой-то пусть даже мизерной, но - емкостью. Как на самом деле реализованы в кремнии эти элементы - не интересовался, может оказаться, что они сложнее (т.е. еще медленнее). Кроме того, как Вам уже сообщали, такие буферы встроены в выходные блоки микросхем FPGA, они могут уметь выполнять более сложные функции - отсюда следует их возможное усложнение за счет потери скорости. Поэтому и рекомендовал бы ознакомиться с ассортиментом микросхем, уже реализованным в таком железе (например, серия 74AC) - возможно, ознакомившись в различными временами задержек в них, Вы сможете подобрать более оптимальный вариант построения Ваших блоков.
  7. на какое время? прописать время задержки в файл sdc...
  8. Извините, но Вы "решили" задачу способом - разбросав по полю грабли. Вам же объяснили, что этих элементов внутри FPGA просто нет... Вам же в самом начале темы предложили применить многовходовой элемент И или ИЛИ (в зависимости от потребности). Нарисует Вам симулятор то, что Вашей душе угодно - а как потом это "в железе" физически реализовать?
  9. а можно подробностей - чем Вас "традиционные алгоритмы" не устраивают? И пару слов про Ваши алгоритмы?
  10. Вы слишком оптимистичны. Не забывайте, что сигналы в Вашей схеме распространяются по таким компонентам, как соединительные линии внутри кристалла, коммутаторы (перебрасывают сигнал с одной линии на другую), логические элементы - все они имеют задержки. Загляните в даташит к-л простого ЛЭ, например, 74АС14 - Вы увидите, что сигналу, чтобы пройти с его входа на выход, потребуется гораздо времени, чем прошел бы свет 1 см расстояния. Вы схему нарисовали? Нарисовали. Теперь описать ее в Верилоге - это не просто, а очень просто. Вопрос времени...
  11. Если может быть Вам ближе микроконтроллеры - чтобы процессорное ядро не тратило свои вычислительные ресурсы для программной реализации к-л блока (интерфейса, таймера, счетчика) - в микроконтроллер добавляется уже готовая, аппаратная реализация нужного функционала. Аналогично и в микросхемы FPGA добавляются уже готовые аппаратные блоки, реализующие часто необходимые функции (блоки DSP, интерфейсы). Зачастую реализовать это просто невозможно из стандартных "кирпичиков", имеющихся в FPGA. Например, интерфейс PCIe должен выдавать/принимать данные на частоте нескольких гигагерц. Поэтому внутри FPGA добавляется такой скоростной блок, который принимает-передает наружу микросхемы на гигагерцах, а внутрь FPGA или из нее данные поступают по более широкой (гораздо более многоразрядной шине) на той частоте, которую уже способна "переварить" эта FPGA. Это делается как раз для того, чтобы необходимый блок работал с заявленными характеристиками.
  12. частота то одинаковая, но может оказаться так, что блоки между собой не зависимы (если нет передачи данных между ними) - т.е. легче их развести в кристалле с макс. частотой (минимальными задержками) при трех различных CLK (с различными названиями). А если все три блока тактируются одним клоком (с одним названием) - они будут зависимы, разложить их в кристалле может оказаться сложнее. На истину в посл. инстанции не претендую, в конкретно этом Вашем проекте может оказаться по-другому. Ну и степень "забитости" кристалла имеет значение. Если наполовину свободен - то синтезатору проще со всем разобраться, если забит под 80% - уже сложнее...
  13. Насколько я понимаю - кроме кол-ва логических блоков на частоту влияют также задержки на элементах коммутации сигналов и длина путей. Ведь , к примеру, 2 блока логики могут находиться рядом или на противоположных сторонах кристалла - соответственно время прохождения сигнала через них при кажущейся одинаковости будет разное. А если CLК идет по выделенным скоростным ресурсам, то этот сигнал будет заметно быстрее доходит до тактируемых элементов, чем данные. Т.е. надо задержать тактируемый фронт = понизить частоту. Ну и когда у Вас 3 разные частоты "питают" 3 разных блока - они , наверное, считаются независимыми? Возможно, синтезатору легче разложить требуемое железо в кристалле с требуемыми частотами...
  14. Возможно, Вы не совсем поняли. В результате работы над тем проектом были опробованы два варианта блоков: 1. комбинационная схема (огромная куча логики без триггеров), и была определена макс. частота ее функционирования. 2. схема с использованием конвейера - со своей частотой работы.
  15. я под асинхронщиной имел в виду такой кусок, который без триггеров. Т.е. при подаче исходных сигналов на вход нужно только ждать результата на выходе. Конкретный пример: у меня был проект, без триггеров внутри. Результат на выходе был гарантирован через 100 нсек. Синхронная (конвеерная) схема при частоте 100МГц выдавала бы результат через 450-500 нсек. Т.е. после подачи на вход асинхронного блока я мог через 110 нсек гарантированно забирать результат обратно в синхронную часть. Но на самом деле надо бы использовать обе реализации - и асинхронную (т.к. периодически нужно было получить только один результат), и синхронную - получать подряд серию (она бы после истечения 500 нсек шла уже со скоростью 10 нсек/результат). К сожалению, для обеих не хватало ресурсов имеющегося кристалла...
×
×
  • Создать...