2015-04-13 3 views
1

Можно ли зависеть от некоторых уже закодированных Verilog libs в Scala Chisel?Зависимость от Verilog libs

Если это не похоже на функцию, столь же важную, как ретро-совместимость Java Scala, которая сделала успех Scala в мягком мире.

Приветствие

ответ

3

Вы можете включить некоторый внешний модуль как blackbox:

12 BlackBox

Черных ящики позволяют пользователям определять интерфейсы для схем определенных вне зубила. Пользователь определяет:

модуль как подкласс BlackBox и поле io с интерфейсом. Например, можно определить простой ROM BlackBox как:

class RomIo extends Bundle { 
    val isVal = Bool(INPUT) 
    val raddr = UInt(INPUT, 32) 
    val rdata = UInt(OUTPUT, 32) 
} 

class Rom extends BlackBox { 
    val io = new RomIo() 
} 

Unfortunatelly, я не нашел инструмент для создания blackboxes из .v файлов. Кажется, что вам необходимо определить все необходимые типы/интерфейсы самостоятельно (используя Bundle). Об импорте - все .v файлов в той же папке автоматически available (так что вы можете просто поместить свой library.v рядом с сгенерированными .v файлами), но иногда вам может потребоваться вручную добавить еще более сложные включения в сгенерированные файлы .v. Так что пока это не очень удобно.

Смежные вопросы