public inbox for sid@sourceware.org
 help / color / mirror / Atom feed
From: fche@redhat.com (Frank Ch. Eigler)
To: Harshad R Joglekar <harshad.joglekar@wipro.com>
Cc: gdb@sources.redhat.com, sid@sources.redhat.com
Subject: Re: Developing a new simulator
Date: Sat, 15 Sep 2001 07:16:00 -0000	[thread overview]
Message-ID: <o5n13wmtea.fsf@touchme.toronto.redhat.com> (raw)
In-Reply-To: <3BA1FCB5.FC8CDA1C@wipro.com>

Harshad R Joglekar <harshad.joglekar@wipro.com> writes on gdb@sourceware:

: [...]
: I want to write a simulator for a processor. [...]
: 
: 1. Develop the simulator from scratch
: All features have to be implemented manually, with a little help from
: sim/common/.

(IMHO, that'd be a waste.)


: 2. Use cgen
: Cgen provides a lot of options (for the simulator), and documentation.
: The approach is also very formal (it uses a RTL like language). But as
: of now, not many ports seem to be using it. I am not sure if cgen would
: support various kinds of instructions, registers, etc. I also don't know
: of it's reliability (since it is in version 1.0).
: [...]

CGEN is quite powerful, and is used almost universally for ports of
new embedded targets (some very complex) being developed by Red Hat.
Many of these ports have not yet been released, but the CGEN tool has
been.  (Don't worry about the version number.)


: 3. Use igen or sid
: I could not find any documentation on igen 

IGEN is an alternative to CGEN, if creating a CPU simulator is all you
want to do, and if you want to use the sim/common family.  Like other
tools with limited/no documentation, IGEN can be learned by studying
examples.


: and sid is not yet released.

Yes, it is: < http://sources.redhat.com/sid >.  It is an alternative to
sim/common, in that sid is more of a simulator framework rather than a
specific CPU simulator.  It includes CPU models whose kernels are
generated by CGEN, but can also host hand-made or other-tool-made CPU
simulation kernels.


: Reliability is still a concern as in cgen.

That's hard to compare & quantify.


So, your choice tree looks like:

* choose framework: sim/common or sid
* choose kernel: igen or cgen or hand-made

sim/common ==> igen or cgen or hand-made?
sid ==> cgen or hand-made?  (igen is not ported yet to generate
                             sid-compatible code)

- FChE

           reply	other threads:[~2001-09-15  7:16 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <3BA1FCB5.FC8CDA1C@wipro.com>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=o5n13wmtea.fsf@touchme.toronto.redhat.com \
    --to=fche@redhat.com \
    --cc=gdb@sources.redhat.com \
    --cc=harshad.joglekar@wipro.com \
    --cc=sid@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).