4 ms·
64GB of RAM isn't that much for full chip simulation of a "high performance" CPU.
by chrsw 2y ago
64GB of RAM isn't that much for full chip simulation of a "high performance" CPU.
- ge96 2y agoyeah I'm super ignorant here, wondering, say you simulated this, could you run a VM OS against it? What kind of scale it it, personal computer or server (i7/xeon)? Or you just use it to compile programs against it? edit: I did skim the readme, I saw verilog makes me think FPGA
- chrsw 2y agoYou could simulate this on an FPGA platform, those aren't going to be cheap to hold a large design. Usually by running simulations on a PC you're just running very specific test cases. I've run CPU simulations on machines with 64GB of RAM before and it took several hours just to get to single-user shell in Linux. Different CPU design and computer, but the point is it's not something you'd typically use interactively.
- ge96 2y agoInteresting do it actually runs that's cool vs. a hyper visor which idk the difference but yeah
- brucehoult 2y agoIf you're simulating a complex CPU's HDL in Verilator then think in terms of single digit thousands of instructions per second. Vs single digit billions of instructions per second when it's made into an SoC. i.e. on the order of a million times slower than the final product. On an FPGA you might get 20 to 50 million instructions per second, only 100 times slower than the final SoC product. But for a large modern OoO design you'll need an FPGA costing $15000 (for a VCU118) or even more.
- IshKebab 2y agoThat's a pretty huge amount of RAM even for a high performance core. The medium performance cores I've simulated use more like 300MB. I suspect it is the Scala compilation that requires all the RAM rather Verilator or the simulator.
- chrsw 2y agoMaybe, I've never used Scala before. But in my experience simulations are way more resource intensive than compilation.
- EastonMan 2y agoNo, the RAM is mainly used by verilator partitioning simulation logic to multiple threads. The Scala part (Chisel -> FIRRTL) runs pretty happy with a few gigs of RAM.
- sdbbp 2y agoThat's the HDL, and not the inherent design complexity.
- camel-cdr 2y agoThe 64GB is for compilation. simulating does take almost no RAM. I can have 12 seperate instances simulating at once and take less than 2GB: https://i.postimg.cc/XqnhcXX1/1-1.png https://i.postimg.cc/XqnhcXX1/1-1.png
- tormeh 2y agoCompiling the chip, right, not the code?
- camel-cdr 2y agoyes
- chrsw 2y agoWow, it's surprising to me there's a huge difference and in that direction. I always used to increasing resource requirements for synthesis->P&R->logic simulation->full chip simulation. I guess times have changed since I worked on chip design.