Search
Write a publication
Pull to refresh
15
0
Алексей @ClockEnable

User

Send message

Да, для многих вера и эмоции затмевают логику и здравый смысл)

Да, всё сложно...

Кстати, есть одна забавная конспирологическая теория. Конечно же серьезно её рассматривать нельзя, но ради шутки привести можно. Суть в следующем:

Как известно, стратосферный озон (О3) является продуктом воздействия солнечного излучения на атмосферный кислород (О2). То есть под действием солнечного излучения в верхних слоях атмосферы кислород превращается в озон. Так вот, конспирологи заметили, что озоновая дыра над Антарктидой увеличивается в размерах к концу августа, как раз когда в южных широтах полярная ночь. В это время солнечные лучи не попадают в атмосферу над южным полюсом, и озон не образуется. А тот озон что был в атмосфере, постепенно распадается естественным путём. В январе-феврале ситуация противоположная. Ярко светит солнце, кислород превращается в озон и дыра уменьшается в размерах. Что то подобное происходит и над Северным полюсом, но в меньших масштабах. А в широтах, в которых нет полярных ночей - озоновых дыр не возникает вовсе. Там новые порции озона формируются каждый день.

Кроме того, долгосрочные изменение (увеличение/уменьшение) размера озоновой дыры объясняются циклами солнечной активности. Активнее светит наше Солнце - больше озона образуется за лето, больше его остается в конце зимы и тем меньше дыра.

И никакие фреоны, как и прочая хозяйственная деятельность человека, не оказывают влияния на естественный процесс изменения размеров озоновых дыр.

Вот такая весёлая штуковина от конспирологов. Конечно же мы можем только посмеяться над этой теорией, ведь она имеет принципиальные и неустранимые противоречия с реальностью :)

Прочитал статью, появился вопрос. Почему озоновая дыра возникает именно над Антарктидой? Имеются ли подобные дыры над территориями Китая, США или РФ? Ведь на этих территориях заводы коптят не меньше чем над Антарктидой, выбрасывая в атмосферу много различных не самых полезных веществ. Есть ли какие-либо наблюдения?

И еще вопрос - как обстоят дела с дырой над Северным полюсом? Вроде там что-то подобное наблюдается в зимние месяцы.

Не подумайте, что я вам не верю или хочу поспорить. Просто на SV и VHDL люди пишут код уже десятилетиями. И что самое главное он работает. И тут появляется новый язык, про который утверждается, что он в 10 раз лучше. Я вот сомневаюсь, имею право)

Спорить не буду, пустое это занятие. Но пока остаюсь при своём мнении - нужны объективные количественные оценки.

Может быть удастся выбраться на очередное заседание FPGA Systems. :)

Главное, чтобы оно состоялось)

Уважаемый коллега, давайте не будем обсуждать кто какие ошибки делает, как их исправляет, и через сколько десятилетий перестает понимать свой код. Это не инженерный подход)

И еще хочу заметить, что понимание или не понимание кода - вещь субъективная, сложно её оценить. А вот Fmax - он объективен. Так что давайте в инженерной работе будем использовать линейку, а не чувство прекрасного :)

Как я написал выше - у каждого свои задачи. Но раз уж зашел разговор про передачу данных... То у меня есть MAC-ядро для 10Gig Ethernet, там тоже не самый простой протокол ;) И это даже не просто MAC-ядро, а MAC-маршрутизатор. Так вот в чем дело, меня никогда особо не интересовал объем получившегося кода. Мне важны только два параметра - Fmax и объем задействованных ресурсов (в основном bram). И даже на относительно не быстром MAX10, это ядро вполне соберется на 170 МГц причем при балансной разводке. А сколько там в итоге строк кода? Да какая разница! Мне же не за строки деньги платят)

И основная идея для меня следующая:

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

И вот какой момент, почему мне не очень нравится ООП подход для ПЛИС. Если взять классическое ООП, то оно используется там, где огромные излишки ресурсов. Например в современных ПК имеются десятки гигабайт памяти. Фактически память там очень дешевая, ею можно разбрасываться не задумываясь.

