By Sunil Sahoo, Corporate Applications Engineer
A quick view on the benefits of a commercial simulator
As an Applications Engineer I visit lots of potential customers, or talk to them at trade shows, who are doing FPGA designs but don't own a commercial simulator. I ask them why that is. Most of the time it is budgetary restrictions. They don’t have funds to buy additional tools. I understand their situation and point out to them that at Aldec we have a very cost-effective simulator. But that is not what I want to talk about in this blog. I want to talk about engineers who say: “I am happy with the simulator my FPGA vendor provided me”, or “My simulations only take 15-20 minutes to run, I don’t think I need a faster simulator”, or “We don’t run simulations”.
That last response haunts me the most. For instance, at a recent site visit I was told: “We just load the design on our FPGA and test it out”. I asked how long does a full test iteration (i.e. program FPGA -> test -> debug -> re-code -> re-program) takes. They said about an hour or two, depending on the bug. I then asked how much of that time spent just running synthesis and programming the board? They said about 30 minutes.
Next, I proceeded to explain the benefits of running simulations in such scenario.
Granted, the test on the board will run much faster than a simulation, but you are very much limited by the peripherals that are hooked up to the board. For example, how quickly can you run a new test after one has just completed? Also, there is the matter of synthesising and implementing the design every time you want to run a new test after a code change.
Imagine how much quicker you can run simulations because you don’t have to go through the above steps. If one tests fails, you could be running another in the background while you debug the one that failed. And let’s not forget the debug capabilities that simulations provide. These include the ability to access internal registers in the design, compare waveforms, and much more.
As mentioned, some of the engineers I talk to are using FPGA vendor-provided ‘free’ simulation tools.
This works great most of the times when designs are small, and the simulations only take a minute or less to run. But as designs grow, or if you need more debugging capability, a free simulator simply won’t be up to the task. Even if simulations take only 15-20 minutes to run on a free simulator, those minutes will stack up. Compared to such free simulators, commercial solutions are around 12x faster (for a typical verilog design).
Imagine you can run 10 times more simulations in the time it’s currently talking you to run one. Add to that the fact that your debugging will be faster thanks the capabilities of the commercial simulator and you’re looking at a solution that promises a shorter turnaround for your FPGA.
Though the title of this blog is “Do I really need a commercial simulator?”, it could equally well have been “Can I afford not have a commercial simulator?”, in which case the answer would be “Probably not.”It will make your job much easier, contribute to a shorter time to market for the product requiring the FPGA on which you’re working and, if it’s a cost-effective simulator like Aldec’s Riviera-PRO, you will soon be reaping the benefits.