Самый простой способ сгенерировать код Verilog из кода Chisel

Каков самый простой способ сгенерировать код Verilog из существующего кода Chisel?

Придется ли мне создавать собственный файл сборки?

Например, из автономного файла scala (AND.scala), подобного следующему ..

import Chisel._

class AND extends Module {
  val io = IO(new Bundle {
    val a = Bool(INPUT)
    val b = Bool(INPUT)
    val out = Bool(OUTPUT)
  })
  io.out := io.a & io.b
}

У меня установлена ​​полная Chisel3 Toolchain под Ubuntu 16.4.


person mtosch    schedule 23.01.2017    source источник
comment
Отвечает ли это на ваш вопрос? Есть простой пример как сгенерировать verilog из модуля Chisel3?   -  person seldridge    schedule 18.06.2020


Ответы (1)


См. Ответ здесь: Есть ли простой пример того, как сгенерировать verilog из модуля Chisel3?

Короче говоря, создайте файл build.sbt в корне вашего проекта со следующим содержимым:

scalaVersion := "2.12.8"

resolvers ++= Seq(
  Resolver.sonatypeRepo("snapshots"),
  Resolver.sonatypeRepo("releases")
)

libraryDependencies += "edu.berkeley.cs" %% "chisel3" % "3.1.6"

Добавьте этот код в AND.scala

object ANDDriver extends App {
  chisel3.Driver.execute(args, () => new AND)
}

Введите sbt run в командной строке в корне вашего проекта.

person Jack Koenig    schedule 23.01.2017
comment
Большое спасибо за быстрый ответ! Думаю, я наблюдал за другой веткой. Я просто попробовал, и все работает. ПРИМЕЧАНИЕ: для этого должны быть установлены jdk8 и sbt! (jdk9 у меня не работал) - person mtosch; 24.01.2017
comment
В любом случае, чтобы сгенерировать verilog в целевой папке вместо того же места, что и build.sbt? - person iBug; 24.02.2019
comment
Ага! Chisel и FIRRTL имеют параметры командной строки. Обратите внимание, как мы передаем args в chisel3.Driver.execute? Мы передаем Chisel аргументы командной строки, отправленные ANDDriver. Вы можете передавать такие аргументы: sbt "run --help". Конкретным для целевой папки является --target-dir или -td, т.е. sbt "run -td my_target_dir - person Jack Koenig; 24.02.2019
comment
Спасибо! +1 за ваш ответ. - person iBug; 26.02.2019