ื™ื•ื–ืžืช FPGA ื‘ืงื•ื“ ืคืชื•ื—

ื”ื•ื“ื™ืขื” ืขืœ ื”ืงืžืช ืืจื’ื•ืŸ ื—ื“ืฉ ืœืœื ืžื˜ืจื•ืช ืจื•ื•ื—, ืงืจืŸ FPGA ืขื ืงื•ื“ ืคืชื•ื— (OSFPGA), ืฉืžื˜ืจืชื• ืœืคืชื—, ืœืงื“ื ื•ืœื™ืฆื•ืจ ืกื‘ื™ื‘ื” ืœืคื™ืชื•ื— ืฉื™ืชื•ืคื™ ืฉืœ ืคืชืจื•ื ื•ืช ื—ื•ืžืจื” ื•ืชื•ื›ื ื” ืคืชื•ื—ื™ื ื”ืงืฉื•ืจื™ื ืœืฉื™ืžื•ืฉ ื‘ืžืขืจืš ืฉืขืจื™ื ืฉื ื™ืชืŸ ืœืชื›ื ืช ื‘ืฉื˜ื— ( FPGA) ืžืขื’ืœื™ื ืžืฉื•ืœื‘ื™ื ื”ืžืืคืฉืจื™ื ืขื‘ื•ื“ื” ืœื•ื’ื™ืช ื ื™ืชื ืช ืœืชื›ื ื•ืช ืœืื—ืจ ื™ื™ืฆื•ืจ ืฉื‘ื‘ื™ื. ืคืขื•ืœื•ืช ื‘ื™ื ืืจื™ื•ืช ืžืคืชื— (AND, NAND, OR, NOR ื•-XOR) ื‘ืฉื‘ื‘ื™ื ื›ืืœื” ืžื™ื•ืฉืžื•ืช ื‘ืืžืฆืขื•ืช ืฉืขืจื™ื ืœื•ื’ื™ื™ื (ืžืชื’ื™ื) ื‘ืขืœื™ ืžืกืคืจ ื›ื ื™ืกื•ืช ื•ืคืœื˜ ืื—ื“, ืฉืชืฆื•ืจืช ื”ื—ื™ื‘ื•ืจื™ื ื‘ื™ื ื™ื”ื ื ื™ืชื ืช ืœืฉื™ื ื•ื™ ื‘ืืžืฆืขื•ืช ืชื•ื›ื ื”.

ื”ื—ื‘ืจื™ื ื”ืžื™ื™ืกื“ื™ื ืฉืœ OSFPGA ื›ื•ืœืœื™ื ื›ืžื” ื—ื•ืงืจื™ ื˜ื›ื ื•ืœื•ื’ื™ื™ืช FPGA ื‘ื•ืœื˜ื™ื ืžื—ื‘ืจื•ืช ื•ืคืจื•ื™ืงื˜ื™ื ื›ืžื• EPFL, QuickLogic, Zero ASIC ื•-GSG Group. ื‘ื—ืกื•ืช ื”ืืจื’ื•ืŸ ื”ื—ื“ืฉ ื™ืคื•ืชื— ืžืขืจืš ื›ืœื™ื ืคืชื•ื—ื™ื ื•ื—ื™ื ืžื™ื™ื ืœื™ืฆื™ืจืช ืื‘ ื˜ื™ืคื•ืก ืžื”ื™ืจ ื”ืžื‘ื•ืกืกื™ื ืขืœ ืฉื‘ื‘ื™ FPGA ื•ืชืžื™ื›ื” ื‘ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืขื™ืฆื•ื‘ ืืœืงื˜ืจื•ื ื™ (EDA). ื”ืืจื’ื•ืŸ ื’ื ื™ืคืงื— ืขืœ ื”ืคื™ืชื•ื— ื”ืžืฉื•ืชืฃ ืฉืœ ืกื˜ื ื“ืจื˜ื™ื ืคืชื•ื—ื™ื ื”ืงืฉื•ืจื™ื ืœ-FPGAs, ื•ื™ืกืคืง ืคื•ืจื•ื ื ื™ื˜ืจืœื™ ืœื—ื‘ืจื•ืช ืœื—ืœื•ืง ื—ื•ื•ื™ื•ืช ื•ื˜ื›ื ื•ืœื•ื’ื™ื•ืช.

