Описание тега chisel
Chisel is an open-source hardware construction language developed at UC Berkeley that supports advanced hardware design using highly parameterized generators and layered domain-specific hardware languages.
2
ответа
"данные для подключения 'chisel3.core.UInt@103' должны быть аппаратными, а не чистым типом зубила" при переписывании OpenSoCFabric1.1.2 из Chisel2 в Chisel3
Я пытаюсь переписать OpenSoCFaric-1.1.2 от зубила2 до зубила3. Но я сталкиваюсь с сообщениями об ошибках "данные для подключения 'chisel3.core.UInt@103' должны быть аппаратными, а не чистым типом долота" для приведенного ниже кода: Файл: packettoFli…
07 май '18 в 07:31
1
ответ
Как MemReq и MemResp точно работают в RoccIO - RISCV
Я пытаюсь понять, как я могу читать и записывать в память в RISCV, когда я использую RoCCIO. Но я не мог четко понять, что происходит. Особенно как мне обращаться к памяти или как работать с памятью tag, Есть ли какие-нибудь ресурсы, которые я могу …
09 июн '15 в 23:05
1
ответ
Что означают "&" и "%" в операторах -&, -%, +&, +% в Chisel3?
Я пытаюсь изучить Chisel3 на примере GCD, приведенном на официальной веб-странице. В этом примере используется оператор с именем -%, что это значит? Это не объясняется на странице оператора Wiki. И Cheatsheet говорит "вычитание" как обычный символ в…
08 ноя '16 в 09:43
2
ответа
Запуск dummy_rocc_test на доске zed
Dummy_rocc_test отлично работает на шипе с инструкцией custom0, но когда я кладу ее на доску zed и запускаю с ./fesvr-zynq pk dummy_rocc_test это дает мне ошибку незаконной инструкции. Я понимаю, что это потому, что rocc io находится не в конфигурац…
27 окт '15 в 03:58
1
ответ
Память читать и писать в том же индексе и в том же цикле
Например: () означает индекс адресов Mem в цикле 10 Mem (5) data = 5 в 11 цикле читать Mem (5) напиши 3 в Mem (5) Каково поведение в 11 цикле? (1) Сначала он получает данные 5, а затем записывает 3 в Mem (5). В цикле 12 Mem (5) данные = 3. (2) Или с…
21 мар '18 в 16:32
1
ответ
Долото3: хотите использовать Vec, но нужно использовать IndexedSeq
При генерации сдвинутого регистра сдвига с использованием "scanLeft" мне нужно было использовать IndexedSeq регистров и явное копирование результата scanLeft на выходной провод. Вот четыре примера (с testbench). Только первый работает. Мне больше нр…
30 авг '17 в 17:38
1
ответ
Неработающий URL для установки плагинов Scala
Я пытаюсь установить Rocket-Chip, а Chisel3 - это субмодуль в этом git-репо. Я следовал инструкциям в Chisel3 git repo Я получаю следующую ошибку при использовании sbt compile Проект / plugins.sbt репозитория chisel3 имеет resolvers += Resolver.url(…
16 июн '18 в 17:45
1
ответ
Отображение сигналов долота в VCD
Я работаю с чипом RISC-V Rocket. Я добавил некоторые свои собственные сигналы и логику и хотел увидеть значения существующих сигналов в микросхеме Rocket, которые еще не показаны в форме сигнала VCD. Как мне записать эти сигналы в файл VCD?
15 сен '15 в 22:07
1
ответ
Как добавить каждый элемент Vec?
Например, предположим, что у меня есть следующие данные: class VectorElemAdd extends Module { val io = IO (new Bundle { val input = Input(Vec(64, UInt(64.W))) val out = Output(UInt(64.W)) }) /* if the vector data is : 0, 1, 2, 3, 4, 5, ..., 63, I ha…
29 мар '18 в 14:28
1
ответ
Наименование верхнего уровня в chisel3
class generator(options: Map[String, Any]) { trait for_module extends abstractModule { //generates trait with params } class my_module extends abstractModule with for_module def exec = { ... Driver.execute(Array("-tn", "SomeName", "-td", "SomePath")…
23 май '17 в 15:22
1
ответ
Долото асинхронное fifo / несколько часов.
Поддерживает ли Chisel несколько часов в дизайне? Если бы я хотел внедрить асинхронный fifo, как бы вы поступили с долотом?
14 окт '16 в 18:17
1
ответ
Переназначить переменную несколько раз в течение такта - долото
Я хотел бы переназначить переменную hit_bits несколько раз в течение одного такта. hit_bits будет увеличиваться всякий раз, когда io.bits_perf.bits(i) правда. Я получаю "НАЙДЕННЫЙ КОМБИНАЦИОННЫЙ ПУТЬ!" когда я пытаюсь скомпилировать код. Любая идея?…
02 дек '16 в 15:01
1
ответ
Как кодировать асинхронный сброс в долоте
Как добавить сигнал сброса в список чувствительности в сгенерированном коде Verilog при написании кода Чизеля, например код ниже для D триггера: val x = Reg(init = UInt(0, width = 1)) x := io.D io.Q := x сгенерирует код Verilog так: always @(posedge…
04 сен '16 в 14:27
1
ответ
Карри в аппаратных средствах
Я пытаюсь реализовать простой адресный декодер с функцией карри внутри. Код ниже не скомпилируется, кто-нибудь может мне помочь с этим? class AddrDecoder[T<:UInt] (dType:T, n:Int) extends Module { val io = IO (new Bundle { //val range = (Vec(Seq.…
26 окт '18 в 12:07
0
ответов
Существует только один Core ACTIVE в двухъядерном Verilator при запуске программ baremetal или pk
Я использую двухъядерную сборку Verilator(эмулятор). Но я обнаружил, что только одно ядро активно, когда я запускаю baremetal программ pk, используя такую команду: ./emulator-freechips.rocketchip.system-DualCoreConfig baremetal-program или же ./…
23 окт '18 в 09:16
4
ответа
Learning Chisel - расширенные примеры для понимания кода Rocket Chip
Реализация RISC-V в Беркли называется Rocket Chip и написана на аппаратном языке Chisel. Зубило ориентировано на объект, и людям в нашей команде было трудно научиться эффективно изменять код Rocket Chip. Это "Обучающее путешествие", которое мы созда…
18 окт '17 в 19:45
2
ответа
Долото: как смоделировать переменную, увеличенную в развернутом цикле
Допустим, у меня есть Vec of Bool. Я хочу заполнить новый Vec того же размера значениями, равными количеству истинных значений, которые я видел до этого индекса в исходном Vec. Я хочу сделать это комбинационно. С моим фоном HLS и стилем кодирования,…
20 июл '17 в 16:53
3
ответа
Заявление о переключении долот, кажется, не работает так, как описано в официальном руководстве
Я пытался создать управляющую логику для цепи в долоте, когда получил несколько ошибок, связанных с операторами переключения, которые я использовал. Я решил запустить пример кода оператора switch, представленный на страницах 9 и 10 официального руко…
05 июл '15 в 05:18
1
ответ
Ленивые модули в RocketChip
Некоторое время я пытался узнать о LazyModule абстрактный класс и diplomacy пакет в общем. Самый простой вывод состоит в том, что объекты классов потомков LazyModule создаются только при первом обращении к ним. (Пожалуйста, исправьте меня, если я ош…
17 мар '18 в 17:50
1
ответ
Как использовать экспериментальные функции в Chisel3?
Я хотел загрузить память из файла, используя функции, описанные на этой вики-странице. Но это экспериментальная функция и команда импорта: import chisel3.util.experimental.loadMemoryFromFile Дайте ошибку сборки: [error] /Vamps/src/main/scala/vamps/m…
07 дек '18 в 09:12