Можно собрать чем угодно динамическую библиотеку, а в ТСС собирать только вызовы функций из неё, оверхэд копеечный по сравнению с выигрышем от нормальной оптимизации, особенно на чём нибудь большом, типа того же ффмпега.
Colorlight 5A-75E на алиэкспрессе вполне находится, но да, переиспользование спец. плат не всегда подходит, у тех же контроллеров светодиодных табло буферы хоть и двунаправленные, направление обычно гвоздями прибито на выход.
а за 35$ для экспериментов вместо вышеупомянутого абсолютно голого циклона можно взять X930613, с pcie, 4GB памяти, двумя 40GbE, в 100 раз более жирным стратиксом с несколькими мегабайтами набортной памяти и 1.6к dsp блоков.
fpga для этого не особо нужна, в любой грубо говоря микроволновке для опроса кнопок и отображения часов процессорной мощности сейчас гораздо больше чем надо на вышеперечисленное.
дум на 1$ rp2040 запускается, для эмуляции древних z80 или 6502 дури тем более хватит. И это несчасный cortexM0, а там армов с циферками побольше в названии и всяких риск5 полно.
в цинке fpga часть не конфигурируется отдельно, а процессором, который в свою очередь может и без отдельного jtag адаптера сам загружаться из sd или даже по usb. Так что отдельный программатор не сказать, что прям необходим.
поморгать светодиодом или даже на hdmi картинку вывести можно каким-нибудь tang nano гораздо дешевле чем 35$
а помимо майнеров есть ещё контроллеры светодиодных табло + ft2232h в качестве программатора https://github.com/q3k/chubby75 без АРМа, но с двумя езернетами.
Заблокировать исполнение основного потока через Atomics.wait, чтобы подождать выполнения асинхронной функции и тем самым превратить её в синхронную, потому что wasm про асинхронный яваскрипт ничего не знает и для вызова асинхронных функций из wasm нужны вот такие замечательные костыли :)
при низком заполнении, например на 1/256, ничем не будет отличаться от pwm, 1 такт из 256 будет включен, но вот около середины шкалы pwm будет включаться 127/127, а сигма-дельта 1/1, на в 127 раз большей частоте. так что мерцания в среднем будет меньше.
собственно реализация простого ФНЧ фильтра выглядит как: Y += (X-Y)*K;
при желании более высоких порядков можно просто дальше каскадировать, даже не пересчитывая коэффициенты в отдельные a[],b[], Z += (Y-Z)*K;
ну и ug908, appendix E вроде описывает как средствами самого vivado вправить еепром любому из ft[_,2,4]232H.
https://electronix.ru/forum/topic/127033-usb-programmator-na-ft2232h-quotdigilent-jtag-hs2quot-dlya-xilinx-i-programmator-quotmbftdiquot-dlya-altera/
какие-то дампы еепромов там есть
Можно собрать чем угодно динамическую библиотеку, а в ТСС собирать только вызовы функций из неё, оверхэд копеечный по сравнению с выигрышем от нормальной оптимизации, особенно на чём нибудь большом, типа того же ффмпега.
да
он же DX1C5
Colorlight 5A-75E на алиэкспрессе вполне находится, но да, переиспользование спец. плат не всегда подходит, у тех же контроллеров светодиодных табло буферы хоть и двунаправленные, направление обычно гвоздями прибито на выход.
а за 35$ для экспериментов вместо вышеупомянутого абсолютно голого циклона можно взять X930613, с pcie, 4GB памяти, двумя 40GbE, в 100 раз более жирным стратиксом с несколькими мегабайтами набортной памяти и 1.6к dsp блоков.
fpga для этого не особо нужна, в любой грубо говоря микроволновке для опроса кнопок и отображения часов процессорной мощности сейчас гораздо больше чем надо на вышеперечисленное.
дум на 1$ rp2040 запускается, для эмуляции древних z80 или 6502 дури тем более хватит. И это несчасный cortexM0, а там армов с циферками побольше в названии и всяких риск5 полно.
X930613
ну не совсем таких же недорогих, но по соотношению цены/LE даже пожалуй получше
в цинке fpga часть не конфигурируется отдельно, а процессором, который в свою очередь может и без отдельного jtag адаптера сам загружаться из sd или даже по usb. Так что отдельный программатор не сказать, что прям необходим.
поморгать светодиодом или даже на hdmi картинку вывести можно каким-нибудь tang nano гораздо дешевле чем 35$
а помимо майнеров есть ещё контроллеры светодиодных табло + ft2232h в качестве программатора https://github.com/q3k/chubby75 без АРМа, но с двумя езернетами.
декомпрессор xz (https://github.com/tukaani-project/xz-embedded) собранный wasm - 6373 байта.
при том руками оптимизированный на асм для х86 там вообще в меньше кБ, так что есть куда расти.
а жать он должен получше webp.
у различных dsp ассемблер часто "алгебраический", https://github.com/sualk/ghidra-blackfin
http://web.archive.org/web/19961228090028/https://www.terse.com/
очень странное решение, не понятно кто мешал эти мультиплексоры шин команд не на ядрах, а на банках памяти ставить, чтобы все ядра могли работать.
На этот случай есть ещё более замечательные костыли из перехвата serviceworkerом синхронного xmlhttprequest
Заблокировать исполнение основного потока через Atomics.wait, чтобы подождать выполнения асинхронной функции и тем самым превратить её в синхронную, потому что wasm про асинхронный яваскрипт ничего не знает и для вызова асинхронных функций из wasm нужны вот такие замечательные костыли :)
любые аудио ЦАПы с выходом класса D, правда там не совсем spi обычно
https://www.ti.com/audio-ic/converters/dac/products.html#89=Class-D&sort=1130;asc&
частота постоянная, но всегда меньше или в лучшем случае такая же, по краям шкалы.
чем именно отличается 8ми битный шим с заполением 1/256 от сигма-дельта модуляции с заполнением 1/256?
https://www.fpga4fun.com/PWM_DAC_2.html
а у pwm не стремится?
это не так.
при низком заполнении, например на 1/256, ничем не будет отличаться от pwm, 1 такт из 256 будет включен, но вот около середины шкалы pwm будет включаться 127/127, а сигма-дельта 1/1, на в 127 раз большей частоте. так что мерцания в среднем будет меньше.