SimBricks enhances your development experience:
-
Design & Iterate Faster
Virtual prototypes enable you to build hardware systems iteratively like software. Go from design to first full system tests and measurements in hours instead of months and then iterate.
-
Make Better Engineering Decisions
Virtual prototypes allow you to reliably compare design and implementation changes based on their impact on the bottom line metrics: overall system performance.
-
Streamline Full Development Cycle
Virtual prototyping is a valuable tool throughout your development, from early design, through implementation, and even for demos and sales.
-
Focus on Your Technology
Easily build virtual prototypes by combining models for your new components with pieces from our catalog of pre-configured components.
It is very easy to create and execute virtual representations of your system through simple Python scripts.
Efficient synchronization mechanisms in SimBricks enable fast simulation execution.
from custom import MySimulator, MyAccelerator, MyApp
syst = System()
switch = EthSwitch(syst)
num_hosts = 1000
for i in range(num_hosts):
host = I40ELinuxHost(syst)
client_app = MyApp(host0)
accelerator = MyAccelerator(syst)
nic = system.IntelI40eNIC(syst)
host.add_app(client_app)
host.connect_pcie_dev(accelerator)
host.connect_pcie_dev(nic)
switch.connect_eth_peer_if(nic._eth_if)
simulation = simple_simulation(
syst,
compmap={
I40ELinuxHost: QemuSim,
IntelI40eNIC: I40eNicSim,
MyAccelerator: MySimulator,
EthSwitch: SwitchNet,
},
)
You can create full-system virtual prototypes with all components you would find in the real world using SimBricks.
SimBricks allows you to import and use custom components.
SimBricks is efficient and allows to create large-scale virtual prototypes with thousands of components.
SimBricks Configuration abstraction allow users to configure their virtual prototype simulations in three steps: system, simulation, instantiation. This way users can e.g. specify a system without making asimulator choice.
Frequently Asked Questions
SimBricks enables virtual prototyping of heterogeneous computer systems. So far we have used it for network, storage, and distributed systems, as well as hardware accelerators. We have also used it for teaching.
The main target users are system architects, as well as hardware and software engineers. Other users are instructors and technical sales teams.
We provide an easy to use demo of the SimBricks hosted offering and pre-built docker images. Setting up and using SimBricks for the first time can take as little as 5 minutes. More complex configurations with proprietary simulators may require more time.
The current version of SimBricks allows to execute virtual prototypes locally on your own computing infrastructure. Addtionally it is possible to run virtual prototypes via a hosted SimBricks offering using SImBRicks machines or through Please reach out if you are interested.
SimBricks simulates virtual prototypes by combining and connecting multiple different simulators for individual system components into a complete system simulation.
SimBricks aims to enable virtual prototyping of complete computer systems, rather than individual components. SimBricks also does not replace existing simulators for individual components, but instead enables users to connect together multiple existing simulators, even from different vendors and never designed to interoperate, into a complete system.