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

crono

Свой
  • Постов

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

  • Посещение

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


  1. FFT Radix-2 За 1 такт расчет 2-х точек, соответственно 600МГц -> 300МГц. Уже нормальная частота
  2. Думаю из-за того, что loop - последовательный оператор, а generate - параллельный. И в последовательном операторе переменная i - динамическая, а в generate - статическая. Т.е. generate эквивалентен в данном случае 5 процессам, а loop - нет. А то, что, SH_OUT<=ShiftReg(0)(15); нужно в отдельный процесс, так это из-за того, что если оставить его в generate- то это будет эквивалентно присвоению одному сигналу 5-и других.
  3. Попробуйте x0: for i in 0 to 4 generate Equare : process(Clock(i)) begin if rising_edge(Clock(i)) then ShiftReg(i)(0) <= '1'; ShiftReg(i)(1 to 15) <= ShiftReg(i)(0 to 14); --SH_OUT<=ShiftReg(0)(15); end if; end process Equare; end generate; И вот эту строчку: SH_OUT<=ShiftReg(0)(15); надо в отдельный процесс
  4. Если Xilinx, то можно в FPGA Editor-е посмотреть, присвоено ли PULLUP выходному пину.
  5. Профессиональное любопытство :rolleyes: Так удалось DDC собрать?
  6. Аффиксоиды Термином «аффиксоид» обозначаются такие словообразовательные части слов, которые занимают промежуточное положение между корневыми и аффиксальными морфемами. Аффиксоиды – это морфемы переходного типа. Они аффиксоподобны, но не тождественны ни аффиксам, ни корням. К ним, например, можно отнести: вод- вед- рез- и др. Каждый такой аффиксоид формирует вполне самостоятельный, достаточно большой и весьма продуктивный словообразовательный тип. В этом смысле аффиксоиды очень близки аффиксам. Подтверждением этому служит синонимичное употребление аффиксоидов и аффиксов в русском языке, например: славяновед и славист, садовод и садовник, волнообразный и волнистый. «Язык – живой организм. Он не должен быть безупречным, иначе не будет живым». Лев Рубенштейн.
  7. Несколько вопросов по Waveform. 1. Как добавлять туда сигналы из вложенных файлов? Из файла верхнео уровня понятно (хотя после Active-HDL и неудобно). Чтобы добавить сингал, вынужден ставить в нужном месте точку останова, только после этого сигналы из выбранного файла становятся доступны для добавления. Наверянка есть способ попроще. 2. По сравнению с Active-HDL Waveform ривиеры кажется продвинутей, но не пойму как померить время между двумя событиями. Вроде, элементарное дело, но не пойму как. Только между курсорами можно мерить? 3. Как заставить эту гадину не удалять сигналы (мучительно добавленные в вэйформ) после выполнения команды Stop Simulation?
  8. Ну если так настойчиво... Поясните, как настройки синтеза могут повлиять на сгенерированный блок памяти и подключаемый только на этапе P&R? test_rom.zip
  9. хм... Не совсем понимаю что выложить. Есть один блок DPRAM. На адрес подается входная шина, выход DPRAM (защелкнутый в самом блоке) и есть результат. И больше ничего. Его надо выложить? Или сами вставите в свою схему библиотечный элемент? Не совсем понял и тут. Шутка?
  10. Я Вас умоляю! Это кто как пишет, и что оставляет на откуп синтезатора. В быстродействующих узлах схемы я синтезатору оставляю написать только логическую функцию для лута и то не всегда. И ему просто деваться некуда, он делает именно то, что я хочу. А на счет анженеров... Слово "колдовство" должно быть им, по моему скромному мнению, классово-чуждо. Потому как Октябрьская социалистическая революция напрочь подорвала основы этому буржуазному явлению! Я свой шаманский бубен давно выкинул спрятал, ибо чужд:)
  11. Я предпочитаю, когда речь идет о частоте от 350МГц и выше иметь четкое представление, во что выливается моя схема, а не верить умному синтезатору с его колдовством и шаманством, который пишут те-же индусы люди. А критерий правильности решения один: результат. В случае с памятью схема работает на 420 МГц в железе. Мне достаточно. "С высокой вероятностью" имелось в виду, что память работает, а работают ли все остальные варианты мне неважно, я не исследовательскую работу пишу, а задачу решаю. Чем не понравилась фраза "не будет быстро работать", не пойму. Она на основе опыта (тоже очень скромного).
  12. Если решать немного другую задачу, то можно найти немного другое решение. В моем случае нужно было за 1 такт посчитать количество единиц. Задержка между появлением события и появлением результата влияла на общую производительность. (Я не про латентность). Способ, про который написал Vacik с высокой вероятность будет наилучшим, так как требует только один элемент. Про его универсальность никто не говорит.
  13. Используя фронт и спад клока, Вы как-бы работаете на частоте в 2 раза выше. Соответственно и требования к цепям, использующих данный клок в данном режиме в 2 раза выше. Я реализовывал разные вещи, в том числе и свертку, и никогда не требовалось использовать оба фронта. Если мне нужно было использовать в 2 раза большую частоту, я ее генерировал и работал на частоте в 2 раза больше. Так считал для себя проще, хотя формально никто не запрещает использовать фронт и спад частоты в 2 раза ниже. Теоретически, возможно даже, что ваше решение в некоторых случаях лучше. Допустим, нет возможности сформировать еще один клок, или нужно только небольшой фрагмент схемы запустить на частоте в 2 раза выше. Но считаю, что все это исключения и по большому счету высший пилотаж. А у Вас, судя по Вашим сообщениям, не очень большой опыт работы с ПЛИС, поэтому я и писал, что Вы, используя второй фронт, только усложняете себе жизнь. Это был лишь совет, а дальше для себя решайте что и как лучше.
  14. Жалко, что не убедил, но да хозяин - барин. Желаю удачи.
  15. Еще раз. Задний фронт используется только при приеме DDR сигнала с внешних портов ПЛИС. Во ВСЕХ остальных случаях достаточно одного фронта. В Вашем случае 2 пункт должен выполнятся по второму фронту, третий по третьему, четвертый по четвертому. Теоретически использование двух фронтов в ПЛИС эквивалентно использованию 1 фронта частоты в 2 раза выше. Первый синхронный элемент в цепочке работает на фронте, следующий за ним на спаде, следующий опять на фронте и так далее. Только Вы сами себя запутаете. Какой участок схемы на каком фронте работает. А если что-то придется подвигать в процессе отладки. Скажем где-то добавить задержку на 1 такт, Вам придется всю последующую схему менять фронт на спад и наоборот. Для чего такие проблемы?
  16. Ошибочное мнение. То что Вы написали обеспечивается только если Вы будете формировать шину на одном фронте, а защелкивать в память на другом. Тем самым Вы в 2 раза ухудшаете максимальную частоту работы Вашей схемы. t (время между фронтом клока, которым Вы защелкнули сигнал и моментом, когда данный сигнал установился на входе следующего триггера ) определяет Ваше максимальное быстродействие. А Вы пытаясь защелкивать его на другом фронте клока сокращаете максимальное значение t=T до t=T/2. То есть усложняете требования к свое схеме.
  17. Да я как раз и пишу, что всем устраивает! Я думаю, обеспечит максимальное быстродействие. Просто задача такая возникает часто, а данное решение я на форуме не нашел. Может, правда, искал плохо.
  18. Да, а при том, что на Virtex-6 память можно сгенерировать в формате 4096x4 потребуется всего 1 блок RAM. И не требуется использование логики и быстродействие максимальное. К сожалению, для более длинных векторов решение уже не на столько изящное.
  19. Я думаю, задача одинаково решится и для вертакса и для циклона. Ну, предположим Virtex-6. Архитектуру альтеровских микросхем я знаю хуже.
  20. Задача такая. Есть вектор (N downto 0) неочень длинный, скажем Nmax=10-12 . Каждый такт клока вектор может принимать новое значение. Как за 1 такт подсчитать количество "единиц" ну или "нулей", кому что приятней, в векторе? При этом N-1 раз написать "+" неинтересно, так как на высокой частоте работать будет плохо. А нужно 300-400МГц. Или баян? Похожую тему видел, но там длинный вектор 64 бита.
  21. Вопрос "как лучше" всегда рассматривается в условиях конкретной задачи. В Вашем случае (низкая частота), возможно, Ваша схема и есть то самое "лучше". На модели работает? Значит и на железе, скорее всего, заработает. А вот если бы Вы на 300 МГц или выше работали, тогда "лучше" выглядело бы совсем по-другому. Код был бы гораздо больше и сложнее читаем, но обеспечивал бы большую частоту.
×
×
  • Создать...