Описание тега verilator

Verilator - это инструмент перевода, который преобразует подмножество Verilog, а также части SystemVerilog в C++ или SystemC.
1 ответ

Может ли Verilator создать иерархию классов?

Генеральный Verilator вопрос: Когда я указываю иерархический дизайн Verilog с несколькими модулями, разделенными на несколько файлов, проект всегда выравнивается до single класс C++ или есть вероятность, что Verilator сохраняет иерархию, создавая кл…
06 янв '19 в 16:21
1 ответ

Как инициализировать тип класса, используемый в качестве параметра функции

Я пытаюсь справиться с преобразованиями HDL в C++ и натолкнулся на некоторую загадку. Преобразование с использованием Verilator в Ubuntu достаточно простое, но меня раздражает один тип данных. Верхний код в иерархии... #include <iostream> #inc…
21 окт '16 в 08:38
1 ответ

Создание подмодуля в topmodule приводит к ошибке verilator

Я только начал изучать Verilog и решил сделать 4-битный сумматор. Чтобы создать этот 4-битный сумматор, я сначала создал модуль half_adder, затем модуль full_adder, который использует модуль half_adder. В 4-битном сумматоре я использую 4 модуля full…
28 фев '19 в 15:34
2 ответа

Сравнение является постоянным из-за беззнаковой арифметической ошибки в verilog с verilator

Я использую следующую логику для реализации 2-битного насыщающего счетчика в бимодальном предикторе в Verilog, и я также использую verilator следующим образом: • For each branch, maintain a 2-bit saturating counter: -if the branch is taken: counter …
17 мар '17 в 21:29
0 ответов

gtkwave addSignalsFromList с сигналом массива

Я запускаю gtkwave с -S флаг для передачи .tcl скрипт такой: gtkwave signals.vcd -S signals.tcl Файл VCD был сделан из Verilator. В моем файле VCD у меня есть массив сигналов. Я могу легко использовать свою мышь, щелкнуть и добавить их в представлен…
08 фев '18 в 05:25
1 ответ

Отправить SystemVerilog $display на stderr

Я использую Verilator для включения алгоритма, написанного в SystemVerilog, в исполняемую утилиту, которая управляет потоками ввода-вывода, передаваемыми через stdin а также stdout, К сожалению, когда я использую SystemVerilog $display() функция, вы…
16 окт '15 в 00:06
1 ответ

Динамический испытательный жгут в долоте 3

Мы внедряем процессор в Chisel и имеем много очень сложных тестовых случаев. Для элементов, которые имеют много состояний, мы хотим генерировать длинные последовательности тестовых векторов на лету, а также вычислять правильный ответ на лету. В доло…
12 янв '17 в 11:44
0 ответов

mex компилирует сгенерированные файлы

У меня есть код verilog, который я компилирую, используя verilator. Кроме того, я написал тестовый стенд на C++ (основная функция), и я могу делать симуляции полностью на C++. В данный момент я пытаюсь запустить эту симуляцию через matlab (потому чт…
27 ноя '18 в 20:36
0 ответов

Создание эмулятора на основе RISCV с использованием Verilator

Я знаю, что мы можем создать аппаратную модель С ++ в Verilator. Если я сгенерировал obj_dir после передачи файла top.v verilator и получить модель C++ в двоичном виде. Можно ли использовать двоичные файлы (например, elf) для проверки вашей системы?…
20 фев '18 в 15:12
0 ответов

$finish выполняется дважды, имитируя использование verilator

Вот мой main.cpp испытательный жгут: #include <iostream> #include "verilated.h" #include "Vour.h" int main(int argc, char** argv, char** env) { Verilated::commandArgs(argc, argv); Vour top; std::cout << (int)top.B << std::endl; top…
18 сен '18 в 04:25
1 ответ

Симуляция ракетного чипа показывает неожиданное количество команд

Следующие два фрагмента кода отличаются только значением, загруженным в регистр x23, но minstret количество команд (сообщаемое с помощью моделирования Verilator чипа Rocket) существенно отличается. Это ошибка или я что-то не так делаю? read_csr() фу…
13 июн '18 в 22:56
1 ответ

Как сказать Verilator Linter не проверять субмодуль?

Я использую Verilator для раскрашивания моего дизайна с помощью этих команд: verilator -lint-only -Wall top_design.v Но некоторые подмодули недоступны (в основном потому, что это шаблон из конструктора FPGA). Тогда у меня есть такие ошибки: %Error: …
21 ноя '18 в 15:45
2 ответа

Код verilog, чтобы найти одно максимальное значение для входа, который имеет значения 1000 образцов

Я хочу найти одно максимальное значение для входного сигнала, который имеет 1000 десятичных значений, которые считываются из памяти один раз каждый положительный край clk. я сделал следующий грубый код для поиска максимального значения, но он не дал…
25 май '16 в 05:47
0 ответов

Как преобразовать большой дизайн Chisel в модель C++ с помощью Verilator?

Я столкнулся с проблемой неправильного выделения памяти при компиляции большого аппаратного дизайна долота в модель C++ с использованием бэкэнда верилятора. Когда я хочу создать большой PE-дизайн (например, 36x36), я пишу свой код следующим образом …
13 дек '19 в 16:02
1 ответ

Не удается открыть скрипт Perl "/bin/verilator" во время 'make test'

Я следую руководству по установке программы в среде RHEL, и до этого момента я преодолел некоторые ошибки. Я нахожусь в конце процесса установки, пытаюсь подтвердить правильность с помощью команды make test, которая возвращает следующую ошибку: [use…
05 окт '19 в 20:39
1 ответ

негерметичное действие Bazel для включения удаленного кэширования

Я повторял базовое правило для инструмента, который зависит от "кастомного" (верилятора, если вы знакомы). Этот инструмент должен читать аргументы и входные данные и создавать файлы cpp. Действие, которое вызывает верилятор, определено ниже. ctx.act…
13 дек '19 в 02:49
1 ответ

Chisel произвольно инициализирует значение регистра при моделировании с помощью верилятора

Я использую Chisel и blackbox для запуска моей логики chisel с файлом реестра Verilog. Регистровый файл не имеет сигнала сброса, поэтому я ожидаю, что регистр будет инициализирован случайным образом. Я прошел --x-initial unique to verilator, в основ…
27 дек '19 в 06:47
2 ответа

Как мне сгенерировать параметры, зависящие от предыдущих параметров в systemverilog

Недавно я перешел с VHDL на SystemVerilog и конвертирую некоторые из своих кодов. Я хочу сгенерировать массив локальных параметров на основе 3 параметров SZ,L,max. module test #( parameter int SZ = 1024, parameter int L = 35, parameter int MAX = 4 )…
22 янв '20 в 02:47
2 ответа

Параметр SystemVerilog/Verilator WIDTH и индексирование структуры кейса за пределами

В настоящее время я реализую PRNG в SystemVerilog, используя LFSR, как описано здесь. Ширина должна изменяться с помощью параметра. Я достигаю конструкции: module PRNG #( parameter WIDTH = 32, parameter SEED = 1 ) ( input clk, input update, output r…
21 янв '20 в 13:39
1 ответ

выполнить запуск для эмулятора чипа RISC-V Rocket не удается

Я следую README здесь, чтобы настроить: https://github.com/chipsalliance/rocket-chip. Когда я бегуmake -j6 run в моем $ROCKETCHIP/emulator каталог, я получаю следующее сообщение об ошибке: make: *** [output/rv64uf-p-fclass.out] Error 255 make: *** W…
11 апр '20 в 23:39