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

Ошибка времени выполнения Chisel в тестовой обвязке
Этот код Chisel работает нормально: chiselMainTest(Array[String]("--backend", "c", "--genHarness"), () => Module( new Cache(nways = 16, nsets = 32) )){c => new CacheTests(c)} Однако этот - небольшая вариация - вызывает ошибку времени...
349 просмотров

Долото добавление разрешения в реестр, имеющий следующее поле
У меня есть модуль добавления долота с плавающей запятой, который я хочу использовать, который имеет несколько этапов конвейеров. Я хочу сделать его стабильным, чтобы я мог поместить его в конвейер, который может не иметь возможности потреблять...
516 просмотров
schedule 01.05.2022

Вывод арбитра нестабилен
Я только что узнал об этой проблеме. Предположим, я использую арбитр для арбитража вывода драйвера шины от нескольких инициаторов параллельных транзакций. Шина и инициаторы используют DecoupledIO. Известно, что Арбитр имеет приоритет в (0) над...
128 просмотров
schedule 04.02.2023

Невозможно получить ускоритель RoCC, созданный с помощью примера Accumulator по умолчанию для платы zed
Пытался собрать пример аккумулятора по умолчанию для ускорителя RoCC для платы zed, но получаю ошибку "недопустимая инструкция" Я попробовал следующую конфигурацию в файле configs.scala: - class WithAccumRocc extends Config( (pname,site,here)...
176 просмотров
schedule 15.06.2023

СписокПосмотреть в ДОЛОТО
Я новичок в Scala и пытался понять архитектуру RISC-V. Я наткнулся на этот фрагмент кода, на который смотрел часами, не в силах понять. val csignals =...
432 просмотров
schedule 15.05.2022

chisel asynch fifo / несколько часов.
Поддерживает ли Chisel несколько часов в проекте? Если бы я хотел реализовать асинхронный FIFO, как бы это можно было сделать в Chisel?
562 просмотров
schedule 15.06.2023

Долото 3. Функциональный модуль Mux4
Я изучаю Chisel, следуя документации на Github Пока все работало безупречно. Но я застрял в главе 13, «Создание функционального модуля» Я не могу заставить код работать . Я создал все свои классы .scala в копии проекта...
341 просмотров
schedule 28.02.2023

Язык долота, как лучше всего использовать очереди?
Я новичок в долоте, если кто-то может объяснить роль: 1- Очередь 2- Развязанный ввод-вывод 3- Развязанный 3- Действительный ввод-вывод 4- Действительный Правилен ли этот фрагмент кода долота? ... val a = Decoupled() val b =...
1834 просмотров
schedule 02.02.2023

Как отследить неинициализированный сигнал в Chisel?
У нас сложная конструкция, и мы иногда забываем инициализировать сигнал. Зубило присваивает случайное значение. Но это затрудняет обратную трассировку от точки, в которой обнаружена ошибка, до источника. Есть предупреждения о неинициализированных...
59 просмотров
schedule 29.04.2024

Оператор мощности в долоте
Я пытаюсь найти эквивалент оператора мощности Verilog ** в Chisel. Я просмотрел шпаргалку по Chisel и руководство , но я не нашел то, что искал. Изучив проекты, написанные на Chisel, я обнаружил, что функции log2xx являются популярным выбором,...
377 просмотров
schedule 30.07.2022

Chisel: как смоделировать переменную, увеличивающуюся в развернутом цикле
Допустим, у меня есть Vec of Bool. Я хочу заполнить новый Vec того же размера значениями, равными количеству истинных значений, которые я видел до этого индекса в исходном Vec. Я хочу сделать это комбинированно. Когда мой опыт HLS и стиль...
221 просмотров
schedule 25.04.2023

долото-тестеры SteppedHWIOTester с несколькими тактовыми доменами
Попытка протестировать asyncFifo, написанный в chisel с помощью SteppedHWIOTester, вот так class AsyncFifo(width: Int, depth: Int, syncStages: Int) extends Module { val length = log2Ceil(depth) val io = IO(new Bundle { val clk_write =...
194 просмотров
schedule 01.04.2023

Параметризованный FIFO в Chisel
Я просматривал руководство Chisel 2.2 Tutorial (я знаю, что Chisel3 отсутствует в БЕТА-версия, но мне необходимо использовать Chisel2.2 для некоторого расширения ранее реализованных модулей). Я искал примеры использования интерфейса DecoupledIO в...
449 просмотров
schedule 02.05.2023

Что такое Clone in Chisel
Я новичок в Chisel. Какова цель клонирования в Chisel? Я где-то видел написанное "создает неглубокую копию". Зачем нам это нужно? Вот примеры. Не могли бы вы его уточнить. 1) class Valid[+T <: Data](gen: T) extends Bundle {...
493 просмотров
schedule 02.04.2023

Ошибки, связанные с инициализацией вывода, возникают при использовании несвязанного ввода-вывода.
Когда я использую DecoupledIO, кажется, что он генерирует ошибки, вызванные тем, что Reference io не полностью инициализирован . Это потому, что мне нужно инициализировать вывод, в данном случае биты, и действительный или готовый (в зависимости от...
288 просмотров
schedule 08.02.2023

Сомнения по поводу Chisel dontTouch API и оптимизации FIRRTL
Есть некоторые сомнения, когда я изучаю Chisel в настоящее время. Кажется, FIRRTL сделает некоторую оптимизацию для генерации кода Verilog. И я пишу пример, и собираюсь его запустить. Но я нахожу некоторые проблемы. Мой пример кода (я...
110 просмотров
schedule 06.06.2023

В Chisel 3 требуется 10 минут для компиляции сгенерированного Verilator кода C++ для Rocket Chip. Есть ли способы ускорить это?
Мы модифицируем код Rocket Chip. После каждой модификации нам нужно запускать программы сборки, чтобы убедиться, что все работает правильно. Для этого выполните следующие действия: 1) Запустите Chisel, чтобы сгенерировать Verilog 2) Запустите...
348 просмотров
schedule 13.07.2023

Что такое оператор ‹› в Chisel?
В обучающих программах Chisel используется совершенно незнакомый мне оператор <> . Что оно делает? Кроме того, откуда это? Есть ли у этого оператора общепринятое значение в других библиотеках Scala или даже на других языках? Вот пример...
987 просмотров
schedule 09.08.2022

Как использовать долотовидные инструменты dsptools с поплавками
Мне нужно преобразовать Float32 в Chisel FixedPoint, выполнить некоторые вычисления и снова преобразовать FixedPoint в Float32. Например, мне нужно следующее: val a = 3.1F val b = 2.2F val res = a * b // REPL returns res: Float 6.82 Теперь...
505 просмотров
schedule 21.09.2022

Не дополняется знаком в операции AND в firtl
Я попробовал простой тест, как показано ниже, в chisel3. import chisel3.iotesters.{ChiselFlatSpec, Driver, PeekPokeTester} import chisel3._ class TestTesterUnit(c: Test) extends PeekPokeTester(c) { val value = 31 poke(c.io.a, value)...
65 просмотров
schedule 15.06.2022