Jump to content

    

dxp

Свой
  • Content Count

    3980
  • Joined

  • Last visited

Community Reputation

0 Обычный

4 Followers

About dxp

Информация

  • Город
    Array

Recent Profile Visitors

9281 profile views
  1. Вопрос как выбор автомобиля. :) Что вы хотите делать с этой платой? Какие задачи?
  2. Это путь настоящих джедаев, я маршрут с софтовым ядром PCIe Gen3 даже не рассматриваю. Оно и с аппаратным-то блоком не просто. А тут ещё PCS свой писать надо (трансиверы не умеют в Gen3). А если покупать, то страшно подумать, сколько оно стоить может.
  3. Gen3 нету в Kintex7. Там максимум Gen2 x8. Gen3 в 7-й серии вроде есть в каком-то из старших Virtex. Трансиверы могли бы потянуть чисто по скорости - GTH там до 10 гигабит. Но в трансиверах тоже нужна поддержка Gen3 (кодирование 128/130), не помню, есть ли она в GTH 7-й серии (скорее всего нету, ибо нафиг не нужна).
  4. Можно накостылить параметризацию, например, таким способом: // params.svh //---------------------------------- package params1_pkg; localparam DATA_W = 9; ... endpackage : params1_pkg //---------------------------------- package params2_pkg; localparam DATA_W = 17; ... endpackage : params2_pkg //---------------------------------- // target.svh package slon_pkg; import `PARAMS::*; ... typedef logic [$clog2(DATA_W)-1:0] data_t; endpackage : slon_pkg //---------------------------------- //---------------------------------- // source.sv `define PARAMS params2 `include "params.svh" `include "target.svh" ... //---------------------------------- Вроде должно работать. Не проверял. Все эти финты с препроцессором, в общем, нехорошая вещь, всегда стараюсь избегать. Но в данном случае подстановка простейшая, тут поля для ошибок вроде не просматривается.
  5. Бросился в глаза стиль V95, когда сперва описывают направление портов в секции модуля (в скобках), а потом уже сами определения ниже. В первый момент удивился, но потом увидел инклюды между этими частями, и понял, что так сделано намеренно, чтобы можно было в определениях портов использовать параметры, функции, типы, описанные в заголовочных файлах. Собственно, у меня был только один вопрос: если уже активно используется SV, то почему бы тогда не засунуть все определения заголовочных файлов в пакеты, которые импортировать в "шапке" модуля: // header package automatic defs; localparam DATA_W = 8; ... typedef logic [$clog2(DATA_W)-1:0] data_t; ... endpackage : defs // source module automatic slon_m import defs::*; ( input logic clk, ... input data_t data, ... ); ... endmodule : slon_m Ответ, похоже, вы уже дали - устоявшийся стиль. Стиль - штука важная и тонкая, формируется годами, меняется тяжело, нужны серьёзные основания для этого. Вторая причина может быть в возможно худшей переносимости SV варианта, хотя современные FPGA синтезаторы такое уже вроде умеют все. Ещё обратил внимание, что в некоторых классах у функций-членов указан класс памяти automatic. Имхо, это лишнее - в классах функции-члены по умолчанию имеют автоматический класс памяти. Ну, для модулей и пакетов уже приучился сразу писать в определении один раз, чтобы в каждой функции не указывать это явно. И вот тут ещё: function automatic void init_SNR (real SNR = 0, Ps = 1, int seed = 0); this.EbNo = 1000; this.seed = seed; this.SNR = SNR; this.sigma = get_sigma(SNR, Ps); endfunction Явное указание this для членов класса тут зачем используется? Насколько помню, для членов класса this применяется неявно само по себе.
  6. ldpc_3gpp из последнего на сегодняшний день поста Относится к ранним или более поздним?
  7. Аллегру я ради интереса поднял нативно в линухе (в контейнере с centos7 под убунтой) и на той же виртуалке. Визуально скорость работы почти одинаковая (может чуть лучше "контейнерый" вариант). И она (алегра) поотзывчивее будет, чем AD. И памяти меньше жрёт. Правдоподобное объяснение.
  8. Причём тут это? На виртуалке старые версии меньше памяти жрут, чем на хостовой ОС? Или семёрка что-то тут вносит? Вы сами-то верите в эту ерунду? Я подкрутил параметры вмвари, добился, чтобы шевелилось юзабельно. Но разница в потреблении ресурсов - в данном случае памяти (её взяли потому, что это проще всего измерить) никуда не делась. Что-то же в программе эту память потребляет. 200 М и 1.2Г - разница существенная. Мне не жаль памяти, у меня толстый хост, всего хватает. Но хочется понять куда это идёт. Ситуация похожа на ту, что с браузерами. Не секрет, что современные браузеры жрут память непомерно. Несколько гигов - обычное дело. Да ещё и "текут" постоянно, это не лечится, тут только периодические перезагрузки. Причина ликов в менеджере памяти (его сборщике мусора) jvm. Но не суть. И вот вспоминаются браузеры 15-летней давности. Они тоже умели открывать страницы. Исполнять скрипты. Проигрывать мультимедию. Что реально нового умеют современные браузеры по сравнению с теми? А, да, TLS появился, секурность. Но это не требует таких ресурсов. Специалисты говорят, что такой нынче интернет, и показывают, что клик по ссылке, которая открывает страницу, приводит к созданию двух десятков (и это далеко не предел) TCP соединений. И вот зачем это? Зачем так делать? Какая необходимость? Почему 15 лет назад можно было без этого обходиться? Есть мнение, что просто никто не задумывается о деталях реализации. Главный приоритет - скорее выкинуть на рынок. "Х..як, х..як и в продакшн" - это давно уже вышло за пределы шутки и стало кредо многих IT компаний. А многие уже и просто не могут писать эффективный код, там нет специалистов, которые понимают, как работает железо, как писать эффективный код. Тяжёлая САПР печатных плат должна разрабатываться на С++ (или другом языке, дающим эффективный, быстрый код), а не на скриптовых языках. Но найти квалифицированного С++ программера намного сложнее, чем такового на C# или Java. Вот и идут по пути наименьшего сопротивления. В идеале для них, наверное, было бы вообще сделать САПР в виде веб-приложения. Но тут пока ресурсы не позволяют. Что касается конкретно AD, то мне представляется, что основной прирост потребления той же памяти всё же обусловлен переходом на новые версии фреймворков, которые там используются и отсутствие усилий по оптимизации. За скорость наверное как-то ещё борются, т.к. это критично, особенно на больших проектах, а за память - да кому это надо: не хватит 16 гигов, поставят 32, не хватит этого, тогда 64. Хосты нынче позволяют. Да, забыл в предыдущем посте добавить ещё пункт, что в AD21 скорость заливки полигонов увеличилась. Гуд. Но неужто построение 2D фигуры пусть и с непростой геометрией жрёт такой ресурс? Я не специалист, да, но вот смотрю на конструкторские САПРы, там сложные 3D объекты строят в пространстве, вращают их, трансформируют, и не видать, чтобы что-то тормозило. Если на заливке полигонов тормозит, может что-то с математикой и/или кодированием (реализацией) этого не всё в порядке?
  9. Пикад умеет то же, что и AD14? Главный вопрос темы и был про то, что такого нового умеет AD21 по сравнению с AD14, что за это приходится платить ресурсами? Пока что были озвучены варианты: AD21 лучше работает с большими проектами. AD21 умеет использовать более 3.5 гига памяти. в AD21 стало быстрее работать 3D. По богатству функционала замечаний не последовало. Из того, что я заметил, выравнивание длин стало попродвинутее - умеет не только меандры (аккордеоны), но и тромбоны.
  10. Не, не слышал такой шутки. Но это не сильно шутка, такой приём называется unroll loop, применяется для ускорения как раз. Правда, современные компиляторы сами такое уже умеют, особенно если им подсказывать. Код, конечно, раздувается.
  11. И что он такое там делает при перемещении картинки? Явно же не на перерисовку этот ресурс уходит. Когда в графическом редакторе фотки таскаешь, ничо не тормозит, а там картинки посложнее будут. Значит, тут он что-то ещё делает. Что? К тому же, старая версия ту же картинку тащит, всё летит. На том же железе.
  12. Вы про 3D или про обычную работу? Если про возню с топологией, то зачем могучий 3D движок для этого? он 32-разрядный был? А с небольшими хуже? Потому что я вот вижу обратную картину.
  13. Насчёт оперативы вечером точнее посмотрю. Настройки он какие-то подхватывал, но точно не из этих версий - там от 9-й или 10-й они были, не старше. Вы с каким сравниваете? Я с 14-м.