Jump to content

    

des00

Модераторы
  • Content Count

    7597
  • Joined

  • Last visited

Posts posted by des00


  1. 3 minutes ago, zombi said:

    Применительно к данной задаче всё упирается только во время нахождения сигнала RD в активном состоянии

    Который и определяет частоту работы системы

    Quote

    Снижайте частоту работы вашей системы до 500КГц, тогда возможно, за 200$ можно будет сделать такой мост на лету.

    Кто-то реально тролит, даже не дочитывая ответы до конца.

    2 minutes ago, a123-flex said:

    Что, Вам не нравится троллинг ?)

    Не обращайте внимание, выполняйте правила форума))

    именно это и сделаю, отписал другому модератору что вы нарушаете правила. в этой теме у меня права как у пользователя. Спасибо за предупреждение

  2. 14 minutes ago, RobFPGA said:

    То есть за большие деньги вы реализовали мост для неизвестного MK  с непонятной  времянкой шины?  Мне кажется что вы себя недооценили надо - было просить очень большие деньги за продвинутую телепатию. А тут форум начинающих телепатов. 

    прямое подключение SDRAM к МК(без контроллера естественно) и линейную регулярную запись/чтение (не требующую refresh) видел, а вот случаный доступ не приходилось. Там очень интересное решение было, основанное на фиче SDRAM читать всю страницу целиком.

    14 minutes ago, zombi said:

    А с чего вы решили что SRAM работает на 100 МГц? Сами что-то выдумываете?

    Ну огласите параметры вашего решения. Сразу станет ясно всем переоцененным что к чему. А то реально тема троллингом начинает попахивать, прям за километр.

  3. 9 minutes ago, zombi said:

    Мне была поставлена задача именно в том виде в котором я её озвучил в своём первом первом сообщении.

    Мало того, я за неё взялся и реализовал в железе.

    Прекрасно работает. Правда пока на SDRAM.

    Думал, спрошу специалистов как бы на DDR* сделать.

    Может кто чего полезного посоветует.

    Но, как вижу, сильно переоценил способности специалистов данного форума.

    Печально.

    Огласите параметры вашего решения, поучите переоцененных. Мне очень интересно как SDRAM 133/166МГц, позволяет эмулировать работу SRAM частоты 100МГц, в режиме случайной выборки исполняемого кода.

  4. Just now, zombi said:

    А если бы Вам предложили реализовать такую задачу и ооочень хорошо заплатили.

    И все Ваши попытки изменить условие задачи не дали результата.

    Вы бы отказались по причине невозможности её решения?

    Или поступили бы как-то иначе?

    Вам уже ответили, ваша постановка задачи, в том виде, в каком вы ее ставите не реализуема. Сколько бы это не стоило. Причина - логика здравого смысла и рисование на бумажке. Снижайте частоту работы вашей системы до 500КГц, тогда возможно, за 200$ можно будет сделать такой мост на лету.

  5. 16 minutes ago, zombi said:

    И в чём здесь радикальное отличие от SDRAM?

    В контексте той задачи что вы поставили. я вам уже ответил

    Quote

    Но не суть

    Или эта тема для троллинга коллег, без предварительного изучения материала?

  6. 5 minutes ago, zombi said:

    Какая другая? почему другая? но ладно, не в этом суть.

    Потому что DDR. Любой даташит на нее

    Quote

    ACTIVE
    The ACTIVE command is used to open (or activate) a row in a particular bank for a subsequent access. The value on the BA0, BA1 inputs selects the bank, and the
    address provided on inputs A0A12 selects the row. This row remains active (or open) for accesses until a PRECHARGE command is issued to that bank. A PRECHARGE command must be issued before opening a different row in the same bank

    5 minutes ago, zombi said:

    Если забыть про DDR*.

    А с SDRAM такая реализация возможна?

    Будет все, тоже самое. Куча латентности, а если еще и чтение/запись то и на BTA (Bus Turn Around) надо будет такт накинуть.  Решение моста к ДДР через ПЛИС, на основе SRAM интерфейса с МК нецелесообразно абсолютно. Вам нужен интерфейс с wait states статическими или динамическими.

  7. 5 hours ago, zombi said:

    Вот этим последним стробом (который READ) и защёлкивать данные прямо в выходной регистр который уже давно готов и только ждёт когда-же наконец-то эти данные придут, да и шина данных плиски уже переведена в состояние выход и тоже готова к отправке.

    Последовательность команд SDRAMнамя правда, в DDR команда активации банков другая. Но не суть, это же не строб. это команда на DDR, которой нужно проскочть PHY контроллера, потом выдержать CAS LATENCY, потом добежать обратно до плис, проскочить PHY контроллера, быть положенной в промежуточное FIFO (пусть даже на регистрах) и только потом добежит до интерфейса.

    Как бы это возможно, но нужен механизм удержания МК в процессе ожидания данных для чтения/кеширования. А такого штатного механизма, у МК нет.

  8. On 9/13/2019 at 10:12 PM, another_one said:

     но как такое может быть до её прошивки???

    плис не чиста, кто-то в нее зашил уже что-то, например сборщик устройства из которого она была снята и отмыта доблестным индусом/китайцем и впарена вам

  9. Ничего не понятно, что именно вам надо? Изучить основы ООП на SV или методологии верификации AVM/OVM/UVM?

    Если первое, то начните с System Verilog for Verification, там все на пальцах разжевано. Если второе, то тут нужны соответстующие толмуды. А если третье, то поясните что именно вам нужно?

  10. 8 minutes ago, _sda said:

    Ключевое слово "перемножаются". После этого появляется синус.

    как я понял, вам предлагают посмотреть сигнал с АЦП. если пишете про большой уровень сигнала, при росте шума, может быть у вас АЦП наедается?

  11. 17 hours ago, dxp said:

     а структура - это просто агрегатный тип. Она же не пакованная.

    Единственное, гложет сомнение - может я всё-таки что-то делаю не так? Если да, поправьте.

    Есть такое, для себя я просто запомнил что структура это полноценный тип) и использую их не часто. Я предпочитаю старый стиль, пусть и писать/генерировать много больше. Зато большую часть моего кода, можно легко под чистый верилог перенести)

  12. On 9/6/2019 at 5:35 PM, dxp said:

     А когда просто внутри, например, always_ff в цикле пробежаться по массиву - фигвам. С массивами структур такой проблемы нет.

    Если для моделирования, это делается через указатели на интерфейс : виртуальные интерфейсы. К ним можно обращаться в циклах в процедурных блоках. Но, сначала надо инстанцировать интерфейсы, переназначить указатели)

    Работает ли это для синтеза, не проверял)

  13. 4 minutes ago, dxp said:

    Там есть ключик для этого. Кажется, @des00 это и имел в виду - опция "-mfcu". В одном режиме оно компилируется как отдельные единицы компиляции (как в Си - в отдельные объектные файлы), а в другом - сразу скопом весь список за раз (и при этом там получается общее пространство объектов и макрсов).

    Да, именно так. Если компилировать файлы по отдельности или потом в проекте поправить один файл при отладке и скомпилировать, квеста до 10.2с ругается на несовместимость структур. Но это в том случае, если они описаны как инклуд файлы, с пакетами не пробовал. 

  14. 37 minutes ago, dxp said:

     Да, придётся метать пару структур - на вход и на выход (если без inout). Но зато хоть какая-то параметризация. 

    и помнить про compilation unit. квеста обожает ткнуть носом в несовместимость структур, если одна и та же структура, в портах разных модулей, была скомплирована по отдельности)

  15. 17 hours ago, yaghtn said:

    Лично мне не нравится, что эти две if-конструкции выполняются параллельно, когда желательно чтобы они были взаимоисключающими.

    Как уже отметил RobFPGA тут все однозначно и по другому быть не может. В стандарте все это разобрано по полочкам.

    17 hours ago, yaghtn said:

    И ещё, блок кода 12-22 делает предположения о списке возможных состояний переменной state. Если сглючит, и state влетит в состояние отличное от sA sB, то блок перестанет работать вплоть до пересброса. Короче, я уверен что после всех case-условий нужно добавлять default..

    Ну раз вы уверены, то делайте так как вам удобнее. И повторюсь. Код абсолютно читаем, вся логика на поверхности, синтезируемость однозначная. Вы говнокода не видели.

     

  16. 10 minutes ago, Mad_kvmg said:

    MHO, говнокод получается, если выражение сложнее, чем присвоение одного оператора другому. 

    это вы говнокода не видели) когда описано непонятно что и непонятно как, с кучей кроссвязей и прочим. А тут, обычный читаемый код. Ну либо у меня инверсия сознания, этот код я пробежал глазами, понял что там написано, во что синтезируется. это заняло где то пару минут времени

  17. 38 minutes ago, nice_vladi said:

    Больше двух выражений в условных операторах if-else - нечитабельно;

    FSM на два состояния, к тому же не case, а опять же if-else - на мой взгляд криво;

    Это только на ваш взгляд, как по мне, обычный, понятный код. Вот инверсный приоритет условий тут зря, немногие это по коду видят, а так,обычное, классическое описание автомата на 2 состояния.

    Quote

    Строки 31-36 - многоэтажный assign - вообще непонятно, что там происходит.

    Ну, это все ИМХО. Каждый ...пишет как хочет. Но это ж учебник. Я по нему учить хочу, а не разгребать какую-то невнятицу в коде. Как говорил один программист "Пишите проще" =)

    Да все просто, ошибка там наборщика. точка с запятой на запятую заменена, слово assign опущено.

    ЗЫ. код довольно читаем, просто он не полный. вот и все)

    ЗЗЫ. ну либо при сканировании книги у сканера проблемы были или еще как. Я у Яника Берджерона ошибки подобные, который он признавал, так что все ошибаются)

    UPD. тут даже ошибки нет, assign можно писать один раз.

      logic  a, b, c;
      logic  d, e, f;
    
      assign a = c, b = d, c = f;

    абсолютно рабочий код). Вот, книга несет свою пользу, обучает, забыл/незнал что так тоже можно писать)

  18. 2 hours ago, nice_vladi said:

    При виде строк типа 17, 18, 32-36 вообще пропадает всякое желание читать и разгребать это всё.

    а что именно в этих строках не так? приоритет полностью прописан скобками, разночтений никаких. Что именно не нравится то?

  19. 15 hours ago, addi II said:

    Грубо говоря нужен шаг изменения длительности в 500 нс 

    И частоты

    500нс, это 2МГц. Есть же куча процев, с таймерами в режиме шим, работающими на частоте выше этой?

  20. 10 minutes ago, addi II said:

    должно хватить 5000 вентилей, мне нужно сделать 3  таймера, модулирующую логику(ШИМ с изменяемым периодом) на основе этих таймеров + последовательный интерфейс для реализации RS-485

    вы для начала сделайте. ИМХО второго макса 256 вам не хватит, на интерфейс не останется логики.

  21. 7 hours ago, StewartLittle said:

    Если нужны энергонезависимые более-менее современные ПЛИС, то некоторые из них я вам их уже назвал - MAX V и MAX 10 у Intel PSG (бывш. Altera), ispMACH4000 от Lattice. Также можно использовать MachXO2, MachXO3 от Lattice, GW1N от GoWin.

    ИМХО, ему нужны с минимальным стартовым временем и как он сам утверждает, ему хватит 256. Если есть в продаже и в наличии, то почему бы и нет. А уж потом в фоне разберется, что из современного ему зайдет.

    39 minutes ago, addi II said:

    Поэтому нету никакой документации?

    вы просто не умеете искать. моя ссылка - вторая из гугла, по словам EPM3256ATC144 Pinout