Open Architecture FPGA

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Open Architecture FPGA

Post by Shaos »

Shaos wrote: некоторое время назад вышеозначенная страничка умерла - сегодня я покопался в вебархиве.org и вытащил наружу несколько текстов и даже пару архивов (похоже битые):
The src version contains just sources, the bin version contains sources and has everything pre-built (Verilog cores, Linux executables (Red Hat 6.x), bitstream for XC2S200 / BED-SPARTAN2+).

mpga-src-0.tgz (60 kB)

mpga-bin-0.tgz (1 MB)
очень странно, но в archive.org все следы этого сайта также убиты :(

это значит, что кому-то оно очень мешало...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Open Architecture FPGA

Post by Shaos »

поднимаю древнюю тему в очередной раз :oidea:

P.S. за прошедшее время появились:

ZUMA: An Open FPGA Overlay Architecture (2012):
http://www.ccrc.wustl.edu/~roger/565M.f12/4699a093.pdf

Archipelago - An Open Source FPGA with Toolflow Support - UC Berkeley EECS (2014):
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-43.pdf
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Open Architecture FPGA

Post by Shaos »

Вот интересная лекция чувака, который дважды продавал свои компании каденсу и даже побывал CTO каденса, а потом создал свою новую компанию Табула, чтобы сделать более лучшний FPGA (привлеча 200 миллионов инвестиций):


https://youtu.be/QbYOuTgAcKk

Лекция снята в 2013, а в начале 2015 эта самая Табула просто закрылась...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Open Architecture FPGA

Post by Shaos »

Короче есть такая штука Yosys:

http://www.clifford.at/yosys/about.html
Yosys is a framework for Verilog RTL synthesis. It currently has extensive Verilog-2005 support and provides a basic set of synthesis algorithms for various application domains. Selected features and typical applications:
  • Process almost any synthesizable Verilog-2005 design
  • Converting Verilog to BLIF / EDIF/ BTOR / SMT-LIB / simple RTL Verilog / etc.
  • Built-in formal methods for checking properties and equivalence
  • Mapping to ASIC standard cell libraries (in Liberty File Format)
  • Mapping to Xilinx 7-Series and Lattice iCE40 FPGAs
  • Foundation and/or front-end for custom flows
Yosys can be adapted to perform any synthesis job by combining the existing passes (algorithms) using synthesis scripts and adding additional passes as needed by extending the Yosys C++ code base.

Yosys is free software licensed under the ISC license (a GPL compatible license that is similar in terms to the MIT license or the 2-clause BSD license).
Это опен-сорцный конвертер из верлиога в нетлист логических блоков! Естественно с интерфейсом из командной строки ;)
Другие чуваки реверс-инжынирнули FPGA iCE40 и написали прослойку, которая укладывает эти логические блоки в FPGA - получилась опен-сорцная от начала до конца разработка для FPGA!!!

P.S. И существует набор очень немаленьких примеров для проверки:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Open Architecture FPGA

Post by Shaos »

К вопросу о том, как Зайлинкс считает гейты в своих FPGA:

https://www.xilinx.com/support/documentation/application_notes/xapp059.pdf
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Open Architecture FPGA

Post by Shaos »

Тут по ходу реверснули самый первый FPGA от Xilinx - XC2064:

http://www.righto.com/2020/09/reverse-engineering-first-fpga-chip.html

и самое странное, что их до сих пор можно купить :o

https://www.jameco.com/z/XC2064-50PC68C-Major-Brands-Logic-Cell-Array-5V-600-to-1000-Gates-64-CLBs-58-I-O-PLCC-68_2303223.html

P.S. и даже вот в таком виде на ебее можно достать - DIP48 :o
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Open Architecture FPGA

Post by Shaos »

Shaos wrote:и самое странное, что их до сих пор можно купить :o

https://www.jameco.com/z/XC2064-50PC68C-Major-Brands-Logic-Cell-Array-5V-600-to-1000-Gates-64-CLBs-58-I-O-PLCC-68_2303223.html
Взял две в PLCC68 :)
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Open Architecture FPGA

Post by Shaos »

SKY130 открыл путь к реализации OpenFPGA:
SOFA: Skywater Opensource FPGA developed by the Laboratory for Nanointegrated Systems (LNIS) at the University of Utah.

SOFAs are a series of open-source FPGA IPs using the open-source Skywater 130nm PDK and OpenFPGA framework. LNIS has provided lots of documentation for SOFA and the OpenFPGA framework, including tutorials. We’re excited to see such a comprehensive effort to democratize FPGA technology!
sofa_hd_layout.png
SOFA GitHub: https://github.com/lnis-uofu/SOFA

OpenFPGA GitHub: https://github.com/lnis-uofu/OpenFPGA
Как можно видеть внутри OpenFPGA сидит Yosys

P.S. Вот видео нашлось про OpenFPGA:


