Jump to content

    

dde29

Участник
  • Content Count

    70
  • Joined

  • Last visited

Community Reputation

0 Обычный

About dde29

  • Rank
    Участник
  • Birthday 07/29/1985

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

1302 profile views
  1. Наконец-то добился того, что удалось считать записанную область CFM0, соответствующую одному образу. Полученный файл очень похож на искусственно сгенерированный файл *.rpd. Но, чтобы его сгенерировать, необходимо каждый раз указывать второй образ CFM1, хотя какое он отношение имеет с независимому от него образу в CFM0 пока не разобрался... Буду копать дальше. Попробую данный сгенерированный *.rpd записать насильно в CFM0 используя свой УАРТ и OnFlashChip, и посмотрю что получится...
  2. Да, в CFM0 хранится один образ, а в CFM1 и 2 хранится второй. Естественно, когда я зашиваю первый раз через JTAG я так и делаю - из двух SOF генерю один POF и зашиваю. Но а что делать потом) Когда уже по не JTAG, а по какому-то основному интерфейсу, в моем случае, UART необходимо передать только один образ, в каком-то формате (вопрос в каком и как его сделать!) и правильно его запилить по нужному адресу. Про то, что в CFM байты перевернуты я учту, спасибо. Посмотрю, а по поводу чтения - я сейчас как раз и пишу прошивку и софт, чтобы по основному интерфейсу хотя бы прочитать CFMы... Дело идет не очень быстро из-за большой загруженности). Но результат обязательно опубликую
  3. Либо DDS - заранее в матлабе или маткаде высчитать отчеты и забить их в в память Либо Кордиком формировать 3 частоты и при желании суммировать отчеты
  4. Всем привет! давненько меня тут не было...) В данный момент знакомлюсь с MAX 10-м. А конкретно разбираюсь как использовать одну области CFM в качестве бутлодера для перепрошивки второй области CFM. Идея, надеюсь, понятна :) реализовать возможность смены основной прошивки плис удаленно, не используя программатор... На данный момент реализовал переключение между двумя образами командой по УАРТ, читаю Status и Control Register используя OnChip Flash IP-Core и соответственно стирать определенные области памяти UFM и CFM. Осталось реализовать запись по тому же УАРТ другой основной прошивки, но не могу разобраться какой из форматов образов нужно генерить и передавать - POF, SOF или RPD??? Насколько я понял, нужно что-то откуда генерить используя различные настройки, но что именно так и не разобрался... Может кто-нить занимался данной проблемой P.S. Ниос не перевариваю...
  5. В MAX10 имеется возможность загрузки 2 конфигураций. Одну из них можно использовать как бутлодер. Копать в теме MAX10, Internal Configuration, Remote System Upgrade.
  6. Действительно, а что это за закрома такие. Если обычный люд заходит на сайт журнала, идет в архив номеров, ищет нужный и в нем содержится только лишь анонс...
  7. Я?) http://www.kit-e.ru/articles/circuit/2013_12_123.php по поводу электронного варианта - пишите в личку. Срок давности должен уже пройти.
  8. Под этой плисиной, квадратный пад есть? Скорее всего не в тему, но если он не пропаян - плисина даже не заведется... Будет работать в режиме кнопки. А не... они же вроде только в корпусе ультраБГА, тогда какой нафиг квадратный пад)... Вы БГАшну микросхему с таким количеством ног паяете одной лишь воздушной станцией???
  9. module test (input clk); reg data; initial begin force data = 1; end always_ff @ (posedge clk) data <= !data; endmodule Так тоже не проканало...
  10. Вероятно да, Но! Непонятный мне момент, если я, например моделирую считаемую CRC и мне необходимо смоделировать ошибку CRC, то есть искусственно в какой-то момент времени подсунуть левые данные с высоты тестбенча, в результате которых сумма получится неверная. Значит при использовании always с суффиксом _ff у меня это не выйдет...
  11. Это все понятно, но дайте все-таки разобраться. Если брать в расчет, что Ривьера просто до попы придирчивая к стандарту и блюдет всё и вся, и что не допускает любой конфликт параллельных процессов (даже не синтезируемых), то почему данный код Ривьера компилит без проблем: module test (input clk); reg data; initial begin data = 1; end always @ (posedge clk) data <= !data; endmodule Судя по всему дело именно в том что используется конструкция always против always_ff. Вероятно СВ более досконально блюдёт код. А Ментор со своим МоделСимом просто поклал на это...
  12. Всем привет. Начал тут осваивать симулятор Riviera-PRO и наткнулся на довольно нелепую проблему: Имеется модуль, в котором имеется присваивание сигналу в разных местах: ....... initial begin reset = 1'b1; end ....... always_ff @(posedge clk200) begin : sync_reset_reg reset <= ~lockpll; end ....... Казалось бы - бред, не может сигналу присваивать значение в параллельных процессах, НО. Стандарту это не противоречит, поэтому ModelSim/QuestaSim разрешает данную конструкцию, а синтезатор, например Quartusа, тупо не обратит на блок initial внимание, так как это не синтезируемая конструкция. А вот при запуске компиляции данного модуля Riviera выдает ошибку: ALOG: Error: VCP2675 C:/aldec/Riviera-PRO-2013.10/Projects/.../mymodule.v : (48, 1): Cannot write to a variable 'reset' that is also driven by an always_comb/always_latch/always_ff procedural block. Наверное существует некая опция команды alog, о которой я не знаю? P.S. Блок initial я используя в симуляции, для избежания в начальный момент времени неопределенного состояния сигнала Х, так как это в некоторых случаях чревато...