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 MyAccelerator, MyApp
network = sims.SwitchNet()
num_hosts = 1000
for i in range(num_hosts):
host_config = conf.LinuxNode()
app = MyApp()
host_config.app = app
host = sims.Gem5Host(host_config)
accelerator = MyAccelerator()
host.add(accelerator)
nic = sims.I40eNIC()
host.add(nic)
network.add(nic)
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.
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 pre-built docker images for SimBricks. Setting up 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 runs on your own computing infrastructure. Longer term we plan to offer a hosted version as well. 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.