simulavr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Simulavr-devel] RFC: a few feature ideas


From: Knut Schwichtenberg
Subject: Re: [Simulavr-devel] RFC: a few feature ideas
Date: Fri, 24 Apr 2009 20:49:35 +0200
User-agent: Thunderbird 2.0.0.19 (X11/20081227)

Colin,
I have some questions so please try to explain your wishes a little deeper.
Colin Coombs wrote:

> (1) every event from the simulator process to the ui process must be
> accompanied by the current (simulated) timestamp
simulavrxx can simulate different CPUs in a single program. What timestamp are
you talking about? (per CPU / overall / realtime)
> 
> (2) the ui must be able to request an event from the simulator at a
> given time in the future, and to have an arbitrary number of such
> requests pending at any time.
What do you want achieve with this?
> 
> (3) on receipt of any event (or maybe just some special types of event)
> from the simulator, the ui must be able to assume that the simulation is
> suspended until the ui allows it to continue. [Note: I have not yet
> understood the current arrangements for synchronisation between ui and
> simulator, maybe this facility exists already]
Currently the control of the simulated CPU is done by gdb and the ui handles
only the "peripherals" such in / out, serial and special devices. What doi you
want to achieve with this function?

> (4) the ui must be able to send an event to the simulator at any time.
> Events sent whilst processing a simulator->ui event should be picked up
> immediately the simulator resumes, events sent at other times would be
> picked up "eventually" (perhaps at the occurrence of your "pulse"
> event).
What kind of events are you talking about? As described above the basic idea for
the UI is to simulate the peripherals. Here you can set analogue voltages /
inputs, serial data at any time. What kind of event-/data source is missing?

> (a) Just as Tcl has the "fileevent" command which can register a script
> to be executed when a file becomes readable, I want a "pinevent" command
> to register a script to execute when a pin changes value (either a
> positive edge, a negative edge, or both). There could be an arbitrary
> number of such scripts registered for a given pin.
Please describe your wish before you describe a solution. It sound that you want
a kind of function generator with logic. Take a look to the verilog stuff. This
is not TCL (very sorrrry - TCL haters comment ;-) ) and with a little
descriptive logic you can simulate what ever you want.
> 
> (b) Just as Tcl has the "after" command which registers a script to be
> executed when a given (real) time has elapsed, I want a "sim_after"
> command to specify the delay using simulated time not real time.
Again what is your wish?

> An example use of my proposed facilities, inspired by verilog's "specify
> blocks": 
What is the benefit to reinvent the wheel? Onno developed the verilog IF. You
port ideas from verilog. Can verilog do what you want?

If my comments sound unfriendly, don't worry - I still want to understand and
try to avoid duplicate developments.

Knut





reply via email to

[Prev in Thread] Current Thread [Next in Thread]