Комментарии 19
Михаил, так какая получилась максимальная частота на вашей ПЛИС и для операнда какого размера ?
Можем ли мы сказать,что для АЛУ разрядностью N потребуется (N+2) такта, а значит частота работы вычислительного ядра будет M = Fmax/(N+2) ?
ну на 250 МГц для 10000 разрядных операндов на первом спидгрейде оно по таймингам сошлось.
Производительность будет M = Fmax/(N+3) кажется
вообще прикол в том, што не обязательно делать piso и sipo, можно просто брать по ширине данных акси транзакций, скажем в 256 бит с какого нить писиая и вычислять просто с помощью fulladder, которых реализовать можно просто огромное количество. В общем этакий полносумматорный фпга брутфорс. Пока концепт я не продумал до конца xD
А в целом надо будет попробовать сделать полноценное умножение операндов на одном fulladder и посмотреть што получится. Может реализация цос для аудио на частотах 40-50кГц вполне сможет существовать в такой парадигме
Ну, самый простой ЦОС алгоритм для аудио это микширование двух сигналов - по сути просто сложение. Так что можно сказать что это уже работает.
Очень интересно какая будет Fmax у блока умножения 256 битных операндов. И сколько ресурсов ПЛИС потребит такой блок. Вообще, идея простейших однобитных процессоров она вполе себе существует и имеет применение.
Вообще, идея простейших однобитных процессоров она вполе себе существует и имеет применение.
О, спасибо, не знал о существовании такой штуки
Зачем цикл for для переворота? Разве нельзя просто
assign oq[C_WIDTH-1:0] = q[0:C_WIDTH-1] ?
там чет постоянно какие то ошибки вылазили, не стал сильно разбираться и сделал как обычно в виде генерейта

Зачем цикл for для переворота? Разве нельзя просто
assign oq[C_WIDTH-1:0] = q[0:C_WIDTH-1] ?
А вот нельзя(vivado, modelsim), хотя и контринтуитивно, и лениво писать/читать for.
Видимо "защита от дурака", т.к. вероятность что по ошибке перепутали направление индексации выше, чем необходимость разворота бит.
Так можно(хотя и малополезно):
logic [3:0] q;
logic [0:3] oq;
assign oq = q;
Или, если угодно:
assign oq[0:3] = q[3:0];
Modelsim ругается понятнее, чем vivado:
logic [3:0] q, oq;
assign oq = q[0:3];
(vlog-3373) Range of part-select [0:3] into 'q' [3:0] is reversed.
Сброс для ардуинщиков и асик дизайнеров, поэтому делать мы его не будем.
Я протестую! Даёшь человекам полный контроль над проектируемой схемой!
не знаю што и сказать, поэтому вот, выберите тот который понравится
Ладно, берите управление, но если схема начнёт петь вам колыбельные ночью – это уже ваши проблемы!
Хорошо, я согласен. Но помните, что теперь все сбои будут записаны на ваше имя.
Сдаюсь, контролируйте схему, но не забудьте включить режим "не будить до обеда".
Ну что ж, держитесь крепче за штурвал! Надеюсь, у вас есть запасной план на случай, если схема решит взять выходной.
Окей, окей, только учтите, что схема может начать требовать повышения зарплаты.
Договорились, но если схема начнет устраивать забастовки, я не виноват.
Пусть будет так, но предупреждаю: схема может решить, что ей нужен отпуск.
Хорошо, но если схема вдруг решит устроить себе день рождения каждый месяц – это ваша забота.
Ладно, вы победили. Но если схема внезапно решит стать художником, готовьтесь к сюрпризу.
Всё, всё, беру свои слова обратно. Только помните, что теперь вся ответственность лежит на вас!
Так-то сброс конвейеру и не нужен, а то и вреден - за определённое количество тактов пайплан и сам прочистится, а ресеты, даже обконстрейненные, это ж разводить надо. Но если такие сбросы со всего проекта вытягивать в управление, то потом появляется фантастический инструмент для ловли или, наоборот, инициации, всяких глюков. Иногда можно потыкав в кнопочки в ПО без встраивания всякого дебага аналитически локализовать, а то и точно указать где сбоит. Правда это работает если с проектом хорошо знаком и эти самые ресеты по пути к кнопочкам в ПО никакой деятель не порезал в одну опцию "обобщенный ресет Васи Пупкина")
"На" в заголовке лишнее
отвергаешь, предлагай
SEC-Сумматор с SIPOPISO ∀ количествa бит. Собственно, это и было предложение. Ну и раз уж я начал душнить, то сумматор тоже с маленькой буквы после дефиса надо
я вообще не понимаю ваш настрой и почему вы так серьезно относитесь к этому творению, это же просто полный сумматор?! Это же чистый стеб от начала и до конца: не могу поверить што никто не написал "аххаха" и не угарнул с тайтла: СЕКСуматор и сипописо (которое можно переделать в сосиписос)".
как я уже говорил в чатике, просто надо смириться с наличием душнил без статей на хабре
Вы не хотите сделать пример с синусом или косинусом?
SEC-Сумматор с SIPOPISO на ∀ количество бит