ืฆืคื•ื™ ืฉ-OSFPGA ื™ืืคืฉืจ ืœื—ื‘ืจื•ืช ืฉื‘ื‘ื™ื ืœื‘ื˜ืœ ื—ืœืง ืžื”ืชื”ืœื™ื›ื™ื ื”ื”ื ื“ืกื™ื™ื ื”ื›ืจื•ื›ื™ื ื‘ื™ื™ืฆื•ืจ FPGAs, ืœืกืคืง ืœืžืคืชื—ื™ ืžืฉืชืžืฉื™ ืงืฆื” ืขืจื™ืžืช ืชื•ื›ื ืช FPGA ืžื•ื›ื ื” ืžื•ืชืืžืช ืื™ืฉื™ืช, ื•ืœืืคืฉืจ ืฉื™ืชื•ืฃ ืคืขื•ืœื” ืœื™ืฆื™ืจืช ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ื—ื“ืฉื•ืช ื‘ืื™ื›ื•ืช ื’ื‘ื•ื”ื”. ื™ืฆื•ื™ืŸ ื›ื™ ื”ื›ืœื™ื ื”ืคืชื•ื—ื™ื ื”ืžืกื•ืคืงื™ื ืขืœ ื™ื“ื™ OSFPGA ื™ื™ืฉืžืจื• ื‘ืจืžื” ื”ื’ื‘ื•ื”ื” ื‘ื™ื•ืชืจ ืฉืœ ืื™ื›ื•ืช, ืขื•ืžื“ื™ื ื‘ืชืงื ื™ ื”ืชืขืฉื™ื™ื” ืื• ืขื•ืœื™ื ืขืœื™ื”ื.

ื”ืžื˜ืจื•ืช ื”ืขื™ืงืจื™ื•ืช ืฉืœ ืงืจืŸ FPGA ืขื ืงื•ื“ ืคืชื•ื— ื”ืŸ:

  • ืืกืคืงืช ืžืฉืื‘ื™ื ื•ืชืฉืชื™ืช ืœืคื™ืชื•ื— ืกื˜ ื›ืœื™ื ื”ืงืฉื•ืจื™ื ืœื—ื•ืžืจื” ื•ืชื•ื›ื ื” ืฉืœ FPGA.
  • ืงื™ื“ื•ื ื”ืฉื™ืžื•ืฉ ื‘ื›ืœื™ื ืืœื• ื‘ืืžืฆืขื•ืช ืื™ืจื•ืขื™ื ืฉื•ื ื™ื.
  • ืœืกืคืง ืชืžื™ื›ื”, ืคื™ืชื•ื— ื•ืคืชื™ื—ื•ืช ืฉืœ ื›ืœื™ื ืœืžื—ืงืจ ืฉืœ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช FPGA ืžืชืงื“ืžื•ืช, ื›ืžื• ื’ื ืคื™ืชื•ื—ื™ ืชื•ื›ื ื” ื•ื—ื•ืžืจื” ืงืฉื•ืจื™ื.
  • ืฉืžื™ืจื” ืขืœ ืงื˜ืœื•ื’ ืฉืœ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช FPGA ื–ืžื™ื ื•ืช ืœืฆื™ื‘ื•ืจ, ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืขื™ืฆื•ื‘ ื•ืขื™ืฆื•ื‘ื™ ืœื•ื— ืฉืžืงื•ืจื ื‘ืคืจืกื•ืžื™ื ื•ื’ื™ืœื•ื™ื™ ืคื˜ื ื˜ื™ื ืฉืคื’ ืชื•ืงืคื.
  • ื”ื›ืŸ ื•ืกืคืง ื’ื™ืฉื” ืœื—ื•ืžืจื™ ื”ื“ืจื›ื” ื›ื“ื™ ืœืขื–ื•ืจ ืœื‘ื ื•ืช ืงื”ื™ืœื” ืฉืœ ืžืคืชื—ื™ื ืžืชืขื ื™ื™ื ื™ื.
  • ืคืฉื˜ ืืช ืฉื™ืชื•ืฃ ื”ืคืขื•ืœื” ืขื ื™ืฆืจื ื™ ื”ืฉื‘ื‘ื™ื ื›ื“ื™ ืœื”ืคื—ื™ืช ืืช ื”ืขืœื•ืช ื•ื”ื–ืžืŸ ืœื‘ื“ื™ืงื” ื•ืื™ืžื•ืช ืฉืœ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ื•ื—ื•ืžืจื” FPGA ื—ื“ืฉื•ืช.

