Bootrom.v is missing

Hi all,

I’m trying to synthesize the generated verilog RTL of E300. I added all components into Vivado, except Bootrom.v. I simply cannot fine it anywhere. Is it possible to point it to me? Thank you!

Kind regards,
Lazar!

Hi, @elektronchika.

It seems that you did not execute make command with “mcs” option, only executed “verilog” option.

Did you execute below?

make -f Makefile.e300artydevkit mcs

After above, you will find rom.v file.

$ ls builds/e300artydevkit/*.v
builds/e300artydevkit/sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.rom.v
builds/e300artydevkit/sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.v

Regards.

Okay, I got it. But how do I set the vivado executable on my PATH? Thank you!

Run below. “/opt/Xilinx” is install path of Vivado, and “2018.2” is Vivado Version.

source /opt/Xilinx/Vivado/2018.2/settings64.sh
alias xsdk='env SWT_GTK3=0 xsdk'
alias vivado='env SWT_GTK3=0 vivado'

(I wander how did you execute above Vivado GUI.)

Thank you Horie! I still get an error

make -f Makefile.e300artydevkit mcs
make -C /home/lazar/sifive/freedom/bootrom/xip romgen
make[1]: Entering directory '/home/lazar/sifive/freedom/bootrom/xip’
dtc -I dts -O dtb -o /home/lazar/sifive/freedom/builds/e300artydevkit/sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.dtb /home/lazar/sifive/freedom/builds/e300artydevkit/sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.dts
make[1]: dtc: Command not found
Makefile:10: recipe for target ‘/home/lazar/sifive/freedom/builds/e300artydevkit/sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.dtb’ failed
make[1]: *** [/home/lazar/sifive/freedom/builds/e300artydevkit/sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.dtb] Error 127
make[1]: Leaving directory '/home/lazar/sifive/freedom/bootrom/xip’
common.mk:68: recipe for target ‘/home/lazar/sifive/freedom/builds/e300artydevkit/sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.rom.v’ failed
make: *** [/home/lazar/sifive/freedom/builds/e300artydevkit/sifive.freedom.everywhere.e300artydevkit.E300ArtyDevKitConfig.rom.v] Error 2

Do you know what might be the issue?

The dtc command is obviously missing/not found as per the error message.
Is this any use?

http://www.wiki.xilinx.com/Build+Device+Tree+Compiler+(dtc)

Try “apt install device-tree-compiler” or whatever your host OS equivalent is.

Okay, I really start to feel dum… Now I get the error “riscv64-unknown-elf-objcopy: command not found”. I tried to install it, but unsuccesful. What would solve this issue?

Thank you everybody for helping!

Hi, @elektronchika.

You must read and follow “Software Requirement” in README.md of Freedom.

GitHub - sifive/freedom: Source files for SiFive's Freedom platforms

the RISC-V software toolchain must be installed locally and set the $(RISCV) environment variable to point to the location of where the RISC-V toolchains are installed.

The way of install is written in README.md in rocket-chip directory.

This does not help and I met same problem