Proyek LLHD - Bahasa Deskripsi Perangkat Keras Universal

Beberapa hari yang lalu, sebuah artikel yang sangat menarik oleh para peneliti Swiss diterbitkan di arXiv , yang menyajikan rincian proyek LLHD . Ini adalah proyek untuk membuat representasi perantara multi-level untuk bahasa deskripsi perangkat keras, mewarisi ideologi dan prinsip - prinsip proyek LLVM .


Dengan kata sederhana, ini adalah bahasa baru untuk menggambarkan perangkat keras, tanpa kekurangan dari pendahulunya dan sekarang menunjukkan kinerja yang layak, fleksibilitas dan kompatibilitas dengan infrastruktur yang ada. Yang menyenangkan adalah bahwa kode untuk alat utama ditulis dalam Rust .


Usulan hierarki alat (selanjutnya gambar dari artikel asli)


Proyek ini memiliki setiap kesempatan untuk menjadi seperti yang pernah terjadi dengan GCC dan LLVM untuk dunia perangkat lunak terbuka. Sulit membayangkan seberapa banyak ini dapat membuat perbedaan di sekitar penambangan besi.


Di bawah pemotong adalah deskripsi keadaan saat ini, gambaran singkat bahasa dan perbedaan dari pendekatan baru.


pengantar


, NDA, . , , : HDL , , (bitstream), . Lattice iCE40 ( iCE Storm), ECP5 ( Trellis) , , Xilinx 7 ( X-Ray).


, - . , : Verilog VHDL. , , . , - : , . , Chisel, Verilog VHDL. , , Verilog, .




. , Verilog VHDL —  . . .


, , , — .


HTML, , .


, ( ) , , , , .


, , — , — . , , , , «».



(Intermediate Representation, IR) . , LLVM GCC LLVM IR GIMPLE. CPS. JVM IR. .


IR , .


, , , :


gambar

: (behavioral), (structural) (netlist):


  • , . , - .
  • , . , (. ).
  • . , , , .

, IR . LLHD . LLHD , , . LLHD .


LLVM LLHD


LLVM — , — IR LLVM. , , . LLVM . ++ Siberia JIT VM Smalltalk.


, IR . LLVM . , LLVM IR : , «» , , , .. , IR , « » , LLVM .


SSA .. , , . .


IR LLVM . IR . , , :



LLHD IR LLVM, , . , .


LLHD IR .


IR , LLVM JIT- IR .


, . .


IR LLHD


HDL LLHD : , .


0 0 1 . . , SSA. , . .


, , . , . , . 0 . . , , . , , . , .


. , . .


IR LLHD. , :



acc ( clk, 32- x en) 32- (q). d q, , . zero.



acc_ff clk. prb ; wait ( - ) ; neq and " " " "; br ; drv .



acc_comb q, x en. , , (add) qp xp.


. , . , :



LLHD


  • : (CF), (DCE) peephole (IS)
  • «» (ECM)
  • (TCM)
  • phi (TCFE)

IR :



, . .



LLHD, JIT- LLHD HDL . HDL , , LLHD Moore.



, --. JIT- LLHD 2.4 , , RISC-V .


, Moore. . , LLHD RISC-V.



, , , . , SystemVerilog, JIT- LLHD, .


:


  • LLHD
  • IR LLHD , ,
  • , HDL
  • -
  • ,

, , . , , , .


, Rust , , LLVM . , LLHD.


All Articles