Вопросы по теме '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 просмотров
schedule
03.04.2022
Сообщается об ошибке при запуске 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