2014-12-14 46 views
5

Ho studiato le fonti di Chisel e anche vari tipi di Lavas (Kansas, Chalmers e Xilinx) e CLaSH. Sto cercando di capire quali sono i principali punti di vendita di Chisel rispetto agli altri. Il principale che ho identificato è la simulazione veloce.Qual è la differenza tra Chisel e Lava e CLaSH?

Mi stavo chiedendo se le persone che hanno studiato più approfonditamente possano indicare altri vantaggi, svantaggi e compromessi.

(scusate se è troppo di una domanda discussione. Ho cercato intervento a scalpello-utenti, ma a quanto pare è necessario essere accettato come membro a farlo.)

risposta

5

In primo luogo, un disclaimer che sono un pesante utente di Chisel, ma ha solo familiarità con i DSEL basati su Haskell che menzioni.

Penso che la capacità di Chisel di scegliere come target più backend (C++, Verilog, ecc.) Sia un vantaggio significativo. Il C++ generato consente la simulazione accurata del ciclo a molte volte la velocità dei simulatori Verilog/VHDL, poiché evita il modello event-driven inerente a tali linguaggi.

Questo non è un limite intrinseco, ma Lava e CLaSH sembrano essere principalmente rivolti alle implementazioni FPGA, mentre Chisel è stato utilizzato per lavorare su FPGA e ASIC. Scalpello può anche essere un po 'meglio supportato; codice, istruzioni ed esempi sono tutti available on GitHub e la lingua rimane in sviluppo attivo.

Ci sono anche differenze tra Haskell e Scala (le lingue madri); se ti senti più a tuo agio nell'uno o nell'altro, potrebbe essere un po 'più facile iniziare. (Lascio le "guerre linguistiche" agli esperti.)

Problemi correlati