ZYNQ Training
Mohammadsadegh Sadri
Пока не смотрел, но говорят, что этот мужик неплохие видео по ZYNQ делает. Должно быть полезно при освоении платформы с нуля.
https://www.youtube.com/user/mamsadegh2
#fpga #xilinx #zynq #course
Mohammadsadegh Sadri
Пока не смотрел, но говорят, что этот мужик неплохие видео по ZYNQ делает. Должно быть полезно при освоении платформы с нуля.
https://www.youtube.com/user/mamsadegh2
#fpga #xilinx #zynq #course
YouTube
Mohammad S. Sadri
Through this youtube channel, I try to transfer my knowledge regarding designing embedded systems with FPGAs to other people. My main focus for this is the Xilinx ZYNQ device.
DSP Starter Pack
Мини-подборка материалов более-менее оптимальных по сложности, наглядности и практической направленности.
Без паники! Цифровая обработка сигналов
Юкио Сато
Несложно и наглядно. Перевод с японского.
Цифровая обработка сигналов. Практическое руководство для инженеров и научных работников
Смит С.
The Scientist and Engineer's Guide to Digital Signal Processing
Steven W. Smith
http://www.dspguide.com/
Обширный разбор тем на понятном английском и с примерами на BASIC. Плюс перевод на русский.
Цифровая обработка сигналов на Python
Аллен Б. Дауни
Think DSP
Allen B. Downey
https://greenteapress.com/wp/think-dsp/
Практическая направленность с подходом сверху-вниз - от программирования к математике
Курс лекций «Основы цифровой обработки сигналов»
Александр Капитанов
https://github.com/capitanov/dsp-theory
Наглядно и интерактивно за счёт Jupyter Notebook
Посты автора по dsp и fpga на хабре:
https://habr.com/ru/users/capitanov/posts/
#dsp #book #course
Мини-подборка материалов более-менее оптимальных по сложности, наглядности и практической направленности.
Без паники! Цифровая обработка сигналов
Юкио Сато
Несложно и наглядно. Перевод с японского.
Цифровая обработка сигналов. Практическое руководство для инженеров и научных работников
Смит С.
The Scientist and Engineer's Guide to Digital Signal Processing
Steven W. Smith
http://www.dspguide.com/
Обширный разбор тем на понятном английском и с примерами на BASIC. Плюс перевод на русский.
Цифровая обработка сигналов на Python
Аллен Б. Дауни
Think DSP
Allen B. Downey
https://greenteapress.com/wp/think-dsp/
Практическая направленность с подходом сверху-вниз - от программирования к математике
Курс лекций «Основы цифровой обработки сигналов»
Александр Капитанов
https://github.com/capitanov/dsp-theory
Наглядно и интерактивно за счёт Jupyter Notebook
Посты автора по dsp и fpga на хабре:
https://habr.com/ru/users/capitanov/posts/
#dsp #book #course
Наконец-то дождался появления бьютифаера для SystemVerilog!
Verible: SystemVerilog parser, style-linter, and formatter
https://github.com/google/verible
#system_veriog #formatter
Verible: SystemVerilog parser, style-linter, and formatter
https://github.com/google/verible
#system_veriog #formatter
GitHub
GitHub - chipsalliance/verible: Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, formatter…
Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, formatter and language server - GitHub - chipsalliance/verible: Verible is a suite of SystemVerilog developer ...
PLL в Lattice ICE40HX4K
Долго не мог понять почему не могу поставить вторую PLL.
А оказалось всё просто. У каждой PLL есть отдельный пин для ввода клока, и если даже он не используется для этого, но PLL в дизайне есть, то назначить этот пин как обычный вход нельзя. Естественно, этот самый пин использовался в проекте как вход.
И самое интересное, что нигде не сказано про то, какие клоковые пины имеют особое значение для PLL. И максимум что можно найти в документации это то, что PLL имеют оптимальное подключение к буферам в банках 0 и 2.
Подробнее можно прочитать здесь:
https://github.com/YosysHQ/icestorm/issues/273
#lattice #fpga #pll
Долго не мог понять почему не могу поставить вторую PLL.
А оказалось всё просто. У каждой PLL есть отдельный пин для ввода клока, и если даже он не используется для этого, но PLL в дизайне есть, то назначить этот пин как обычный вход нельзя. Естественно, этот самый пин использовался в проекте как вход.
И самое интересное, что нигде не сказано про то, какие клоковые пины имеют особое значение для PLL. И максимум что можно найти в документации это то, что PLL имеют оптимальное подключение к буферам в банках 0 и 2.
Подробнее можно прочитать здесь:
https://github.com/YosysHQ/icestorm/issues/273
#lattice #fpga #pll
GitHub
Not able to use both PLLs of iCE40-HX4K · Issue #273 · YosysHQ/icestorm
My goal is to create 4 different clock domains from one 12 MHz input clock: 12 MHz 40 MHz 128 MHz 64 MHz Chip is iCE40-HX4K in TQ144 package. Tried using different banks. pinout.pcf: # bank 3 clock...
BRAM и сброс в Lattice ICE40
И ещё одни неочевидные грабли с Lattice.
Блоки BRAM некоторое время недоступны после сброса (читаются нули). И нужно делать задержку сброса тактов в 40, чтобы пофиксить.
https://github.com/YosysHQ/icestorm/issues/76
http://svn.clifford.at/handicraft/2017/ice40bramdelay
#lattice #fpga #bram
И ещё одни неочевидные грабли с Lattice.
Блоки BRAM некоторое время недоступны после сброса (читаются нули). И нужно делать задержку сброса тактов в 40, чтобы пофиксить.
https://github.com/YosysHQ/icestorm/issues/76
http://svn.clifford.at/handicraft/2017/ice40bramdelay
#lattice #fpga #bram
GitHub
Block ram reads within ~36 cycles of device reset always return 0, but only on the first reset after device reconfiguration. ·…
This repros on an ICE40-HX8K breakout board using Icestorm tools built from head as of a week or so ago. The board is in "sram" mode, and I'm flashing it using "i...
Шины данных в примиве SB_RAM40_4K ICE40
И еще кое-что про память.
Yosys не всегда корректно инферрит BRAM, поэтому иногда приходится создавать инстанс SB_RAM40_4K руками. И тут есть неочевидная особенность, связанная с битами данных в разных режимах: последняя таблица вот здесь http://www.clifford.at/icestorm/ram_tile.html.
Ну и как водится, официальный документ LATTICE ICE Technology Library молчит на этот счёт.
На текущий момент по теме граблей ICE40 пока всё. Продолжаю наблюдение.
#lattice #fpga #bram #yosys
И еще кое-что про память.
Yosys не всегда корректно инферрит BRAM, поэтому иногда приходится создавать инстанс SB_RAM40_4K руками. И тут есть неочевидная особенность, связанная с битами данных в разных режимах: последняя таблица вот здесь http://www.clifford.at/icestorm/ram_tile.html.
Ну и как водится, официальный документ LATTICE ICE Technology Library молчит на этот счёт.
На текущий момент по теме граблей ICE40 пока всё. Продолжаю наблюдение.
#lattice #fpga #bram #yosys
USB-UART на максималках
https://habr.com/ru/post/530060/
https://github.com/r2axz/bluepill-serial-monster
#stm32 #usb
https://habr.com/ru/post/530060/
https://github.com/r2axz/bluepill-serial-monster
#stm32 #usb
Хабр
Полноценный трехпортовый USB-Serial адаптер на STM32 Blue Pill (STM32F103C8T6)
Некоторое время назад мне в очередной раз потребовался USB-Serial адаптер. И не просто адаптер c RX/TX, а чтобы еще присутствовали управляющие сигналы. И не один...
Awesome Lattice FPGA boards
В последнее время стал замечать, что многие вдруг стали каталогизировать свои знания в формат Awesome Lists. И как ни странно, это бывает полезным и находятся порой очень крутые списки. Вот например самый полный список Lattice отладок, что я видел.
https://github.com/kelu124/awesome-latticeFPGAs
#fpga #lattice #devboard #awesome
В последнее время стал замечать, что многие вдруг стали каталогизировать свои знания в формат Awesome Lists. И как ни странно, это бывает полезным и находятся порой очень крутые списки. Вот например самый полный список Lattice отладок, что я видел.
https://github.com/kelu124/awesome-latticeFPGAs
#fpga #lattice #devboard #awesome
GitHub
GitHub - kelu124/awesome-latticeFPGAs: :book: List of FPGA Lattice boards using open tools
:book: List of FPGA Lattice boards using open tools - kelu124/awesome-latticeFPGAs
Colorlight Lattice ECP5 boards
Так-то пару десятков баксов (а то и меньше) за 24к ячеек довольно неплохая сделка. В оригинале эти платы позиционируются как контроллеры светодиодных панелей, однако, никто не сможет запретить использовать такую плату как отладку для всякого =)
Кстати, полностью поддерживаются опенсорсным тулчейном (yosys & prjtrellis & nextpnr).
Репозиторий с информацией:
https://github.com/wuxx/Colorlight-FPGA-Projects
Colorlight i5 (из двух плат):
https://aliexpress.ru/item/1005001686186007.html
Colorlight 5A-75B:
https://aliexpress.ru/item/1005001686175194.html
#fpga #lattice #devboard
Так-то пару десятков баксов (а то и меньше) за 24к ячеек довольно неплохая сделка. В оригинале эти платы позиционируются как контроллеры светодиодных панелей, однако, никто не сможет запретить использовать такую плату как отладку для всякого =)
Кстати, полностью поддерживаются опенсорсным тулчейном (yosys & prjtrellis & nextpnr).
Репозиторий с информацией:
https://github.com/wuxx/Colorlight-FPGA-Projects
Colorlight i5 (из двух плат):
https://aliexpress.ru/item/1005001686186007.html
Colorlight 5A-75B:
https://aliexpress.ru/item/1005001686175194.html
#fpga #lattice #devboard
EBAZ4205 - отладка с Zynq почти даром
В продолжение темы бюджетных отладок.
Баян конечно, но поюзанные контроллеры от майнеров на XC7Z010CLG400 (Dual Core Cortex A9 @ 666.66MHz, Artix-7 FPGA 28k LEs) можно купить на Али/Авито за 500-1000р. Что одному хайтэк мусор, другому - крутая отладка.
Репозиторий с информацией:
https://github.com/xjtuecho/EBAZ4205
Али:
https://aliexpress.ru/item/1005001679188068.html
#fpga #xilinx #zynq #devboard
В продолжение темы бюджетных отладок.
Баян конечно, но поюзанные контроллеры от майнеров на XC7Z010CLG400 (Dual Core Cortex A9 @ 666.66MHz, Artix-7 FPGA 28k LEs) можно купить на Али/Авито за 500-1000р. Что одному хайтэк мусор, другому - крутая отладка.
Репозиторий с информацией:
https://github.com/xjtuecho/EBAZ4205
Али:
https://aliexpress.ru/item/1005001679188068.html
#fpga #xilinx #zynq #devboard
ECPIX-5, the modern ECP5 development board
Информация о плате пошла по чатам. Тоже схороню здесь на всякий, т.к. выглядит вкусно.
Относительно доступная (€99 и €149 за 45к и 85к лутов, соответственно), куча IO, быстрые интерфейсы, полная поддержка в опенсорс тулах.
http://docs.lambdaconcept.com/ecpix-5/
https://shop.lambdaconcept.com/home/46-1-ecpix-5.html
Features:
ECPIX-5 comes in two FPGA variants: LFE5UM5G-45F (45K LUTs) or the larger LFE5UM5G-85F (85K LUTs).
* Lattice ECP5-5G FPGA with 5Gbit/s SERDES.
* 4Gb (256MB) of DDR3L RAM
* 256Mb (32MB) Quad-SPI Flash
* Built-in JTAG and serial USB interface
* USB-C port for USB 2 and USB 3 operation
* HDMI 1.4b transmitter
* Gigabit Ethernet
* Full size SATA port
* microSD (UHS-II capable)
* Four RGB LEDs
* Eight industry standard PMOD connectors
Applications:
* nMigen/Migen/LiteX programming
* USB 2/USB 3 prototyping
* Game console emulation
* Software Defined Radio
* Customizable RISC-V SoC
#lattice #fpga #devboard
Информация о плате пошла по чатам. Тоже схороню здесь на всякий, т.к. выглядит вкусно.
Относительно доступная (€99 и €149 за 45к и 85к лутов, соответственно), куча IO, быстрые интерфейсы, полная поддержка в опенсорс тулах.
http://docs.lambdaconcept.com/ecpix-5/
https://shop.lambdaconcept.com/home/46-1-ecpix-5.html
Features:
ECPIX-5 comes in two FPGA variants: LFE5UM5G-45F (45K LUTs) or the larger LFE5UM5G-85F (85K LUTs).
* Lattice ECP5-5G FPGA with 5Gbit/s SERDES.
* 4Gb (256MB) of DDR3L RAM
* 256Mb (32MB) Quad-SPI Flash
* Built-in JTAG and serial USB interface
* USB-C port for USB 2 and USB 3 operation
* HDMI 1.4b transmitter
* Gigabit Ethernet
* Full size SATA port
* microSD (UHS-II capable)
* Four RGB LEDs
* Eight industry standard PMOD connectors
Applications:
* nMigen/Migen/LiteX programming
* USB 2/USB 3 prototyping
* Game console emulation
* Software Defined Radio
* Customizable RISC-V SoC
#lattice #fpga #devboard
https://habr.com/ru/post/537704/
https://github.com/esynr3z/pyhdlsim
#python #pytest #rtl #modelsim #icarus
https://github.com/esynr3z/pyhdlsim
#python #pytest #rtl #modelsim #icarus
Хабр
Прокачиваем скрипты симуляции HDL с помощью Python и PyTest
Все делают это. Ну ладно, не все, но большинство. Пишут скрипты, чтобы симулировать свои проекты на Verilog, SystemVerilog и VHDL. Однако, написание и поддержка таких скриптов часто бывает довольно...
Конвертер SystemVerilog в Verilog
Вдруг в хозяйстве пригодится...
https://github.com/zachjs/sv2v
#verilog #system_verilog #converter
Вдруг в хозяйстве пригодится...
https://github.com/zachjs/sv2v
#verilog #system_verilog #converter
GitHub
GitHub - zachjs/sv2v: SystemVerilog to Verilog conversion
SystemVerilog to Verilog conversion. Contribute to zachjs/sv2v development by creating an account on GitHub.
Awesome Hardware Denoscription Languages
Добротный список того, на чём можно писать железо. От мужика, подарившего нам
https://wavedrom.com
https://github.com/drom/awesome-hdl
#hdl #hls #awesome
Добротный список того, на чём можно писать железо. От мужика, подарившего нам
https://wavedrom.com
https://github.com/drom/awesome-hdl
#hdl #hls #awesome
GitHub
GitHub - drom/awesome-hdl: Hardware Denoscription Languages
Hardware Denoscription Languages. Contribute to drom/awesome-hdl development by creating an account on GitHub.
verilog_pwl_modeling_mixed_signal.pdf
2.9 MB
SystemVerilog для симуляции аналоговых компонентов
Гуглил тут на тему, как лучше в обычном цифровом тестбенче имитировать RC-цепь, аналоговый компаратор и т.п. Чтобы без всяких Verilog-AMS и прочих mixed-signal наворотов.
Наткнулся на шикарный диссер из Стэнфорда, где показан общий подход к тому, как с помощью SystemVerilog и кусочно-линейных функций создать pin-accurate модель аналогового блока, работающую в любом цифровом симуляторе.
VERILOG PIECEWISE LINEAR BEHAVIORAL MODELING FOR MIXED-SIGNAL VALIDATION
Sabrina Liao
https://purl.stanford.edu/pb381vh2919
#simulation #system_verilog #mixed_signal #analog_design
Гуглил тут на тему, как лучше в обычном цифровом тестбенче имитировать RC-цепь, аналоговый компаратор и т.п. Чтобы без всяких Verilog-AMS и прочих mixed-signal наворотов.
Наткнулся на шикарный диссер из Стэнфорда, где показан общий подход к тому, как с помощью SystemVerilog и кусочно-линейных функций создать pin-accurate модель аналогового блока, работающую в любом цифровом симуляторе.
VERILOG PIECEWISE LINEAR BEHAVIORAL MODELING FOR MIXED-SIGNAL VALIDATION
Sabrina Liao
https://purl.stanford.edu/pb381vh2919
#simulation #system_verilog #mixed_signal #analog_design
Icarus и SystemVerilog
Поддержка SV в Икарусе потихоньку развивается - вот в достаточно свежей 11-ой версии (сентябрь 2020) обнаружил, что уже поддерживаются конструкции always_comb, always_ff и always_latch!
Однако, как сами отмечают авторы
Единственное, 11-ю версию еще не завезли в системные репозитории, поэтому надо собирать самому из исходников.
https://iverilog.fandom.com/wiki/Release_Notes_Icarus_Verilog_11
#icarus #system_verilog
Поддержка SV в Икарусе потихоньку развивается - вот в достаточно свежей 11-ой версии (сентябрь 2020) обнаружил, что уже поддерживаются конструкции always_comb, always_ff и always_latch!
Однако, как сами отмечают авторы
Missing SystemVerilog Language Features
This is still too large a list to enumerate.
Единственное, 11-ю версию еще не завезли в системные репозитории, поэтому надо собирать самому из исходников.
https://iverilog.fandom.com/wiki/Release_Notes_Icarus_Verilog_11
#icarus #system_verilog
Icarus Verilog
Release Notes Icarus Verilog 11 | Icarus Verilog | Fandom
Here are the release notes for Icarus Verilog release branch 11. The 11 release extends support for the Verilog and SystemVerilog languages as well as fixing many bugs. Release notes for later...
Extreme Wiring on the Prototyping Board
Видео от легендарного ELM-ChaN про прототипирование на коленке.
https://www.youtube.com/watch?v=i5MNLTc7YhY&ab_channel=tHaH4x0r
Понравилась идея с податчиком провода. В комбинации с пинцетом можно очень быстро и точно формировать "дорожки". В коментах пишут, что используется медный эмалированый провод 0.2. А сам диспенсер можно сделать из ручки, хотя, как мне кажется, механический карандаш тоже должен зайти.
#pcb #prototype #soldering
Видео от легендарного ELM-ChaN про прототипирование на коленке.
https://www.youtube.com/watch?v=i5MNLTc7YhY&ab_channel=tHaH4x0r
Понравилась идея с податчиком провода. В комбинации с пинцетом можно очень быстро и точно формировать "дорожки". В коментах пишут, что используется медный эмалированый провод 0.2. А сам диспенсер можно сделать из ручки, хотя, как мне кажется, механический карандаш тоже должен зайти.
#pcb #prototype #soldering
YouTube
Extreme prototype board wiring techniques
This is a reupload of an original video made by ELM-ChaN, because the original is uploaded on a japanese video site which needs an account to watch videos. Everybody interested in electronics should watch this video, extremely interesting technique. This…