OpenCores
no use no use 1/1 no use no use
Openrisc performance
by ag09 on Jan 6, 2012
ag09
Posts: 38
Joined: Aug 22, 2010
Last seen: Jan 13, 2012
Hi all,


I am interested to evaluate the performance of the Openrisc at different abstraction levels, I mean here the simulation speed.

For the Openrisc there are three abstraction levels: 1-cycle accurate HD-Level 2- cycle accurate C-level(generated using verilator tool) and the functional ISS Or1ksim.

It is obvious to me that the simulation speed of a SW application running on ISS much higher than cycle accurate HDL openrisc, but what is about the simulation speed of an application running on the generated cycle accurate C module in compare to HDL module and ISS OR1ksim?
RE: Openrisc performance
by julius on Jan 9, 2012
julius
Posts: 363
Joined: Jul 1, 2008
Last seen: May 17, 2021
I am interested to evaluate the performance of the Openrisc at different abstraction levels, I mean here the simulation speed.

That's fairly easy to do and will obviously depend a lot on your machine, but the relative change in performance between the execution rate of the three models should be fairly standard.

It is obvious to me that the simulation speed of a SW application running on ISS much higher than cycle accurate HDL openrisc, but what is about the simulation speed of an application running on the generated cycle accurate C module in compare to HDL module and ISS OR1ksim?


It's hard to get an accurate cycle count out of or1ksim, so looking at the number of instructions it executed over an amount of time is a better way to measure its performance. Off the top of my head, I believe it will do maybe 5-10 millions of instructions per second (MIPS).

The other models, as they're cycle accurate, do give you a true number of cycles taken to execute the software, but you'll probably want an instruction count so it's more useful when comparing it with or1ksim.

I'm not sure this information has been posted anywhere yet, so it would be useful if you might like to do this and post some information here and on the or1k wiki.

The ORPSoC project currently has a cycle accurate C model that is easy to build from the Verilog, and will also run a simulation of the Verilog model in Icarus Verilog. Each model will give you an instruction count when it finishes, so it shouldn't be too much work to run some software through all three models and look at the instructions executed and the time taken for each.

Julius
RE: Openrisc performance
by jeremybennett on Jan 9, 2012
jeremybennett
Posts: 815
Joined: May 29, 2008
Last seen: Jun 13, 2019

Hi ag09

There are some performance figures for Icarus Verilog simulation and Verilator modeling in Embecosm Application Note #6: High Performance SoC Modeling with Verilator: A Tutorial for Cycle Accurate SystemC Model Creation and Optimization (www.embecosm.com/download/ean6.html.

I concur with Julius' estimate for the performance of Or1ksim. It prints out a count of "cycles" at the end of each execution, so you can use that, but remember that Or1ksim has a somewhat rough and ready estimate of cycles (since it is only actually an ISS). The 200 million instructions to boot the Linux kernel take about 20 seconds on a decent Linux box.

HTH

Jeremy

--
Tel: +44 (1590) 610184
Cell: +44 (7970) 676050
SkypeID: jeremybennett
Email: jeremy.bennett@embecosm.com
Web: www.embecosm.com

RE: Openrisc performance
by firefalcon on Jan 10, 2012
firefalcon
Posts: 99
Joined: Jan 10, 2011
Last seen: Mar 26, 2024
The 200 million instructions to boot the Linux kernel take about 20 seconds on a decent Linux box.


...and about 24 hours in ModelSim.
no use no use 1/1 no use no use
© copyright 1999-2026 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.