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

ViKo

Модератор
  • Постов

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

Весь контент ViKo


  1. ... и лучше не придумать :) Таким способом я худо-бедно измерял время точнее, чем тактовая частота. И важны мне были относительные величины. Достаточно было, что в цепочке сохранялось свойство монотонности кода, соответствующего задержке.
  2. В документации должно быть оговорено точно. Такие цифры, вроде, не подходят ни к ps, ни к ns. Задержать сигнал можно, если выстроить целую линейку LCELL (или других элементов). Я использовал цепочку из 32 сигналов CARRY (создал некую "извращенную" схему). Частота 50 MHz, если не ошибаюсь, задерживалась на целый такт на ~20 CARRY для ACEX.
  3. Лучше не входы АЦП (выходы источника) подтягивать низкоомными резисторами. А сместить ваши источники на нужный уровень. Тогда не будете жрать лишний ток с буфера опорного напряжения через подтягивающие резисторы, выходы источников на землю или питание. Там же в даташите схемы намалеваны.
  4. Не забывайте, что периодически проводится "амнистия".
  5. За такие ответы тоже неплохо бы давать предупреждения.
  6. Может быть, вам окажется полезным почитать эту тему. http://electronix.ru/forum/index.php?showt...=77779&st=0
  7. Если бы в природе существовало семейство ПЛИС, оптимально подходящее для всех случаев жизни, то остальные уже подохли бы. Каждый раз придется что-то выбирать. Причем исходя из личных симпатий, предыдущего опыта, знаний и умений, требуемых предполагаемых ресурсов, цены, доставаемости, "распиаренности" и т.д. Опрос показал бы, кто что использует. Это - какая-никакая, а информация.
  8. Почему-то я на этом рисунке 5 вижу, что данные, соответствующие выборке N, появляются на выходе уже в следующем такте (upd. - а это и есть "за один такт"). Где и кому я противоречил? Я тоже применял когда-то, разные... А про частоту и такты - это ж понятно! Пример - процессор Pentium 4. Если хотите высказать свое мнение - прошу! P.S. Нашел АЦП, который когда-то пробовал применять, AD9002. Скачайте файл с описанием и увидите там точно такую же картинку, как наш рис 5. P.P.S. Вас не смущает, что можно сделать устройство, перемножающее многобитовые числа за один такт? А вот еще "круче" картинка. Правда, таких уже нет. И не надо! :)
  9. Я за разделение по архитектуре. ARM, Cortex, AVR, PIC - все отдельно. Но знаю заранее, что все останется, как было. :(
  10. Счетчик. Сумматор. Если на каждый логический элемент приходит всего пара сигналов, и выход используется.
  11. А еще раз сюда забросить можете? По ссылке регистрироваться требует. О, скачал! Пробежался по картинкам. Похоже, то, что я нарисовал выше - лишь половина решения...
  12. Если так, виноват! Извиняюсь :crying: А SLICE - это то, что в Altera зовется LAB? Впечатляет!
  13. Не верю! Сделаете? P.S. эти биты не "хранятся", а передаются со входов на выход "навылет"
  14. сомневаюсь... а выходов у LUT сколько? ;) и как к тем битам добраться? На LUT можно сделать latch, однобитовый. upd. а на LUT-6 - двухбитовый, наверное... upd2. для этого нужно выход LUT завести на один из ее входов, так будет "поддерживаться" тот бит, который хранится, пока сигнал разрешения разрешает.
  15. Ну кто? Автор топика, конечно! :) Ему же надо. То, что я описал, по-моему, понятно. Каждый переключатель получается на двух LUT. Для N=256 слоев будет 8. На 25 MHz потянут без проблем. Остается только управляющие биты организовать в "удобное" слово.
  16. Чудеса рассказываете. В каждой LUT есть триггер, который сам по себе уже 1-битовая RAM. И FIFO из них сделать не проблема для каждой FPGA.
  17. Верю! Но не разочарован. Я сам придумал. :) Ссылок не смотрел. Пойду поинтересуюсь... Только тогда о чем здесь так много говорят?
  18. Эврика! Допустим, имеем N входов и N выходов. В общем случае потребовались бы N-входовые мультиплексоры перед каждым из N выходов. Из-за того, что каждый индивидуальный вход должен прийти на какой-нибудь выход (не допускается дублирование входов или выходов), схему можно упростить. Единичным элементом схемы будет двухвходовый-двухвыходовый мультиплексор-демультиплексор, управляемый одним сигналом S. Если S = 0, In0 = Out0, In1 = Out1, если S = 1, In0 = Out1, In1 = Out0. Такой вот "кроссовер" получается ;) Такие "кроссоверы" подключаются к соседним парам входных сигналов, всего их будет N/2. К их выходам подключаются следующий слой "кроссоверов", один подключен к левым выходам предыдущих, следующий к правым. (upd. не совсем так, но точнее описать не могу) И т.д., чтобы в конце можно было из любого входа добраться до каждого выхода. Напоминает "бабочку" из БПФ.Таких слоев будет log2(N). См. рис. для 4x4. Сигналы выбора S (в данном случае их 4 шт) однозначно определяют все возможные комбинации переключений. Для 256x256 этих переключателей будет 128 x 8 = 1024, вполне достижимо.
  19. Картинка не полностью описывает поведение триггера. Что должно быть внутри блока с Q (оно будет не только при совпадении фронтов) - &, 1, =1? После этого можно сделать (один из вариантов уже показали). На мой взгляд, сама задумка неправильная с точки зрения гонок, метастабильных состояний. Зачем два тактовых сигнала? И вообще, для этого нужно было создать отдельную тему в будущем разделе.
  20. Непрерывный сигнал имеет спектр, показывающий, сколько синусоидальных составляющих разных частот и амплитуд в нем содержится. Если сигнал периодический, например, "пила", его спектр состоит из определенного набора гармоник fo, 2fo, 3fo... Частота fo соответствует периоду повторения сигнала. Понятно, что это - синус. Остальные гармоники и делают из этого синуса "пилу", например. Для преобразования в цифровую форму сигнал дискретизируется (по времени) и квантуется (по амплитуде). Частота дискретизации должна быть такой, чтобы не потерять информацию о всех интересующих нас составляющий спектра сигнала, до какой-то степени точности. Допустим для "пилы" возьмем 8 гармоник, значит, нам нужно оцифровать сигнал с частотой fs > 16fo. [Теорема Котельникова, она же критерий Найквиста]. Количество разрядов квантования определяет, насколько точно дискретный сигнал соответствует непрерывному. Определяет "шум округления (квантования)". Непрерывный сигнал может быть узкополосным, иметь спектральные составляющие в узком диапазоне частот. В таком случае частота дискретизации fs не обязана быть вдвое выше максимальной спектральной составляющей сигнала. Она должна быть вдвое выше полосы сигнала. (Она даже может быть ниже центральной частоты сигнала, fc). Так получается дискретный сигнал, состоящий из последовательности отсчетов. Спектр дискретного сигнала повторяет спектр непрерывного сигнала, из которого он получен. Только спектр этот повторяется с интервалом, равным частоте дискретизации: около 0, около fs, около 2fs, 3fs... [Из этого свойства, собственно, и вытекает требование теоремы Котельникова]. (АЧХ цифрового фильтра имеет такое же свойство периодичности.) С помощью ДПФ вычисляются составляющие этого спектра. Так так сигнал дискретный, в формуле преобразования Фурье вместо интегрирования используется суммирование. Чем больше отсчетов сигнала мы будем использовать в расчетах, тем больше спектральных составляющих сигнала мы вычислим. (Все они расположены в пределах одного из участков упомянутого выше повторяющегося спектра, в других участках - такие же спектральные составляющие). Быстрое преобразование Фурье - то же самое, что и ДПФ, только в нем для параллельного вычисления спектральных составляющий используются математические "хитрости". Если повезет, и частота дискретизации fs будет кратна частоте сигнала fo, спектральные составляющие будут вычислены точно (с точностью, определяемой шумами квантования). Но, так как обычно, эти частоты не связаны, возникают ошибки при ДПФ - утечка спектра (из одной составляющей вычисленного спектра в другие). Для борьбы с утечкой спектра используются "окна".
  21. Делают. Особенно раньше так делали, когда частота 100 MHz была пределом мечтаний. См. документ из поста №7, а в нем стр. 6
  22. Как же не было? Посмотрите, первый пост на прежнем месте. Вот это - правильно. И это правильно. Только не "заодно", а наоборот, именно его и передал Quartus для симуляции в ModelSim, а моделируемое устройство попало "заодно". Не было двух версий тестбенча. Когда всё "в одном флаконе", второй файл никому не нужен. Когда тест в отдельном файле (а именно он и передается симулятору), то нужно моделируемое устройство. Quartus его уже синтезировал и отдал ModelSim'у, без тестбенча. Но с задержками. С этим буду разбираться...
  23. Я понимаю. Мне только любопытно, почему это не было сделано сразу. Как вариант - разрешить ставить или не ставить ";"
×
×
  • Создать...