Jump to content

    

DimaG

Свой
  • Content Count

    296
  • Joined

  • Last visited

Community Reputation

0 Обычный

About DimaG

  • Rank
    Местный
  • Birthday 06/22/1982

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

3549 profile views
  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 так или иначе выльются в мультиплексоры. Просто заинтересовала фраза: думал, может что упустил..