Вопросы по теме 'chisel'

Назначьте vec портам UInt
если у меня есть порт io, который равен io.myoutput = UInt (width = 840) Тогда у меня есть val a = vec.fill (140) {UInt (width = 6)} Как мне назначить весь vec на выходной порт? Я пробовал цикл с for (i = 0 until 140){...
305 просмотров
schedule 12.08.2022

Проверка или визуализация графа узлов Chisel
Я хотел бы использовать Chisel для создания схем из деревьев операторов if-then, которые я иметь в формате XML ( деревья решений PMML ). Простые расщепления, такие как class Mod extends Module { val io = new Bundle { val x1 = UInt(INPUT,...
197 просмотров
schedule 29.04.2022

Зубило синхронное считывание памяти
Я пытаюсь создать verilog для памяти с синхронным чтением с помощью следующего долота val my_mem = Mem(Bits(width=64), 4096, seqRead=true) val read_data = Reg(Bits(width=64)) when(io.re) { read_data := my_mem(io.addr) } io.ret_data := read_data...
822 просмотров
schedule 17.09.2023

Он должен развернуть цикл, но вместо этого выдает AssertionError
Я пытался сгенерировать verilog для приведенной ниже программы, но она выдает AssertionError. Является ли соответствующий оператор verilog развернутым «io.opcode: = io.a + io.b» 5 раз? было бы очень полезно, если бы кто-нибудь мог рассказать, как...
72 просмотров
schedule 15.06.2022

Что делает функция Queue () в Chisel?
Я читал исходный код ракетного чипа, в rocc.scala файле в rocket/src/main/scala/ есть пример AccumulatorExample использования rocc . В первой части кода есть функция Queue() , которую я не мог понять, что она делает? val n = 4 val...
579 просмотров
schedule 10.07.2022

Как протестировать модуль verilog, созданный Chisel, в VCS? Как vpi_uer.cc работает в chisel?
В chisel-tutorial, после того, как я запустил sbt "run Hello --backend v --compile --test --genHarness --vcd" Получил файлы Hello.v, Hello-harness.v, vpi_user.cc Как я могу протестировать файл Hello.v? Какое использование vpi_user.cc?
242 просмотров
schedule 27.08.2022

Отображение сигналов Chisel в VCD
Я работаю с чипом RISC-V Rocket. Я добавил некоторые свои собственные сигналы и логику и хотел увидеть значения существующих сигналов в чипе Rocket, которые еще не показаны в форме сигнала VCD. Как сбросить эти сигналы в файл VCD?
410 просмотров
schedule 24.12.2022

Как очистить очередь ChiselUtil?
В классе ChiselUtil есть очередь, которая описана в руководстве как: // Generic hardware queue. Required // parameter entries controls the // depth of the queues. The width of // the queue is determined from the // inputs. // Example usage: //...
174 просмотров
schedule 23.08.2022

назначение векторного диапазона долота hdl
Я новичок в Chisel HDL. У меня вопрос относительно назначения Vec. Предположим, у меня есть Vec с n элементами, и каждый из них имеет w-битный SInt, Как я могу назначить диапазон элементов, допустим, у меня есть два Vec: a = Vec(10,...
321 просмотров
schedule 15.04.2023

Что означают '&' и '%' в операторах - &, -%, + &, +% в Chisel3?
Я пытаюсь изучить Chisel3 с помощью примера GCD, приведенного на официальной веб-странице . В этом примере используется оператор с именем -%, что это означает? Это не объясняется на странице оператора в вики. И в Cheatsheet написано...
1032 просмотров
schedule 20.07.2022

Используйте общий тип, чтобы отключить логику в пути данных (Chisel)
Я работаю над RISCV-процессором Z-Scale, где я реализовал новые функции и логику в пути данных. Мне интересно, существует ли простой способ «отключить» определенные части кода без использования множества циклов if? Я хотел бы упростить переключение...
212 просмотров
schedule 22.03.2024

Как инициализировать примитив ShiftRegister в Chisel
Мы используем ShiftRegister в Chisel 2 для реализации задержки. Но неясно, как заставить его инициализировать значение по нашему выбору, например, принудительно установить его равным нулю (НЕ случайным образом). Как это сделать?
119 просмотров
schedule 06.03.2022

Матричные операции в долоте
Поддерживает ли Chisel матричные операции, такие как сложение, умножение, транспонирование и т. Д.? Если нет, как лучше всего их реализовать? А как насчет векторов?
564 просмотров

Сообщается об ошибке при запуске Laucher by chisel
Я скачал учебник по зубилу, который предлагается на сайте usb-bar. Для практики я создал файл scala с именем «Regfile.scala» по пути: "chisel-tutorial/src/main/scala/solutions/Regfile.scala". Тестовый файл хранится по пути:...
79 просмотров
schedule 19.08.2023

Использование ScalaCheck с PeekPokeTester
Вот тест chisel3, который использует ScalaCheck для проверки свойств простой комбинационной схемы. package stackoverflow import org.scalatest.{ Matchers, FlatSpec, GivenWhenThen} import org.scalacheck.{ Properties, Gen, Arbitrary} import...
244 просмотров
schedule 09.05.2023

Chisel3: Как получить файлы verilog, cpp и vcd одновременно
Я новичок в работе с зубилом. Я буду использовать его в своем проекте в ближайшие дни, и я пытаюсь познакомиться с библиотекой. После работы с учебными пособиями по Chisel я лучше понял, как все работает в chisel . В обучающих программах все...
1238 просмотров
schedule 13.07.2022

Получение предупреждения, когда в проекте есть неподключенный ввод-вывод
Интересно, есть ли способ получить предупреждение, когда есть модуль, который я не подключил ни к одному из его IO. Я создаю файл verilog из своего дизайна долота. И в некоторых случаях я вижу, что некоторые из моих операций ввода-вывода вырываются....
40 просмотров
schedule 19.06.2022

Mem читается и пишется по одному и тому же индексу и в одном цикле
Например: () означает индекс адреса памяти в цикле 10 Данные памяти (5) = 5 в цикле 11 читать мем(5) написать 3 в память (5) Каково поведение на цикле 11? (1) Сначала он получает данные 5, а затем записывает 3 в Mem(5). В цикле...
55 просмотров
schedule 04.03.2023

Chisel / Firrtl Verilog backend доказательство работы
Есть ли какие-то встроенные тесты или инструменты для формальной проверки дизайна chisel или firrtl по сравнению с сгенерированным verilog? На каких концепциях построен бэкэнд Verilog? Есть ли в нем баги?
630 просмотров
schedule 25.05.2022

Требуется: T Ошибка долота
Я получаю следующие ошибки долота для io.out(i) := Cat(io.in1(0) ,io.in2) линии. Что это означает? и как мне это исправить? Пожалуйста помоги. type mismatch; [error] found : chisel3.core.UInt [error] required: T [error] io.out(i) :=...
217 просмотров
schedule 24.03.2022