ื›ืœื™ ืงื•ื“ ืคืชื•ื— ืงืฉื•ืจื™ื:

  • OpenFPGA ื”ื™ื ืขืจื›ืช Electronic Design Automation (EDA) ืขื‘ื•ืจ FPGAs ื”ืชื•ืžื›ืช ื‘ื™ื™ืฆื•ืจ ื—ื•ืžืจื” ื”ืžื‘ื•ืกืกืช ืขืœ ืชื™ืื•ืจื™ Verilog.
  • 1st CLaaS ื”ื™ื ืžืกื’ืจืช ื”ืžืืคืฉืจืช ืœืš ืœื”ืฉืชืžืฉ ื‘-FPGAs ืœื™ืฆื™ืจืช ืžืื™ืฆื™ ื—ื•ืžืจื” ืขื‘ื•ืจ ื™ื™ืฉื•ืžื™ ืื™ื ื˜ืจื ื˜ ื•ืขื ืŸ.
  • Verilog-to-Routing (VTR) ื”ื•ื ืขืจื›ืช ื›ืœื™ื ื”ืžืืคืฉืจืช ืœืš ืœื™ืฆื•ืจ ืืช ื”ืชืฆื•ืจื” ืฉืœ ื”-FPGA ืฉื ื‘ื—ืจ ืขืœ ืกืžืš ืชื™ืื•ืจ ื‘ืฉืคืช Verilog.
  • Symbiflow ื”ื™ื ืขืจื›ืช ื›ืœื™ื ืœืคื™ืชื•ื— ืคืชืจื•ื ื•ืช ื”ืžื‘ื•ืกืกื™ื ืขืœ Xilinx 7, Lattice iCE40, Lattice ECP5 ื•-QuickLogic EOS S3 FPGAs.
  • Yosys ื”ื™ื ืžืกื’ืจืช ืกื™ื ืชื–ื” ืฉืœ Verilog RTL ืขื‘ื•ืจ ื™ื™ืฉื•ืžื™ื ื ืคื•ืฆื™ื.
  • EPFL ื”ื•ื ืื•ืกืฃ ืฉืœ ืกืคืจื™ื•ืช ืœืคื™ืชื•ื— ื™ื™ืฉื•ืžื™ ืกื™ื ืชื–ื” ืœื•ื’ื™ืช.
  • LSOracle ื”ื•ื ืชื•ืกืฃ ืœืกืคืจื™ื•ืช EPFL ืœืžื™ื˜ื•ื‘ ืชื•ืฆืื•ืช ืกื™ื ืชื–ื” ืœื•ื’ื™ืช.
  • Edalize ื”ื•ื ืขืจื›ืช ื›ืœื™ื ืฉืœ Python ืœืื™ื ื˜ืจืืงืฆื™ื” ืขื ืžืขืจื›ื•ืช ืื•ื˜ื•ืžื˜ื™ื•ืช ืœืชื›ื ื•ืŸ ืืœืงื˜ืจื•ื ื™ (EDA) ื•ื™ืฆื™ืจืช ืงื‘ืฆื™ ืคืจื•ื™ืงื˜ ืขื‘ื•ืจืŸ.
  • GHDL ื”ื•ื ืžื”ื“ืจ, ืžื ืชื—, ืกื™ืžื•ืœื˜ื•ืจ ื•ืกื™ื ืชื™ืกื™ื™ื–ืจ ืœืฉืคืช ืชื™ืื•ืจ ื”ื—ื•ืžืจื” VHDL.
  • VerilogCreator ื”ื•ื ืชื•ืกืฃ ืขื‘ื•ืจ QtCreator ืฉื”ื•ืคืš ืืช ื”ื™ื™ืฉื•ื ื”ื–ื” ืœืกื‘ื™ื‘ืช ืคื™ืชื•ื— ื‘-Verilog 2005.
  • FuseSoC ื”ื•ื ืžื ื”ืœ ื—ื‘ื™ืœื•ืช ืขื‘ื•ืจ HDL (Hardware Description Language) ืงื•ื“ ื•ื›ืœื™ ื”ืคืฉื˜ื” ืฉืœ โ€‹โ€‹ื”ืจื›ื‘ื” ืขื‘ื•ืจ FPGA/ASIC.
  • SOFA (Skywater Open-Source FPGA) ื”ื™ื ืงื‘ื•ืฆื” ืฉืœ FPGA IP (ืงื ื™ื™ืŸ ืจื•ื—ื ื™) ืคืชื•ื— ืฉื ื•ืฆืจ ื‘ืืžืฆืขื•ืช Skywater PDK ื•ืžืกื’ืจืช OpenFPGA.
  • openFPGALoader ื”ื•ื ื›ืœื™ ืขื–ืจ ืœืชื›ื ื•ืช FPGAs.
  • LiteDRAM - ืœื™ื‘ืช IP ืžื•ืชืืžืช ืื™ืฉื™ืช ืขื‘ื•ืจ FPGA ืขื ื”ื˜ืžืขืช DRAM.

