#!/usr/bin/bash mkdir -p build # Verifica se um argumento foi passado, caso contrĂ¡rio executa read if [ -z "$1" ]; then echo "Digite o nome do teste:" read nome_do_teste else nome_do_teste=$1 fi cp verification_tests/memory/$nome_do_teste.hex verification_tests/memory/generic.hex verilator --cc --exe --build --trace --timing --timescale 1ns/1ps --top-module Grande_Risco_5_SOC \ testbenchs/soc_main.cpp rtl/core/grande_risco5_types.sv rtl/core/csr_unit.sv rtl/core/branch_prediction.sv rtl/core/invalid_ir_check.sv \ rtl/core/alu_control.sv rtl/core/alu.sv rtl/core/bmu.sv rtl/core/cache_request_multiplexer.sv rtl/core/core.sv \ rtl/core/d_cache.sv rtl/core/EXMEM.sv rtl/core/forwarding_unit.sv rtl/core/fpu.sv rtl/core/i_cache.sv rtl/core/IDEX.sv \ rtl/core/IFID.sv rtl/core/immediate_generator.sv rtl/core/ir_decomp.sv rtl/core/mdu.sv rtl/core/MEMWB.sv rtl/core/mux.sv \ rtl/core/registers.sv rtl/core/Grande_Risco5.sv rtl/peripheral/memory.sv rtl/peripheral/leds.sv rtl/peripheral/soc.sv \ rtl/peripheral/fifo.sv rtl/peripheral/gpio.sv rtl/peripheral/gpios.sv \ rtl/peripheral/peripheral_bus.sv rtl/peripheral/pwm.sv rtl/peripheral/timer.sv rtl/peripheral/uart_rx.sv \ rtl/peripheral/uart_tx.sv rtl/peripheral/uart.sv rtl/peripheral/vga.sv -Irtl/core -Irtl/peripheral ./obj_dir/VGrande_Risco_5_SOC rm verification_tests/memory/generic.hex echo "Teste $nome_do_teste, executado"