Jump to content

    

Bad0512

Свой
  • Content Count

    836
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Bad0512

  • Rank
    Знающий
  • Birthday 12/05/1972

Контакты

  • MSN
    jurybadulin@hotmail.com
  • Сайт
    http://
  • ICQ
    125433211

Информация

  • Город
    Томск

Recent Profile Visitors

3834 profile views
  1. Флаг пустоты работает как надо, но он показывает состояние на текущий такт. На следующий такт ситуация может поменяться и это необходимо учитывать. Полезно также мониторить флаги underflow и overflow.
  2. У фифошек от Xilinx есть дополнительный флаг valid. Он гарантирует что вы читаете не из пустой фифошки. Я обычно разделяю логику запросов (fifo_rd = ~fifo_empty в самом простом случае) и логику записи из фифошки в следующий регистр (reg_we = fifo_valid). Таким образом, при попытке прочитать из пустой фифошки флаг валидности не будет выставлен. Будет нарушено количество чтений, но не целостность данных. Кроме того, данная схема позволяет не заморачиваться вопросом через сколько тактов после запроса на чтение на выходе появятся данные ( а тут могут быть разные варианты ) - всё регулируется флажком валидности. И ещё. Если вы защелкиваете флаг пустого фифо и из этого формируете строб чтения - так делать нельзя. Рано или поздно наступите на грабли чтения из пустого фифо. Можно только на комбинаторике fifo_rd = ~fifo_empty & _еще_какое_то_условие_если_это_нужно_;
  3. Добавлю немного в тему вопроса. Иногда бывают случаи, когда разные инстансы модуля после синтеза используют одни и те же низкоуровневые примитивы (так, например, часто бывает с блочной памятью). Из-за этого может возникатиь путаница в голове, однако это не баг, а особенности синтеза.
  4. Я уже точно не помню где какой порядок - у разных производителей может быть по-разному. Просто поменяйте на обратный, программисту на 5 минут работы тут.
  5. Причин может быть много, например : 1. Ноги, определяющие режим загрузки, выставлены неверно. Не знаю как у воронежа, у Xilinx подобный режим называется slave serial. 2. Как уже говорили, порядок бит в байте у вас неверный. Проще поменять порядок и проверить чем гадать правильно или нет. 3. Начинаете дергать клоком до того, как нога Status встала в единицу. 4. Где-то в памяти МК у вас битстрим немного бьётся, как результат - не проходит проверка CRC. и так далее...
  6. Неизбежный дребезг как побеждать будете в этом случае?
  7. Без перехода на внутренний клок получится унылое асинхронное говнище, которое будет нестабильно работать из-за дребезга и периодически залипать наглухо по причине того, что клок SCK присутствует только в момент передачи данных, а паузах может и вообще отсутствовать.
  8. на передачу вообще на любой почти частоте можно сделать легко. Тут речь идёт за slave, то есть надо сделать приёмник, соответственно надо переложить всё на внутренний клок заведомо более быстрый (ну хотя бы в 3 раза быстрее) чтобы не потерять фронты.
  9. Вот тут уже включаем голову и применяем системный подход. После беглого анализа понимаем что 90МГц SPI и дохленький чип ПЛИС как-то между собой не коррелируют. И решаем либо частоту SPI понизить, либо решить проблему сменой ПЛИС (дохленький цинк с аппаратной поддрежкой SPI в PS вполне прокатит, кстати). P.S. А по поводу "не используют" скажу так. Эти люди иногда такое унылое говно используют, что становится страшно за будущее нашей оборонки. Из примеров - преобразователь электрика-оптика-электрика на скорости до 100 мегабит на цинке 7030. Как вам такое, Илон Маск?
  10. нарезал бы всё внутренним 400 МГц клоком и жил бы припеваючи. :))
  11. Ольга, вы очевидно в HR службе трудитесь? Требования у вас, мягко говоря, странные. Судя по тому что вы хотите от соискателя - тут микс из 4-5 разных профессий. И при этом всего 120к до уплаты налогов? Ну то есть реально 120к * 0.87 = 104400. За еду практически получается... Для дефолтсити это как минимум несерьёзно. Либо денег надо платить раза в два больше (человек, который уверенно владеет всем, что вы перечислили, реально стОит на рынке таких денег), либо требования снижать.
  12. Думаю дело тут не в дешевизне инженеров (подозреваю, что в Индии или Китая они также не дорогие). Дело в качестве полученного продукта. Задачи бывают разные. Есть задачи типа "сделайте мне по-быстрому реализацию вот этого хитрого алгоритма, надо понять как это будет работать в реальном времени, пофиг на деньги и ресурс - это испытательный стенд". Тут Матлаб и десяток студентов очень даже в тему. А есть задачи типа "реализуйте вот этот вот известный алгоритм, надо сделать всё на 10% дешевле чем у конкурентов". Тут уже визарды не прокаттят, надо думать, оптимизировать, ускорять. Без нормального HDL описания сделать это ой как проблематично.
  13. Насколько я понял, Альтиум может принимать аллегровские файлы только если они в ASCII формате. В противном случае (файлы в бинарном формате) для импорта ему необходимо указать путь на установленную Аллегру. Он там берёт какие-то файлы (может дллки, хз.).
  14. Неправильно. Синтезатор может быть сторонний. Пример - Sinplify, менторовский синтезатор и другие. Процессы Map , Place & Route - всегда от вендора чипа, связано с некоторыми коммерческими секретами архитектуры. Есть даже производители ПЛИС, у которых вообще нет своего синтезатора.