Jump to content

    

Flip-fl0p

Свой
  • Content Count

    1155
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Flip-fl0p

  • Rank
    «Я знаю, что я ничего не знаю»(С)
  • Birthday 01/03/1990

Старые поля

  • skype
    Array
  • Vkontakte
    Array

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

7121 profile views
  1. Видно не нашлось людей, готовых за бесплатно разбираться в чужом коде. Их можно понять.
  2. Написать соответствующий код, на выбранном язык HDL, провести моделирование в симуляторе.
  3. Ещё проще, чем с ним ). Вам же уже объясняли, что burst никак не ускоряет работу с памятью. А поддержка этого режима сильно усложняет логику работой контроллера.
  4. А Вы упорный товарищ. Всё-же оставили режим burst. И стоило столько времени убивать на его поддержку ?
  5. Все верно. Если при запуске ILA частоты нет, то он будет ругаться. Помогает только повторная прошивка. Как обойти это я не знаю.
  6. А что если взять виртуальную модель SDRAM от MICRON, подправить её, чтобы настройки соответствовали вашей памяти и просимулировать ?
  7. Это Вы так думаете, что связи нет. А она есть. И скорее всего ломается из-за неправильных СDC или ещё где-то.
  8. Так чего мы ждем ?! Вкорячить синхронизатор на нужный сигнал и горя не знать. Почему еще не сделали это ?
  9. Асинхронный сброс должен иметь синхронное снятие. https://www.eetimes.com/how-do-i-reset-my-fpga/ Вместо CDC синхронизатора нужно будет ставить reset bridge. Так-что таки придется сделать синхронизатор
  10. Я бы сделал как в vhdl. Внутри always присваивай как угодно, и сколько угодно. Но результат из always только через назначение сигналу. По-моему в vhdl это сделано наиболее просто, логично и понятно.
  11. Значица так. Берете 2 разных цветных пишущих изделия и рисуете схему. Каждый домен своим цветом. Когда схему нарисуете и выложите сюда - можно будет продолжить разговор. Не вижу смысла дальше что-то Вам объяснять. Пересечения CDC - это базовые вещи, которые должен знать каждый, кто работает с FPGA. Изучайте матчасть.
  12. У Вас сейчас сигнал cnt_rest3 формируется в домене CLK(120 Mhz). Передаете Вы его в домен 100 МHz. Думаю очевидно что период 8,33ns меньше чем 10 ns. Если просто передавать сигнал с меньшим в периодов в домен с большим периодом могут возникнуть ситуации, когда сигнал не попадет на передний фронт тактового сигнала домена с большим периодом, и просто потеряется. Ваша задача сделать так, чтобы сигнал, который Вы перекидываете между доменами имел длительность как минимум 2 периода частоты 100 Мгц. Т.е 20ns. 20ns/8,33ns = 2,4. Т.е сигнал должен иметь длительность не менее 3 такта частоты 120 Мгц. В случае, если не стоит цель сэкономить ресурсы, можно сделать схему с внутренним Handshakе, которая будет гарантированно переводить сигнал из домена А в домен Б при любых соотношениях частот. Однако придется потратить дополительные ресурсы на это.
  13. И так плохо. Где перенос сигнала cnt_rest3 из домена CLK в домен MS_CLK ? Вы неправильно сигнал переносите. 1. Сначала формируем сигнал. 2. Удлиняем его на время, чтобы его длительность была гарантированно больше чем 2 периода частоты MS_CLK 3. Переносим через синхронизатор. 4. Выделяем фронт в домене MS_CLK. PS. Источник сигнала, который Вы переносите через домен должен быть порожден регистром, а не комбинационной логикой. Поэтому в зависимости от логики удлинения сигнала возможно надо будет сигнал защелкнуть на регистре в домене CLK.
  14. Сделать можно. Работать не будет. Изучайте как работает список чувствительности в VHDL. Эта тема обсасывалась уже 100 раз на форуме. Подсказка: в VHDL список чувствительности не влияет на синтез (Qartus и Vivado). Вы описали обычную пару счетчиков. Правильно делать: 2 процесса на разных частотах. И сигнал из одного процесса переносить в другой через CDC синхронизаторы, удлинители сигнала и детекторы фронта. Совсем правильно делать: по возможности на одной частоте.