Mencari perangkat keras dan alat pengembang FPGA open source [ditutup]

38

Papan FPGA yang diinvestigasi tetapi tidak dapat menemukan papan sumber terbuka dan alat pengembangan FPGA vendor-netral:

  • Pabrikan ORSoC menawarkan sumber terbuka di situs webnya tetapi saya tidak dapat menemukan bukti kuat kecuali webmastering OpenCores.org.
  • Duo ini: Xilinx mengiklankan produknya dengan "Kontes Inovasi Perangkat Keras Sumber Terbuka untuk Universitas China Daratan". Tetap saja produk mereka berpemilik, dukungan buruk untuk * ix -. Demikian pula, Altera memiliki dukungan yang buruk untuk * ix, cukup periksa dukungan OS mereka dengan Quartus atau bagaimana memiliki penganalisis logika Anda pada langkah sintetis?
  • Kelompok pemain kecil - biarkan Anda menunjukkan yang terbaik.

Apakah ada beberapa produsen yang kuat dengan hal-hal sumber terbuka seperti alat hw dan dev?

hhh
sumber
Pertanyaan terkait di SO di sini .
hhh
3
Sekarang ada toolchain open source untuk Lattice Semiconductor iCE40 FPGAs, lihat: github.com/cseed/arachne-pnr
Cotton Seed

Jawaban:

8

Sayangnya, tidak ada banyak perangkat lunak gratis untuk perangkat keras yang dapat diprogram. Ada beberapa alat sintesis, seperti Lava (yang mengharapkan penempatan manual), Confluence, HDCaml dan Atom , dan Icarus Verilog , tetapi di samping tidak ada alat pengolah, mapper atau tempat dan rute (saya benar-benar ingin terbukti salah dalam ini). Opencircuitdesign.com telah mengumpulkan beberapa alat, tetapi mungkin memerlukan beberapa dokumentasi dan generator bitstream. Simulasi, di sisi lain, cukup tertutup.

Di sisi non-bebas, Xilinx 'alat tidak bebas tetapi gratis telah melihat beberapa peningkatan baru-baru ini, dengan menambahkan dukungan libusb dan menjatuhkan Wind / U (analog winelib tidak bebas yang mengerikan) mendukung Qt (tetapi mereka tidak akan memperbarui untuk chip yang sudah pensiun). Sebagian besar alat lain tampaknya disabotase menggunakan paket yang disebut flexlm, sedemikian rupa sehingga sulit untuk membuatnya berjalan bahkan dengan bantuan vendor. Saya juga dapat menjalankan perangkat lunak Lattice Diamond di Linux, tetapi tidak memiliki simulasi. Untuk Atmel AT40KAL, alat tempat dan rute bisa dijalankan dalam Wine, tetapi perpustakaan menuntut komponen yang tidak standar (menggunakan LPM, tetapi menolak gerbang input 2), sehingga semacam mapper akan dibutuhkan.

Yann Vernier
sumber
5

Sayangnya alat sintesis semua sumber tertutup sejauh yang saya tahu. Kode yang terkandung di dalamnya adalah bagian besar dari keuntungan bisnis mereka, jadi saya merasa tidak mungkin Anda akan melihat mereka bersumber terbuka.

Xilinx memang memiliki toolchain gratis untuk Windows dan Linux, dan jika Anda tidak menyukai IDE mereka, Anda bebas untuk menggunakan alat commandline mereka dengan editor Anda sendiri. Saya telah melakukan ini sebelumnya, ini bekerja dengan baik untuk proyek-proyek kecil (misalnya CPLD) di mana Anda tidak ingin main-main dengan paket perangkat lunak besar yang kompleks.

Altera Saya percaya hanya menawarkan alat gratis untuk Windows, alat Linux mereka dibayar hanya terakhir kali saya memeriksa (ini mungkin telah berubah, mungkin sudah setahun atau lebih sejak saya terakhir melihat).

davr
sumber
Pemahaman saya adalah bahwa sintesis - proses penerapan desain dalam komponen-komponen pembangun teknologi - adalah lapisan terakhir di mana penggantinya sendiri bisa dilakukan. Ini adalah lapisan berikutnya - tempat dan rute, analisis waktu yang perlu digunakan, dan generasi bitream yang mengikutinya, di mana informasi yang dipegang sangat erat diperlukan.
Chris Stratton
5

