Alla ricerca di hardware FPGA open source e strumenti di sviluppo [chiuso]


38

Schede FPGA studiate ma non è possibile trovare schede open source e strumenti di sviluppo FPGA neutri rispetto al fornitore:

  • Il produttore di ORSoC vanta open-sourcing sul suo sito Web, ma non riesco davvero a trovare prove concrete tranne il webmastering OpenCores.org.
  • Il duo: Xilinx pubblicizza i suoi prodotti con "Concorso di innovazione hardware open source per le università della Cina continentale". Tuttavia i loro prodotti sono proprietari, scarso supporto per * ix -. Allo stesso modo, Altera ha uno scarso supporto per * ix, basta controllare il loro supporto del sistema operativo con Quartus o come avere il tuo analizzatore logico nel passo sintetico?
  • Gruppo di piccoli giocatori: lascia che punti il ​​meglio.

C'è qualche produttore forte con soluzioni open source come strumenti hw e dev?


Domanda correlata in SO qui .
hhh,

3
Esiste ora una toolchain open source per gli FPGA iCE40 di Lattice Semiconductor, vedere: github.com/cseed/arachne-pnr
Cotton Seed,

Risposte:


8

Purtroppo, non c'è molto software gratuito per hardware programmabile. Ci sono alcuni strumenti di sintesi, come Lava (che si aspetta in gran parte un posizionamento manuale), Confluence, HDCaml and Atom e Icarus Verilog , ma accanto a nessuno strumento di installazione, mappatore o posizionamento e percorso (mi piacerebbe assolutamente essere smentito in Questo). Opencircuitdesign.com ha raccolto alcuni strumenti, ma probabilmente richiede della documentazione e un generatore di bitstream. La simulazione, d'altra parte, è abbastanza ben coperta.

Sul lato non libero, gli strumenti non liberi ma gratuiti di Xilinx hanno visto recentemente alcuni miglioramenti, aggiungendo il supporto libusb e rilasciando Wind / U (un orribile analogo winelib non libero) a favore di Qt (ma non lo saranno aggiornamento per chip ritirati). La maggior parte degli altri strumenti sembra sabotata usando un pacchetto chiamato flexlm, a tal punto che è difficile farli funzionare anche con l'aiuto del venditore. Sono stato anche in grado di eseguire il software Lattice Diamond su Linux, ma mancava la simulazione. Per Atmel AT40KAL, lo strumento di localizzazione e percorso potrebbe essere eseguito in Wine, ma la libreria richiede componenti non standard (utilizza LPM, ma rifiuta porte a 2 input), quindi sarebbe necessaria una sorta di mapper.


5

Purtroppo, per quanto ne so, gli strumenti di sintesi sono tutti a codice chiuso. Il codice in essi contenuto è una grande parte del loro vantaggio commerciale, quindi ritengo improbabile che tu li sembri open source.

Xilinx ha toolchain gratuiti per Windows e Linux, e se non ti piace il loro IDE sei libero di usare i loro strumenti da riga di comando con il tuo editor. L'ho già fatto in precedenza, funziona bene per piccoli progetti (ad esempio CPLD) in cui non si vuole scherzare con grandi pacchetti software complessi.

Credo che Altera offra solo strumenti gratuiti per Windows, i loro strumenti Linux sono pagati solo l'ultima volta che ho controllato (questo potrebbe essere cambiato, forse è passato circa un anno dall'ultima volta che ho guardato).


La mia comprensione è che la sintesi - il processo di impiantare un progetto nei componenti costitutivi della tecnologia - è l'ultimo strato in cui è possibile sostituire il proprio. È il livello successivo: il luogo e il percorso, l'analisi dei tempi che deve andare con esso e la generazione di bitsream che segue, dove sono necessarie informazioni molto attente.
Chris Stratton,

5

Il Butterfly Board sembra una buona strada per principianti open source verso FPGA. Hanno già portato il core AVR8 in modo da poter eseguire schizzi Arduino / codice oggetto AVR sull'oggetto, quindi c'è una curva di apprendimento sana.

Aggiornamento: ora rinominato in Papilio Boards .

Penso che Xilinx WebPack sia necessario ed è disponibile per Windows e Linux.


Il webpack dovrebbe essere gratuito anche per te.
Kortuk,

scusate ma non riesco davvero a vedere cos'è "open source" con esso. Preferirei scivolare la moneta con oltre la metà in meno come: item.taobao.com/auction/… .
hhh

3
Anche se si basa sulla toolchain Xilinx proprietaria, Butterfly One include 1) un design della scheda open source, 2) un "programmatore" open source (bitstream-> utility flash) e 3) un sacco di IP open source come esempi . Consigliato!

Forse dovresti aggiornare il tuo link per puntare a Butterfly One? Inoltre, sai quanto sono ben supportate queste (come quante persone le usano e se sono buone per i principianti)?
Earlz il

Gli schemi e tutti sono open source per Butterfly One e l'ho fatto funzionare completamente sul mio computer Arch Linux. Devi compilare manualmente alcune cose, ma non direi che è più difficile della maggior parte degli FPGA per iniziare. (e probabilmente più facile perché viene programmato come softcore AVR
Earlz il

3

Gli strumenti di sviluppo FPGA sono tutti strettamente associati ai dispositivi FPGA stessi e dipendono completamente dai dettagli proprietari dell'architettura FPGA, in particolare a livello di posizionamento, routing e generazione di bitstream. Pertanto, la neutralità del fornitore è in gran parte inesistente. Gli strumenti di livello superiore possono essere in qualche misura neutrali rispetto al fornitore (ad es. Synplify, strumenti ESL, strumenti di verifica, ecc.), Ma non sono certamente open source.

D'altra parte, ci sono molti strumenti accademici che sono open source. Finché non vuoi sviluppare un dispositivo fisico reale, puoi usare la toolchain VPR 5.0 .


Non compro la spiegazione "strettamente legata all'hardware". È lo stesso con diversi set di istruzioni per CPU integrate.
Maxy

@maxy - no, non lo è. Una CPU estrae quantità intense di dettagli hardware che sono esposti a, e devono essere considerati, da una toolchain FPGA. Il compilatore CA non ha davvero bisogno di sapere o preoccuparsi se l'output del moltiplicatore arriverà al registro successivo in tempo, e anche il progettista della scheda deve solo controllare la massima velocità di clock consentita per saperlo. Per uno strumento FPGA, devi sapere quanto tempo impiega il moltiplicatore, qual è il tempo di impostazione del registro e quindi calcolare il ritardo tra loro in base a dove li metti sul chip e come instradare il segnale tra.
Chris Stratton,

3

Né open source né ancora supportato, ma Xilinx offre un'API gratuita, multipiattaforma (Java) chiamata Jbits che consente la programmazione diretta (e la riprogrammazione immediata) di FPGA. Credo che siano supportati solo i CPLD e fino a Virtex-II, ma è la cosa più vicina a consentire agli sviluppatori di produrre i propri strumenti di sintesi personalizzati. Progettando di giocarci un po 'con questo nel prossimo futuro.


Jbits era davvero bello.
Prof. Falken,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.