ื‘ื ื•ืกืฃ, ืื ื• ื™ื›ื•ืœื™ื ืœืฆื™ื™ืŸ ืืช ืคืจื•ื™ืงื˜ Main_MiSTer, ื”ืžืืคืฉืจ ืฉื™ืžื•ืฉ ื‘ืœื•ื— DE10-Nano FPGA ื”ืžื—ื•ื‘ืจ ืœื˜ืœื•ื•ื™ื–ื™ื” ืื• ืฆื’ ื›ื“ื™ ืœื“ืžื•ืช ืืช ื”ืฆื™ื•ื“ ืฉืœ ืงื•ื ืกื•ืœื•ืช ืžืฉื—ืงื™ื ื™ืฉื ื•ืช ื•ืžื—ืฉื‘ื™ื ืงืœืืกื™ื™ื. ื‘ื ื™ื’ื•ื“ ืœืืžื•ืœื˜ื•ืจื™ื ื”ืจืฆื™ื, ืฉื™ืžื•ืฉ ื‘-FPGA ืžืืคืฉืจ ืœื™ืฆื•ืจ ืžื—ื“ืฉ ืืช ืกื‘ื™ื‘ืช ื”ื—ื•ืžืจื” ื”ืžืงื•ืจื™ืช ืขืœื™ื” ื ื™ืชืŸ ืœื”ืจื™ืฅ ืชืžื•ื ื•ืช ืžืขืจื›ืช ื•ืืคืœื™ืงืฆื™ื•ืช ืงื™ื™ืžื•ืช ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžื•ืช ื—ื•ืžืจื” ื™ืฉื ื•ืช ื™ื•ืชืจ.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”