А вот в ПЛИС ситуация иная. Даже в топовых микросхемах, блочной памяти не так и много - десятки мегабит (даже не байт, а бит). Но эти микросхемы и стоят по несколько тысяч долларов. Если же брать lowcost сегмент - то бывает, что и мегабита то и нету. И здесь уже приходится экономить память, и делать всё ручками, иначе алгоритмы не влезут.

И вот эта неэкономность ресурсов в современном ООП меня и отталкивает.

В статье было совершенно справедливо замечено, что производительность труда одного человек пишущего на Chisel равняется команде из десятка крутых спецов пишущих на Verilog/VHDL

Спорить не буду, но уж очень сомнительно звучит)

Ну тут еще вопрос задач. Я сейчас занимаюсь обработкой видео в реальном времени. Например у меня есть сделанный мною оконный фильтр 5x5, работающий на проходе. Там буферы строк, ими нужно управлять, читать и писать с точностью до такта. Переключаться между буферами, добавлять дополнительные 'пустые' пиксели и строки по краям кадра. В общем продумывать каждый такт, иначе всё сломается. И всё это с учетом относительно небольшого количества блоков памяти в используемой микросхеме. Мне сложно представить, чем мне поможет ООП подход Чизела.

Но в любом случае, у каждого свои задачи, может быть под ваши Чизел и более удобен. Но как некое универсальное средство для всех задач - пока сомневаюсь.

Если в этом году буде конфа по FPGA, было бы интересно встретиться и обсудить различные подходы за рюмочкой чая)

P.S. Кстати, надо предложить проводить конференции не по субботам, а по пятницам. Мы ведь не для развлечения встречаемся, а по работе. А работать надо в будни))

У меня сложилось впечатление, что Chisel - это для соединения уже готовых модулей на верхнем уровне. То есть язык для некой интеграции уже готовых блоков. Сами же модули пишутся по-старинке, на SV или VHDL. Особенно если важно быстродействие и оптимизация по ресурсам.

Да и вообще, мне кажется несколько сомнительным использовать ООП подход для описания цифровых схем. Ведь код на ПЛИС, это именно что описание схемы, а не набор команд.

Большое спасибо за ответы!

Если я правильно понял, то Chisel и SpinalHDL - это основном для описания соединений модулей на верхнем уровне. Сами модули, например упомянутое "StreamFifoCC", используются уже готовые, вручную их не пишут. И скорей всего "StreamFifoCC" написан на SV. Если нужно что-то оптимизировать по ресурсам и быстродействию, то для этого нужно использовать классические языки описания SV и VHDL для написания модулей.

То есть Chisel не позволяет описать в одном модуле два регистра, так чтобы они тактировались разными клоками? Например, я хочу описать True Dual Port FIFO, это возможно на Чизеле или нет?

Вот для VHDL пример двух D-триггеров на разных клоках:

process(clk1, clk2)
begin

    -- 1
    if rising_edge(clk1) then
      reg1 <= in1;
    end if;

    -- 2
    if rising_edge(clk2) then
      reg2 <= in2;
    end if;

end process;

Как такое будет выглядеть на Chisel?

Каждый модуль, каждая шина и проводок Chisel — это класс. Объявляя сигналы и провода, мы используем существующие классы Chisel, а в случае с модулем создаем собственный класс my_module (первая строка) и наследуем его из класса Module в Chisel. Clock и reset мы автоматически наследуем из базового класса, поэтому дополнительно объявлять их не требуется.

Как быть, если в модуль заходят два клока? Как в этом случае описывать регистры, когда часть тактируется одним клоком, а часть другим? Возможно ли такое описать на Chisel?

Да, это многое объясняет. Если отношение доходов бюджета ко всему ВВП это примерно 1 к 5. Тогда если мы будем брать отношение госдолг/госдоход, то оно сразу вырастет в 5 раз по сравнению с госдолг/ВВП. Совсем некрасивые цифры получатся. Госдолг будет не 100%, а сразу 500%. А с учетом того, что бюджет дефицитный, то вообще всё плохо будет выглядеть.

