Jump to content

    

DimaG

Свой
  • Content Count

    296
  • Joined

  • Last visited

Everything posted by DimaG


  1. Не всегда. Это настраивается параметрами overflow_checking / underflow_checking.
  2. На всякий случай пруф: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/stratix-10/ug-s10-memory.pdf стр. 82
  3. Еще кстати: ЕМНИП, на Стратиксе 10 для FIFO требовался ОБЯЗАТЕЛЬНЫЙ сброс, иначе они работали некорректно. Может и для вашего девайса существует аналогичное требование. А full/empty проверять надо всегда. Вне зависимости от размеров FIFO. На таких частотах моргнул - и оно уже забито :)
  4. Скорее всего некорректно работаете с флагами empty, full. Попробуйте работать с ними так: wr_en = !full && ... rd_en = !empty && ...
  5. Возможно на задачу получится посмотреть с другой стороны: информировать о невалидности БД быстро (за ваши сотни нс), а реальное обновление БД сделать позже "не торопясь"?
  6. Предлагаю изучить кинематику мясорубки и исправить согласно схеме
  7. Самый простой и объективный способ: собрать свой проект под другого производителя. Разные чипы, разное устройство, разные среди синтеза. Вы пытаетесь сравнить трудносравнимые вещи.
  8. Recommended HDL Coding Styles в Quartus Handbook возможно поможет
  9. Я бы еще добавил параллельно светодиодам оптрона обратновключенные диоды. Иначе на обратной полуволне оптроны вылетят. А вообще согласен с другими - УЗО нужно ставить.
  10. Работа по двум фронтам - удел узкоспециализированных применений (DDR), либо ошибка в проектировании. Грубо говоря, квартусу в два раза сложнее удовлетворить временные ограничения.
  11. Попробуйте для начала аккуратно переписать исходники. Вам сам же будет проще разобраться. Вот на примере таймера: module timer16bit ( input bit clk, input bit reset, input bit[15:0] capv, input bit en output bit trig ); bit[15:0] counter; always_ff @(posedge clk) begin if (reset) begin counter <= '0; trig <= '0; end else if (en) begin trig <= '0; counter <= counter + 1; if (counter == trig) begin trig <= '1; counter <= '0; end end end endmodule Далее, почитайте книжки по проектированию на HLD (От Альтеры был вроде какой-то Programming Guide, еще рекомендуют HDL chip design), стандарт языка. Сразу же активно осваивайте симуляторы Questa/Model sim, привыкайте делать тестбенчи.
  12. Я снимал так: Сначала паяльником с небольшой каплей припоя снимал большие фрагменты шариков (периодически снимая излишки с жала). Таким образом удается снять большую часть припоя. Далее, отрезаем от катушки с оплеткой небольшой кусочек (~1см). Кусочек посередине сгибаем в острый угол, туда вставляем лопатку паяльника и ей уже снимаем излишки. Меньше будет паразитный теплоотвод, меньше шанса дернуть "прихватившейся" оплеткой и оторвать пятак. Таким образом удалось практически идеально зачистить посадочное место на печатной плате (~20 слоев) не используя нижний подогрев. Правда мощным индукционным паяльником.
  13. Да, я понимаю, что tristate внутри FPGA так или иначе выльются в мультиплексоры. Просто заинтересовала фраза: думал, может что упустил..
  14. Подскажите, о какой ПЛИС идет речь? Насколько я знаю, tristate buf обычно только в IO пинах есть. Те реализовать мультиплексор на tristate buf внутри FPGA в принципе нельзя..
  15. А мне эта книжка понравилась "Static Timing Analysis for Nanometer Designs A Practical Approach". Немного избыточна для плисоводов, но читается интересно. На втором месте для меня "Constraining Designs for Synthesis and Timing Analysis" - тоже достаточно неплохая книжка. Ну и нельзя не отметить приведенный выше труд des00 - "TimeQuest для чайников" для быстрого вхождения в тему (правда без особого разжевывания).
  16. Выберите вкладку IP Components и щелкните по мегафункции там.
  17. Еще в качестве идеи: где-то закоротка на плате. Когда FPGA проинициализирована и пытается что-то вывести на пины - возникает КЗ и сброс. Хотя конечно в таком случае бы VCCIO бы проседало, но мало ли..
  18. Глупое предположение: а может источник 1в1 барахлит?
  19. Неоднократно нарывался на падения фиттера (Q15..Q16 под Linux). Помогали только шаманские танцы с бубном - максимальное упрощение проекта и постепенное включение его частей до начала падения при сборке. Результирующие причины были разные - сложные для него конструкции на SV, пины без Location Assigment, либо с неправильным Location Assigment.
  20. Поддержу идею заранее раскинуть езернет по квартире. Сам при ремонте сделал по два кабеля на комнату. Сходятся они в коридор, там стоит сервачок раздающий адреса, качалки, VPN и тд. В иные дни в диапазоне WiFi не протолкнуться, что никак не сказывается на работе IP TV, стационарных компов, принтера. Насчет автоматизации квартиры - подумайте, нужно ли. Мне проще встать и закрыть шторы / выключить свет, чем искать пульт от всего этого хозяйства (или запускать приложение на смартфоне). Иное дело - частный дом, там видимой необходимости больше. Да и то в другой сфере - ОПС, видеонаблюдение, температурный режим и вентиляция.