Writing Data to and from a simulated node.

12 views
Skip to first unread message

Henry Chen

unread,
Nov 17, 2025, 5:26:41 PMNov 17
to FireSim

The situation is that we have a single node simulation setup with Firesim version 1.17.1, with the FPGA installed on the same system as the manager machine. 


We wish to transfer data from our manager machine to the simulated system in real time (i.e. without rebooting the simulated system), which is then written to sysfs files of a custom kernel module on the simulated system. We then wish to transfer data out of the simulated system back to the manager machine. We are looking for any suggestions on how this could be done, or if there are any resources available that might be helpful. 


Our current understanding is that in our configuration, the simulated system shares the same DRAM as the manager machine. Thus, we should be able to write our data directly to the region of the DRAM used by the mounted filesystem of the simulated system, and read from there as well. However, we are unsure of how to accomplish this, particularly which regions of the DRAM are used by the FireSim simulated system? Any suggestions are welcome. 


Muhammad Ali Akhtar

unread,
Nov 19, 2025, 8:45:46 AMNov 19
to fir...@googlegroups.com

Muhammad Ali Akhtar


The situation is that we have a single node simulation setup with Firesim version 1.17.1, with the FPGA installed on the same system as the manager machine. 



Suggestion: Upgrade to firesim 1.20. This is a more stable release with a lot of bug fixes for OnPrem FPGAs. 
  

We wish to transfer data from our manager machine to the simulated system in real time (i.e. without rebooting the simulated system), which is then written to sysfs files of a custom kernel module on the simulated system. We then wish to transfer data out of the simulated system back to the manager machine. We are looking for any suggestions on how this could be done, or if there are any resources available that might be helpful. 


Use IceNIC to enable networking in your Simulated System. Then establish the SSH connection between the Simulated system and Manager machine. The older releases of firesim docs had a section on how to do it. This may still be applicable for a newer firesim releases
 

Our current understanding is that in our configuration, the simulated system shares the same DRAM as the manager machine. Thus, we should be able to write our data directly to the region of the DRAM used by the mounted filesystem of the simulated system, and read from there as well. However, we are unsure of how to accomplish this, particularly which regions of the DRAM are used by the FireSim simulated system? Any suggestions are welcome. 


The DRAM that the Simulated System is accessing is the DRAM device on the FPGA Card. This is not the HOST DRAM.  Firesim uses xdma IP on FPGA and xdma-IP drivers on x86 HOST to provide communication between Host (CPU on manager) and FPGA

You can look at the loadmem widget chisel code and corresponding bridge driver code to understand how to access FPGA card DRAM. This is the same DRAM that simulated system access. You maybe able to use loadmem widget to write data to DRAM and than read that data from within the simulated system


--
You received this message because you are subscribed to the Google Groups "FireSim" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firesim+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/firesim/6da396bf-38cf-4f76-a715-6f740255c880n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages