Chisel: новый HDL-язык
2013-12-02 13:10Рождается новый симпатичный язычок для разработки хардвера: Chisel. Порождает код на Verilog, не уступающий по качеству написанному вручную, а также cycle-accurate симулятор на Си++, работающий в восемь раз быстрее чем Synopsys VCS. Сделан на основе языка Scala. Пример кода:
Мне кажется, эта штука должна вытеснить SystemC на ура. Из документации есть DAC2012 Introduction Paper (PDF) и Chisel Tutorial (PDF).
import Chisel._
class GCD extends Module {
val io = new Bundle {
val a = UInt(INPUT, 16)
val b = UInt(INPUT, 16)
val e = Bool(INPUT)
val z = UInt(OUTPUT, 16)
val v = Bool(OUTPUT)
}
val x = Reg(UInt())
val y = Reg(UInt())
when (x > y) { x := x - y }
unless (x > y) { y := y - x }
when (io.e) { x := io.a; y := io.b }
io.z := x
io.v := y === UInt(0)
}
object Example {
def main(args: Array[String]): Unit = {
chiselMain(args, () => Module(new GCD()))
}
}Мне кажется, эта штука должна вытеснить SystemC на ура. Из документации есть DAC2012 Introduction Paper (PDF) и Chisel Tutorial (PDF).

no subject
Date: 2013-12-02 23:45 (UTC)no subject
Date: 2013-12-03 00:02 (UTC)no subject
Date: 2013-12-03 00:27 (UTC)no subject
Date: 2013-12-03 07:13 (UTC)О, а там еще есть === и ==
no subject
Date: 2013-12-03 10:06 (UTC)