The Dewan Kupu-kupu tampak seperti open source pemula dengan baik ke FPGA. Mereka sudah mem-porting inti AVR8 sehingga Anda dapat menjalankan sketsa Arduino / kode objek AVR pada benda itu, jadi ada kurva pembelajaran yang waras.

Perbarui: Sekarang berganti nama menjadi Papilio Boards .

Saya pikir Xilinx WebPack diperlukan dan tersedia untuk Windows dan Linux.

Toby Jaffey
sumber
Paket web juga harus gratis untuk Anda.
Kortuk
maaf tapi tidak bisa melihat apa "open source" dengannya. Lebih suka menyelipkan koin dengan lebih dari setengah lebih murah seperti: item.taobao.com/auction/… .
hhh
3
Meskipun ia bergantung pada toolchain Xilinx yang dipatenkan, Butterfly One mencakup 1) desain papan sumber terbuka, 2) "pemrogram" sumber terbuka (bitstream-> utilitas flash), dan 3) banyak IP sumber terbuka sebagai contoh . Direkomendasikan!
Mungkin Anda harus memperbarui tautan untuk menunjuk ke Butterfly One? Juga, apakah Anda tahu seberapa baik ini didukung (seperti berapa banyak orang yang menggunakannya dan apakah mereka baik untuk pemula)?
Earlz
Skema dan semuanya adalah open source untuk Butterfly One dan saya menjalankannya sepenuhnya di komputer Arch Linux saya. Anda harus secara manual mengkompilasi beberapa hal, tetapi saya tidak akan mengatakan itu lebih sulit daripada kebanyakan FPGA untuk memulai. (dan mungkin lebih mudah karena diprogram sebagai softcore AVR
Earlz
3

Alat pengembangan FPGA semuanya sangat erat digabungkan dengan perangkat FPGA itu sendiri dan sangat tergantung pada rincian hak milik dari arsitektur FPGA, terutama pada tingkat penempatan, perutean, dan generasi pembangkit bitstream. Dengan demikian, netralitas vendor sebagian besar tidak ada. Alat tingkat yang lebih tinggi mungkin netral terhadap vendor sampai taraf tertentu (misalnya, Synplify, alat ESL, alat verifikasi, dll.), Tetapi mereka tentu saja bukan open source.

Di sisi lain, ada banyak alat akademik yang bersifat open source. Selama Anda tidak ingin mengembangkan perangkat fisik nyata, Anda dapat menggunakan rantai alat VPR 5.0 .

mrkj
sumber
Saya tidak membeli penjelasan "terkait erat dengan perangkat keras". Itu sama dengan set instruksi yang berbeda untuk CPU tertanam.
maksimal
@ Maxy - tidak, itu benar-benar tidak. CPU memisahkan sejumlah besar detail perangkat keras yang terekspos, dan harus dipertimbangkan oleh, sebuah rantai alat FPGA. Kompiler AC tidak benar-benar perlu tahu atau peduli apakah output dari pengali akan sampai ke register berikutnya tepat waktu, dan bahkan desainer papan hanya harus melihat kecepatan clock maksimum yang diizinkan untuk mengetahui hal ini. Untuk alat FPGA, Anda harus tahu berapa lama pengali tersebut, berapa waktu pengaturan register, dan kemudian menghitung penundaan di antara mereka berdasarkan tempat Anda meletakkannya di chip dan bagaimana Anda mengarahkan sinyal di antaranya.
Chris Stratton
3

Baik sumber terbuka maupun yang masih didukung tetapi Xilinx menawarkan gratis, lintas-platform (Java) API yang disebut Jbits yang memungkinkan pemrograman langsung (dan on-the-fly pemrograman ulang) dari FPGA. Saya percaya hanya CPLD dan hingga Virtex-II yang didukung, tetapi ini adalah hal yang paling dekat untuk memungkinkan dev untuk menghasilkan alat sintesis kustom mereka sendiri. Berencana untuk bermain-main dengan ini sedikit dalam waktu dekat.


sumber
Jbits sangat keren.
Prof. Falken