Jump to content

    

dxp

Свой
  • Content Count

    3658
  • Joined

  • Last visited

Community Reputation

0 Обычный

1 Follower

About dxp

  • Rank
    Adept

Информация

  • Город
    Novosibirsk

Recent Profile Visitors

8294 profile views
  1. Я сталкивался с проблемами, даже тут тему создавал по этому поводу не так давно . Там именно было, что в task были @(posedge clk) конструкции, а присваивания были блокирующими, и это приводило к проблемам из-за гонок совсем в другом месте - срабатывало на такт раньше (или позже), а происходило это из-за того, что шедулер симулятора выражения с блокирующими присваиваниями обрабатывает в начале цикла, а с неблокирующими - в конце. Очень поганенький был баг. Так в этих языках и концепция другая: поток обработки и семантика присваивания иные. И должны быть средства управления тем, во что должно трансформироваться описание с этого языка - в комбинационку или во флопы. И вот тут оно должно работать правильно, иначе это таким инструментом будет тяжело пользоваться. Оболочка, возможно так (не следил). Но синтез-то, насколько понимаю, всё же родной от Xilinx. А это-то и есть самое главное. Оболочка, кстати, в виваде - кака. В смысле тормознутости глючности. Такого тормоза, как вивадо - поискать. Даже консоль тиклевая - просто консоль - запускается на очень резвом компе несколько секунд. За аналогичная консоль той же квесты поднимается мгновенно.
  2. Посмотрел по диагонали. В туторе обратил внимание на результат кодогенерации рассматриваемого примера: always @(negedge reset_n or posedge clock_PLL) begin if (~reset_n) begin clock_50hz = 0; count = 0; end else begin if (count == 1000) begin clock_50hz = ~clock_50hz; count = 0; end else begin count = count + 1; end end end По факту always @(posedge clk) - блок, генерирующий флопы. Но присваивания внутри блока все блокирующие (источник неприятных сюрпризов). Что это? Недосмотр или некомпетентность? Сие резко подрывает доверие ко всей этой теме. Имхо, это похоже на стартап, созданный в надежде, что его заметит и купит кто-нить из крупных игроков (как обычно, ведь это основная цель подавляющего большинства стартапов). Ну, и по технике, как всегда, ещё один вопрос: как это все увязывать с имеющейся инфраструктурой, например, на этапе моделирования в симуляторах. Например, вот есть аппаратный блок, скажем, PCIe, вендор предоставляет IP ядро на HDL. Как это внедрять в этот их флоу, чтобы погонять на симуляторе? Как я понял, у них в системе симулятор не HDL, а какой-то свой, который "в 16 раз быстрее HDL симулятора". Этот вопрос относится ко всем С-подобным языкам, "убийцам" HDL.
  3. Ну, если так рассуждать, то любая схема, содержащая флопы, - FSM.
  4. Не увидел требований по приоритетам. Увидел round-robin, что означает равномерное распределение по очереди - получил доступ, отработал - в конец очереди ("карусели"). Зачем тут fsm?
  5. По вакансии. Как вяжутся: "Требуемый опыт работы: не требуется" и Минимальные требования: Практический опыт разработки RTL (ASIC/FPGA); Уверенный пользователь RTL симулятора (any vendor); Хорошее знание Verilog/SystemVerilog; ?
  6. В пору молодости работал в КБ, тоже давали "спецмолоко" за вредность тем, у кого паяльники были. Хотя там же и объясняли, что это полная лажа - молоко нужно тем, кто имеет контакт с красками, лаками, растворителями. А против свинца нужно что-то типа яблочного или виноградного сока (или вино :) ).
  7. Это вы про cross-bar "два мастера в два слейва по схеме round-robin"?
  8. Чем же он такой шикарный? Тормоз и убожество, имхо, по сравнению с той же квестой. Что вам мешает взять тот же моделсим и симулять в нём? Симулятор как таковой не привязан к синтезу и целевым ПЛИС.
  9. Действительно, очень интересный подход. Напоминает линейный шаговый двигатель. Интересно, какой линейности удалось добиться.
  10. Там полный "фарш". Но я (как обычно для себя) использовал это только в качестве отладчика - код пишу в своём любимом редакторе, собираю тоже своими инструментами. В DS-5 только создавал сессию для отладки и загружал туда бинарник (elf). Если собрано с отладочными символами, то всё культурно - исходник и кодогенерация, всё видно. Что очень круто - DS-5 показывает всю периферию Cyclone V SoC, т.е. можно конкретно посмотреть все регистры и их биты. У Xilinx с его убогим SDK таким и близко не пахнет. А там ребята изрядно поработали - для всех поддерживаемых SoC приложили эти конского размера файлики с описанием периферийных регистров. И консоль встроенная хорошо работает - не тормозит. После DS-5 SDK - просто отстой. В общем, рекомендую.
  11. Для работы в bare-metal на альтеровских СнК мне хватило DS-5 (ARM'овский пакет). Есть в закромах, там же рецепты лечения. Среда сама по себе оставила очень хорошее впечатление своей стабильностью и доведённостью до ума. Вроде как Альтера её и предлагала (подозреваю, что упомянутая вами Intel SoC FPGA Embedded Development Suite - это оно и есть, раньше было так, сейчас не слежу). Единственный вопрос - актуальность версий. Два года назад успешно пользовался v5.25, если память не изменяет.
  12. Auto deselect (i.e. when cursor moves) - вторая снизу опция в левой колонке. Я использую именно режим, когда выделение не сбрасывается при манипуляциях с мышью, оно сбрасывается либо принудительно (по Esc), либо при копировании в буфер обмена. Но вот установил эту опцию, и стало так, как, вроде, вы и хотите - выделил мышью, кликнул ЛКМ, выделение отменилось.
  13. На какую тему закипаете? Всё же логично - по Del удаляется символ. У меня ровно так же. А если хотите, чтобы удалялось выделение, то укажите вместо 'linewrap-delete-char' - 'delete-selection', у меня это действие назначено на Ctrl-Del.
  14. Внутренняя ошибка - это косяк в самом ква. Тут надо багрепорт им писать, только, зная отношение, толку скорее всего не будет (в лучшем случае отмазки). Варианты решения: почистить (удалить) продукты компиляции - директории db, db_incremental, иногда там что-то кэшируется, получаются подобные вылеты. Надежды мало, но попробовать недолго. взять другую версию квартуса.
  15. Никто никого не упрекает. Пакет развивается, и это очень хорошо. Просто есть вещи, которые очень актуальны и которых не хватает. Именно поэтому появился ваш kicadbom2spec, пусть и как сторонняя программа. Именно поэтому появился тот менеджер компонентов, тоже как сторонняя программа. Конечно, было бы куда лучше, если бы KiCad был реализован как ядро с развитым API, на базе которого сообщество бы писало плагины и расширения, тогда эти или подобные инструменты были по сути встроены в пакет, и по фичам он быстро догнал (а то и обогнал) бы коммерческие САПРы, т.к. круг разработчиков расширился бы до границ его пользователей. Но, к сожалению, этого нет и не предвидится.