Jump to content

    

dde29

Участник
  • Content Count

    73
  • Joined

  • Last visited

Community Reputation

0 Обычный

About dde29

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

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

1343 profile views
  1. В общем, ситуация следующая: В древнем, как гамно мамонта, Ква9.0 не работает ни системная функция $clog2() ни функция. Скомпилировал в 15.1 - удачен и первый и второй вариант! Спасибо за советы!
  2. Спасибо! Попробую модифицировать функцию с проверкой на <0... А про встроенный $clog2() не знал... я на СВ недавно пересел... Error (10174): Verilog HDL Unsupported Feature error at WidthParamProblem.sv(21): system function "$clog2" is not supported for synthesis Может потому что у меня Ква 9.0 ? ))))) Я сторонник того - если работает - нафиг что-то менять и куда-то перелазить)
  3. Здравствуйте, форумчане. У меня на редкость нелепая проблема: Я, что называется, "на бильярдном столе яму с г*вном нашел и в ней утонул" (с) Жмурки. Короче, решил я параметризировать один свой модуль, а именно, автоматическое вычисление ширины регистра от максимального значения счетчика. Вот мой код: module WidthParamProblem ( inclk, led ); /// PARAMETERS /// parameter int counter = 8; /// FUNCTIONS /// function automatic int clogb2 (input int number); int calc; begin for (int i = 0; 2**i < number; i++) calc = i + 1; clogb2 = (number == 0) ? 0 : (number == 1) ? 1 : calc; end endfunction /// PORTS /// input inclk; output logic [clogb2(counter):0] led = '0; /// BODY /// always_ff @ (posedge inclk) led <= led + 1'b1; endmodule В итоге модуль не компилируется, как бы я не приседал ромбиком... Квартус выдает следующую ошибку: Error (10140): Verilog HDL error at WidthParamProblem.sv(20): range index is not constant Понятно, что он имеет в виду, типа чтобы размер регистра должен быть константой - ну это понятно. Но разве - у меня не константа?? Да, она вычисляется по функции, но это же значение вычисляется в самом начале компиляции и не меняется в дальнейшем... Подскажите, как можно исправить данную проблему и починить, данный параметризируемый модуль... Спасибо! В догонку: в симуляторе все работает на ура...
  4. Наконец-то добился того, что удалось считать записанную область CFM0, соответствующую одному образу. Полученный файл очень похож на искусственно сгенерированный файл *.rpd. Но, чтобы его сгенерировать, необходимо каждый раз указывать второй образ CFM1, хотя какое он отношение имеет с независимому от него образу в CFM0 пока не разобрался... Буду копать дальше. Попробую данный сгенерированный *.rpd записать насильно в CFM0 используя свой УАРТ и OnFlashChip, и посмотрю что получится...
  5. Да, в CFM0 хранится один образ, а в CFM1 и 2 хранится второй. Естественно, когда я зашиваю первый раз через JTAG я так и делаю - из двух SOF генерю один POF и зашиваю. Но а что делать потом) Когда уже по не JTAG, а по какому-то основному интерфейсу, в моем случае, UART необходимо передать только один образ, в каком-то формате (вопрос в каком и как его сделать!) и правильно его запилить по нужному адресу. Про то, что в CFM байты перевернуты я учту, спасибо. Посмотрю, а по поводу чтения - я сейчас как раз и пишу прошивку и софт, чтобы по основному интерфейсу хотя бы прочитать CFMы... Дело идет не очень быстро из-за большой загруженности). Но результат обязательно опубликую
  6. Либо DDS - заранее в матлабе или маткаде высчитать отчеты и забить их в в память Либо Кордиком формировать 3 частоты и при желании суммировать отчеты
  7. Всем привет! давненько меня тут не было...) В данный момент знакомлюсь с MAX 10-м. А конкретно разбираюсь как использовать одну области CFM в качестве бутлодера для перепрошивки второй области CFM. Идея, надеюсь, понятна :) реализовать возможность смены основной прошивки плис удаленно, не используя программатор... На данный момент реализовал переключение между двумя образами командой по УАРТ, читаю Status и Control Register используя OnChip Flash IP-Core и соответственно стирать определенные области памяти UFM и CFM. Осталось реализовать запись по тому же УАРТ другой основной прошивки, но не могу разобраться какой из форматов образов нужно генерить и передавать - POF, SOF или RPD??? Насколько я понял, нужно что-то откуда генерить используя различные настройки, но что именно так и не разобрался... Может кто-нить занимался данной проблемой P.S. Ниос не перевариваю...
  8. В MAX10 имеется возможность загрузки 2 конфигураций. Одну из них можно использовать как бутлодер. Копать в теме MAX10, Internal Configuration, Remote System Upgrade.
  9. Действительно, а что это за закрома такие. Если обычный люд заходит на сайт журнала, идет в архив номеров, ищет нужный и в нем содержится только лишь анонс...
  10. Я?) http://www.kit-e.ru/articles/circuit/2013_12_123.php по поводу электронного варианта - пишите в личку. Срок давности должен уже пройти.
  11. Под этой плисиной, квадратный пад есть? Скорее всего не в тему, но если он не пропаян - плисина даже не заведется... Будет работать в режиме кнопки. А не... они же вроде только в корпусе ультраБГА, тогда какой нафиг квадратный пад)... Вы БГАшну микросхему с таким количеством ног паяете одной лишь воздушной станцией???
  12. module test (input clk); reg data; initial begin force data = 1; end always_ff @ (posedge clk) data <= !data; endmodule Так тоже не проканало...