Зависимость от библиотек Verilog

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

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

Ваше здоровье


person Joan    schedule 13.04.2015    source источник


Ответы (1)


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

12 Блэкбокс

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

модуль как подкласс BlackBox и поле io с интерфейсом. Например, можно определить простой черный ящик ПЗУ следующим образом:

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() 
}

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

person dk14    schedule 13.04.2015