Jump to content

    

Nick_K

Свой
  • Content Count

    287
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Nick_K

  • Rank
    Местный
  • Birthday 08/31/1988

Контакты

  • Сайт
    http://
  • ICQ
    195151511

Информация

  • Город
    Украина :)

Recent Profile Visitors

1406 profile views
  1. На Верилоге чистом очень проблемно, я и не спорю. На SystemVerilog: logic [l-1 : 0] s_v; always_comb begin s_v = '0; foreach(s[i]) s_v += {s[i]}; end
  2. У Вас нет референсной частоты. От слова совсем. то что там какая-то частота идёт на DDR - это её проблемы. Каждый проект обязан иметь клоковую частоту. Она обычно генерируется внешним генератором и заходит на порт clock - это будет Ваша опорная частота. Дальше её очень желательно пропустить через PLL/DCM/MMCM и сгенерировать внутренний клоковый сигнал (пусть и такой же частоты) а потом этот клок заводить на процессор, периферию и т.д. У Вас на схеме сигнал, заходящий на порт Clk МикроБлейза не сформирован нигде. Вот и проблемы вылазят. UPD Приаттачил картинку примера Микроблейза. Красным обведён недостающий базовый блок.
  3. Ну варнинги и что? Не на все варнинги нужно обращать внимание - это первое. Второе: можно заигнорировать некоторые варнинги и делов. Я перфекционист, но не настолько, чтобы усложнять себе жизнь ненужными конструкциями или лишней избыточностью кода только "чтобы небыло варнингов". В противном случае - пишите на VHDL, там так же будет писанины и минимум варнингов
  4. А откуда берётся Клок на схеме? Клоковый net есть, но никакого генератора или даже напрямую с порта ничего не приходит. Что-то не то. UPD По поводу полярности ресетов - не переживайте. Если написано ARESETN значит он инверсный, а отсутствие кружочка - это просто визард так сконфигурирован. А вот, кстати, порт ARESETN блока AXI Interconnect лучше ресетить с порта interconnect_aresetn блока Processor System Reset, в то время, как остальные ресеты подключены правильно.
  5. Так если у Вас этих "каждых" много - возьмите и объедините все под одним AXI портом. Я недавно наткнулся на подобные грабли (только с другой стороны). Для оптимизации по коду и интерфейсам, можно всё слепить в один порт. А вот на уровне синтеза профита всё равно особого не будет (и если уменьшать диапазон, тогда ещё и проблемы начаться могут на верхнем уровне).
  6. Мне чисто из любопытства: а почему, по-вашему, арифметика на VHDL "проще и надёжнее"? Я просто после 5+ лет на VHDL могу сказать наоборот: в SV проще делать любую арифметику (в часности не критичную к размерностям), а на VHDL идеально продумана работа с логикой и размерностями. Чего только стоит простейшая и в то же время очень мощная конструкция объявления сигналов по длинне другого (возможно реконфигурируемого) сигнала: signal ram_data_out : std_logic_vector(ram_data_in'range) := (others => '0'); увы, на SystemVerilog увы можно сделать только так: logic [$bits(ram_data_in) - 1 : 0] ram_data_out;
  7. Так там и не долбно быть схожего - в том же и суть переконфигурации. У Вас должно быть на кристалле размежено только одинаковая область для переконфигурирования и одинаковые входные порты на неё и всё. Далее создаётся 2 блэкбокса в эту область и арбитром решается какая именно конфигурация в какой момент времени будет там залита.
  8. Я дико извиняюсь. Технология называется Partial Reconfiguration. Смотреть вот сюда: UG 909 Реконфигурировать можно хоть всю ПЛИС, главное правильно написать модули. Ну там идея в реконфигурации схожих областей в зависимости от нужд. Правда нигде провеличину этих областей не сказано. И да, там требуется полная лицензия ;)
  9. Конечно я пальцем в небо может ткну (тем более давать совет Вам...) Но может поможет прописать в дерективы нужные подключения? Кажется от Вас эта ссылка и приехала: https://www.csee.umbc.edu/portal/help/VHDL/verilog/compiler.html А вообще, насколько я понимаю, то при использивании партишинов, происходят очень "дикие" relations. Особенно когда объявляется black box. Вот оно и вылазит через... вылазит вобщем
  10. Простите, что не помещается? Из того что я читал (увы на практике не использовал) Partition'ы могут быть размером с ПЛИС кристал, просто хранятся в одной прошивке. Хотя если я ошибаюсь, тогда жаль.
  11. А разве Virtex не единственная серия, которая может нести на борту ПЗУ для прошивки? Или я что-то путаю? Второй момент - да, загонять бит файл можно сколько угодно раз, но вот справится ли с этим внешняя "флеш" - это вопрос. И третье, почему проект перезагоняет постоянно прошивку? Возможно есть вариант сделать partition'ы и не перезаливать всю ПЛИС. Это же лигнее время концигурации, установки стабильной частоты и т.д.
  12. Ну эт не моя, а "повёлся на рекламу") А вообще спасибо, буду двигать-изучать. Ведь чем дальше закапиваешься, тем интереснее становится. Хотя и вероятность наступить на грабли побольше всё чаще
  13. С этими зверьми ознакомится, конечно, не мешало бы. Но хочется побольше узнать про технологии работы DDR, DSP, клоковых генераторов. Да и разные протоколы от jesd и usb до PCI и Ethernet хотелось бы освоить.
  14. Хэх) Уже прочитана от корки до корки и стала моей настольной книгой! Это вот как раз шедевр из шедевров. Хочется же развиваться дальше. Особенно в области практического (читай хардвар реализации) применения.
  15. Ну Ниос всё же требует ресурсов. Смотря на задачу и в порезанном варианте можно запустить - хватит ли для требуемой задачи, вот вопрос. А Авалон то что? Это грубо говоря протокол синхронизации передачи данных. Не просто данные и разрешение, а как положено с хэндшейками и т.д.