Если такие цифры в своей отчетности любая коммерческая компания покажет, то её никто и никогда ни одной копейки не даст. Это потенциальный банкрот. Даже у многострадального Мечела отчетность лучше)

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

По пунктам 1 и 2. Это, пожалуй, общефилософские рассуждения, к ним я не готов. Да и есть риск в политику удариться - лучше не надо) Хотелось бы вести обсуждение в рамках бухгалтерии и фин отчетности.

По пункту 3 - абсолютно не согласен. Мои долги - это мои долги. Долги правительства - долги правительства. И по крайней мере в рамках ГК РФ ни я, ни Минфин по долгам друг друга ответственности не несем.

Более того, я могу владеть госдолгом РФ, и получать по нему проценты. Потому в рамках бухгалтерии нельзя смешивать личные долги и государственные (как и доходы, расходы и прочее)

-

И вопрос мой был на самом деле прост. Ведь что такое бюджет? Это бухгалтерия. Если упростить, то есть доходы, расходы и обязательства. По мне так логично сравнивать отношение обязательств к доходам именно для гос бюджета, и не примешивать к этим статьям что-то другое, чего нет в бюджете. Иначе всё это может стать похоже на некую недобросовестность.

У меня всегда возникал следующий вопрос. Почему долг правительства сравнивают с ВВП всей страны? То есть долг одного только лишь правительства сравнивается с доходами всех коммерческих организаций страны? Разве это логично? Если сравнивать долг со всем ВВП, то к правительственному долгу нужно добавить также и все долги всех остальных организаций. Или же сравнивать только долг правительства с доходами именно правительства (федерального бюджета).

Так ведь по аналогии можно сравнить мои личные долги, с доходами и зарплатами всех моих соседей по многоквартирному дому. Цифры будут красивыми, но абсолютно от реальности оторванными. И это ничего не скажет о моей кредитоспособности.

Проблема пацифистов - это полное отсутствие даже хоть какой-то внятной теории. То есть они никак не могут показать путь для реализации своих идей в реальном мире. У них есть только лозунги, по типу "раз, два, три - война уходи". Вера что всё изменится каким-то волшебным образом. Вчера было плохо, а завтра станет хорошо. А каким образом станет - на это они ответить не в состоянии.

Конечно же к таким людям никто серьезно относится не будет. Когда мальчик призывает к пацифизму - это вызывает улыбку. Но если к таком призывает мужчина - то возникает лишь недоумение.

Так я и думал - даже теоретического плана у вас нет. Был бы - написали. А так, только ребяческие лозунги.

Вы говорите "реальный мир", как будто это нечто статическое, данные нам свыше. Реальный мир куётся действиями людей. Как вы себе представляете войны в мире пацифизма? Кто их будет начинать?

Так вот какие действия должны быть предприняты, чтобы исчезло насилие? Интересна именно последовательность действий. Алгоритмы. С чего начать, как продолжить, какие могут быть трудности и так далее? Если ли у вас хоть общий план действий, применимый для реальности?

Разговоры за всё хорошее и против всего плохого - это бессмысленное сотрясание воздуха. План то какой есть?

Если без шуток, то вы и взаправду пацифист? И как вы себе представляете пацифизм, каким образом и какими действиями возможно искоренить войны и насилие в реальном мире? Или это просто благие пожелания - за всё хорошее и против всего плохого, оторванные от реальности?

Помните, как там говорили древние римляне?

"Будем отстреливаться, я дам вам парабеллум! "

Ну или что-то похожее говорили, по памяти уже и не упомню. Но суть такая, слабый не может сопротивляться сильному. Думаете, древние римляне ошибались?)

Information

Rating
Does not participate
Registered
Activity

Specialization

Embedded Software Engineer, FPGA-developer
Lead
VHDL
FPGA
Electronics Development