eugene-tarassov / vivado-risc-v

Xilinx Vivado block designs for FPGA RISC-V SoC running Debian Linux distro
821 stars 186 forks source link

Understanding the role of co-simulation #231

Closed sramichetty20019 closed 3 months ago

sramichetty20019 commented 3 months ago

Hi, everyone. I am trying to understand the role of Qemu here(as mentioned in the repository). Is it just used to install dependencies, or are we trying something like a co-simulation or running qemu interfaced with Rocket on the PL side?.... I am really new to this. Please help me figure out if my understanding is right.

We are not doing any co-simulation using qemu in this project, right, we are just using it to install dependencies, and also, we are not running qemu on the PL or PS side or PL+PS

I would like to clear my confusion ,thank you in advance

eugene-tarassov commented 3 months ago

A co-simulation is not supported. QEMU work flow is provided for those who wants to run RISC-V Linux applications without FPGA board. It is completely optional and provided for convenience.

sramichetty20019 commented 3 months ago

So does qemu emulate the hardware configuration changes modeled in Rocket(rocket-chip) along with a riscv os?or is it just for installing dependencies on the image using default qemu-system-riscv64 so that its usable on a board?

My understanding on role of Qemu: "it is mainly used for setting up the development environment, compiling, and building various components like the Linux kernel, U-Boot, and Vivado-specific FPGA configurations for RISC-V systems. QEMU is used for software simulation and testing purposes rather than for direct interaction with Vivado."

(This is another confusion I have , thank you in advance )

eugene-tarassov commented 3 months ago

No, qemu does not emulate the hardware configuration. It uses a generic RISC-V model. Yes, it can be used to build various software components.

sramichetty20019 commented 3 months ago

Thank you so much for the clarification and instant response !!! much appreciated