Search
Write a publication
Pull to refresh
294
0
Николай @nckma

Программист

Send message

30 лет назад на асме почти все так делали.

Помню писал игру теннис на Правец 8а

Там у процессора были только аккумулятор и регистры X и Y. Остальное все в памяти, все переменные. У меня координаты мяча были в двух байтах и экран текстовый.

Пока мяч летит вперед выполняем команду inc [ptr] а чтобы лететь назад меняем эту команду на dec [ptr]. Как-то так.

Это как раз туда Майкрософт и идет семимильными шагами - в облака.

Не знаю, какой чип использует автор, но я бы для такого проекта брал китайскую FPGA Gowin. Типа такого, как в плате Tang-Nano или Марсоход3GW2.

В чипе уже есть встроенная память PSRAM 8 мегабайт.

Да и HDMI вполне работает на таком чипе при невысоких разрешениях типа 1280x720.
И процессор picoRV (RISC-V) тут еже работает.

Формально вы правы.

Но в этой статье по существу исследуется только одна функция sha256_transform()

Для вычисления полного хэша надо в конце еще делать вызов функции sha256_final()

Сейчас для работы мини-дрону требуется достаточно сильное магнитное поле от электромагнитной катушки.

По видимому нужно не просто магнитное поле, но вращающееся магнитное поле. А иначе как заставить вращаться лопасти этого робота?

Смотря какая комната. Мою комнату в 15квадратов 350 ватт вполне согревают.

Да, конечно, дом не обогреть одним компьютером однозначно. А комнату обогреть можно.

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

К слову конкретно Монеро не майнится на видеокартах, майнится на CPU.

Но да, не нагружайте уж сильно сильно. Цель же не заработать, а обогреть? Заработать и обогреть это так-то разные цели. Если майнить на 90% мощности, то по температуре процессора это будет его штатный режим, а добываемое тепло получится практически "бесплатным".

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

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

С детства помню угольное отопление.

Уголь как привезут сперва нужно в сарай перенести, это два три дня тяжелой работы. В процессе переноса окажется, что часть угля слишком мелкая - пыль, а другая часть слишком крупные куски. Брали кувалду дробили. Каждый день золу из печи выгребать, печь растапливать. Помню.

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

За уголь надо платить, а стоимость электричества компенсируется намайненными монетами.

Вы можете сами провести простой эксперимент прямо сейчас и прямо дома (если у вас есть дома игровой ПК типа Ryzen).

Просто запустите майнинг Monero на ПК.

Заработать не заработаете, но обогреть бесплатно комнату сможете. В том смысле, что стоимость потраченного электричества может быть компенсирована намайнеными монетами. Я это уже считал. И это можно посчитать на whattomine.com

ПК c Ryzen 9. Хэшрейт 25К/сек, 330Вт, Стоимость электричества 7.3руб/кватчас

Получится даже капелька выгоды и много бесплатного тепла.

Без которых не будет работать всякое российское ПО типа личный кабинет налогоплательщика юр лица и прочее.

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

2) как вы определяете, что ваш проект работает? Если вы используете GAO, то надеюсь понимаете, как он работает. С помощью GAO нельзя достоверно рассматривать сигналы, которые не тактируются частотой GAO.

Компилятор всегда выбросит все, что может заранее посчитать.

Если вы напишите

wire [7:0]a; assign a=55;

wire [7:0]b; assign b=1;

wire [7:0]r; assign r=a+b;

Компилятор сразу посчитает, что r=56 и никакого сумматора в итоге не будет. Оптимизация она такая. И это правильно, так и должно быть.

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

В моём коде ошибок нет.

Я прошу прощения, но что вы называете "ошибкой"? Ошибки бывают разные же. Синтаксических ошибок нет. Логических ошибок? Честно сказать я даже не знаю, что конкретно вы пытаетесь реализовать. Если бы в начале Вашей статьи было написано "сейчас мы реализуем это, будет работать так-то", то можно было что-то понять.

По этой причине я даже не критикую содержание проекта и я даже не критикую "асинхронные схемы".

Я рассматриваю ваш проект чисто формально: написано много кода через generate/endgenerate - скомпилировалось в мало LUT - значит не работает так как было задумано.

Почему вы считаете, что есть "недоработки среды"? Компилятор делает то, что должен делать - оптимизацию. Вы можете скомпилировать свой проект в среде Quartus для альтеровского чипа и уверен будет так же.

И да, для микросхем Gowin есть opensource компилятор https://habr.com/ru/articles/808291/. И я абсолютно уверен, что он сделает то же самое - выбросит ненужную логику.

Вы предупреждения компилятора читаете?

module summatorChane (input in, output out);
Trs (,,nil0);
summator s1(nil0,nil0,in,,out1);
summator s2(nil0,out1,nil0,,out2);
summator s3(out2,nil0,nil0,,out3);

У Вас у защелки входы не подключены, а её выход используется. Вы какой сигнал ожидаете на выходе? Конечно такую логику компилятор выкинет. У него других вариантов нет.

Чтобы вводить хоть кого-то в заблуждение..

Вы прежде всего вводите в заблуждение себя. Я пытаюсь помочь Вам освободиться от иллюлюзий, но вы к сожалению даже не пытаетесь услышать, что Вам говорят.

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

Этим экспериментом я хочу показать Вам сколько реально занимает Ваш проект в ПЛИС. И видимо почти нисколько. Компилятор практически все выбросил и видимо у него были на это основания - оптимизация логики.

Это то, что я хочу вам объяснить - как работает компилятор для ПЛИС.

1
23 ...

Information

Rating
Does not participate
Date of birth
Registered
Activity