https://www.youtube.com/watch?v=ocODUGcYGqo

P.P.S. Вот более длинное видео:


https://youtu.be/HH8fh5wBysY
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Open Architecture FPGA

Post by Shaos »

Shaos wrote:
Shaos wrote:и самое странное, что их до сих пор можно купить :o

https://www.jameco.com/z/XC2064-50PC68C-Major-Brands-Logic-Cell-Array-5V-600-to-1000-Gates-64-CLBs-58-I-O-PLCC-68_2303223.html
Взял две в PLCC68 :)
С тех пор на Jameco они таки закончились :(

Но я также нашёл на ебее подержанную плату 1988 года для таких чипов - можно попробовать поразбираться:
XC2064-board1.jpg
XC2064-board2.jpg
P.S. По номеру на плате в соседнем музее нашёлся вот такой вариант с чипом AM2064 от AMD: https://www.computerhistory.org/collections/catalog/102747760
AM2064.jpg
P.P.S. Справа-вверху судя по всему место для ПЗУ - либо параллельное 2КБ, либо последовательное (для прошивки нужен образ 12048 бит), но видимо оно и через интерфейс с компа может быть прошито (поэтому память там так и не впаяна)...
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Open Architecture FPGA

Post by Shaos »

Вот мой набор этих самых первых фпгашек от Xilinx (XC2018 это более жирный вариант XC2064):
XC2064-XC2018-small.jpg
Проект на хакадее создал - попробую чего-то поделать с ними:

https://hackaday.io/project/191284-xc2064
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Open Architecture FPGA

Post by Shaos »

Shaos wrote:Короче есть такая штука Yosys:

http://www.clifford.at/yosys/about.html
Yosys is a framework for Verilog RTL synthesis. It currently has extensive Verilog-2005 support and provides a basic set of synthesis algorithms for various application domains. Selected features and typical applications:
  • Process almost any synthesizable Verilog-2005 design
  • Converting Verilog to BLIF / EDIF/ BTOR / SMT-LIB / simple RTL Verilog / etc.
  • Built-in formal methods for checking properties and equivalence
  • Mapping to ASIC standard cell libraries (in Liberty File Format)
  • Mapping to Xilinx 7-Series and Lattice iCE40 FPGAs
  • Foundation and/or front-end for custom flows
Yosys can be adapted to perform any synthesis job by combining the existing passes (algorithms) using synthesis scripts and adding additional passes as needed by extending the Yosys C++ code base.

Yosys is free software licensed under the ISC license (a GPL compatible license that is similar in terms to the MIT license or the 2-clause BSD license).
Это опен-сорцный конвертер из верлиога в нетлист логических блоков! Естественно с интерфейсом из командной строки ;)
Другие чуваки реверс-инжынирнули FPGA iCE40 и написали прослойку, которая укладывает эти логические блоки в FPGA - получилась опен-сорцная от начала до конца разработка для FPGA!!!

P.S. И существует набор очень немаленьких примеров для проверки:
Оказывается Yosys сам умеет компилировать железячный дизайн в C++ !!!

Code: Select all

yosys -p "read_verilog module.v; write_cxxrtl cxxrtl.cpp"
Правда он совсем не умеет VHDL:

Code: Select all

    read                 load HDL designs
    read_blif            read BLIF file
    read_ilang           read modules from ilang file
    read_json            read JSON file
    read_liberty         read cells from liberty file
    read_verilog         read modules from Verilog file
По умолчанию это должен быть Verilog или SystemVerilog файл:

Code: Select all

    read {-vlog95|-vlog2k|-sv2005|-sv2009|-sv2012|-sv|-formal} <verilog-file>..
А так код получается интересный (даже закольцованные логические гейты отрабатывают как защёлки как и надо) и шаг симуляции может выполняться только по смене значения на входах - надо будет сравнить с Верилятором по скорости...

Версия с которой я это пробовал:

Code: Select all

Yosys 0.21+18 (git sha1 fcd1be142, clang 10.0.0-4ubuntu1 -fPIC -Os)
Взята отсюда: https://github.com/YosysHQ/oss-cad-suite-build/releases/download/2022-09-26/oss-cad-suite-linux-x64-20220926.tgz

Работает без проблем на моём Debian Linux 10.13 (в котором Yosys сильно старее и компилировать в C++ не умеет)

P.S. Вот есть описалово с примерами: https://tomverbeure.github.io/2020/08/08/CXXRTL-the-New-Yosys-Simulation-Backend.html
Там автор пишет, что на его примерах (целочисленная RISC-V реализация) CXXRTL при максимальной оптимизации примерно в 8 раз медленнее одно-тредного Верилятора.

P.P.S. Официальная документация на CXXRTL: https://yosyshq.readthedocs.io/projects/yosys/en/latest/cmd/write_cxxrtl.html
Я тут за главного - если что шлите мыло на me собака shaos точка net