Как сделать структуру данных - PullRequest
2 голосов
/ 19 октября 2019

Я хочу сделать структуру данных похожей на поддержку языка Си в описании Chisel3.

class Tablel(DataWidth: Int, NumLinks: Int) extends Bundle {
        val valid       = Reg(Bool())
        ...
}

в других ссылках на классы:

val Tab = Vec(NumEntries, Table(DataWidth, NumLinks))

Ошибка:

not found: value Table

Да, это из-за класса.

Я пока не понимаю, как описать структуру данных, которая не использует объявление class . Кто-нибудь может указать на это?

1 Ответ

1 голос
/ 19 октября 2019

В вашем примере слово Tablel имеет дополнительный 'l' в конце. Также для создания экземпляра класса вы должны использовать оператор new.

val tab = Vec(NumEntries, new Table(DataWidth, NumLinks))

Я бы также рекомендовал придерживаться типичных правил форматирования Scala. Например, переменные должны начинаться со строчной буквы. Это поможет вам читать чужой код, а другим - ваш.

А что касается вашего более общего вопроса о том, как создать структуру данных, ответом для долота будет использование Bundle, * 1009. * и Vec. Итак, вы на правильном пути.

...