POV-Ray : Newsgroups : povray.off-topic : Electronics research : Re: Electronics research Server Time
4 Sep 2024 15:21:55 EDT (-0400)
  Re: Electronics research  
From: Mike Raiford
Date: 21 May 2010 08:24:13
Message: <4bf67b6d$1@news.povray.org>
On 5/20/2010 10:29 AM, Invisible wrote:
> Mike Raiford wrote:
>
>> Unrelated, but tangential, How do you like LogiSim?
>
> Not very much.
>
> I mean, it *works*, but that's about it. It's really hard work to *do*
> anything with it. All gates default to having 5 inputs, no matter how
> many times you change it back to 2. All devices default to East
> orientation, no matter how many times you change it. Even just moving
> part of the circuit to make some room is quite unecessarily difficult.

Funny, it seems to get high ratings on SourceForge. ;)

But, yeah, all of your complaints are legitimate. Actually, if you click 
an item on the toolbar (And I hate the way the toolbar is tied to the 
project, BTW...) and change its attributes there, then it should stick. 
Pin labels on a subcircuit are a major PITA. IMO it should print the pin 
on the block (even if the block needs to be a tiny bit larger)

One thing that is particularly annoying is if you need a gate with an 
even number of inputs beyond 2: They don't exist. So, you wind up tying 
2 inputs together, then later (because you can barely see the wire 
connecting those 2 inputs) wind up wiring 2 wires together and getting 
an error.

> On top of that, the graphics look horrible, pin labels refuse to display
> when you need to see them, it's quite hard to label anything properly,
> and it spazzes out if you try to built a latch.

Yeah, it doesn't do too well with latches or flip-flops. I tried to 
build a J-K flip-flop in it, and it fell flat. Surprisingly the latch 
worked fine (Maybe because it was a NAND latch, instead of a NOR latch?)

Another nuisance that I've encountered a frustratingly large amount of 
the time is the "phantom wire", where you'll click somewhere to select 
something and a wire will appear out of what appears to be nowhere 
(usually connecting to half a dozen wires that shouldn't be tied together.)

Also frustrating is the lack of bidirectional pins for subcircuits. I 
started my design, and only when going out to the main block and 
wondering why the app didn't seem to pass signals out when I was asking 
for signals did I discover that inconvenient fact.

I'm not terribly concerned with how the application looks. It functions 
reasonably if you stay away from the caveats.

> But apart from all that, it works perfectly. :-}

It does the job, at least. It's somewhat better than the rest of the 
programs out there.

One thing the program truly needs is hotkeys. The way it is now requires 
excessive mousing.

Falstad's circuit sim seems a bit easier to use at times, and it's 
interface isn't stellar.

> As if the problem of designing complex arrangements of logic wasn't hard
> enough to start with...

Heh. A side project to this whole thing is writing my own logic 
simulator. I've got it at least moving signals from point a to point b 
reliably. I can modify wires and move things around in the program, but 
that's about it. My simulation model is different (from what I can tell) 
from Logisim, so I'm guessing the whole flipping out over oscillation 
and stopping the simulator may not happen. We'll see, but that's the 
trouble with feedback. ;)

Actually I'm quite happy with myself as far as my sim's UI code goes at 
the moment, even if it's extremely minimal. One of the issues I ran into 
was reconciling the pin connections from their locations. Walking the 
list of pins for each item's pin took a painfully long time once you had 
an appreciable amount of items on the board. My solution: a quadtree. 
This morning I filled the board up with over 100 wires, and with an 
average of 10 iterations it finds the nearest pin. As opposed to the 100 
iterations it would take before. Nice savings (it becomes important 
after moving an item, because the program checks that every pin is 
connected, and removes connections on any previously connected pins) 
Also, when dragging handles or items, the interface highlights areas 
where a pin will either split a wire or connect to another pin. Since 
this happens hundreds of times in the course of a drag operation, you 
get more than a few dozen items, and the UI gets sluggish.

I have the project on SourceForge (yeah, I'm going to do the entire open 
source thing with it. Why not?) But, contrary to their suggestions of 
releasing files on essentially day 0, I haven't released anything yet. 
Once I get more of the basics done, I'll do a preview release.

One of the things that would be nice is the ability to create a timing 
graph.

I also have a design goal of allowing the interface to be flexible. Such 
as allowing the user to assign hotkeys to items, giving a choice between 


We'll see if it turns out to be anything more than vaporware, though. I 
have a history of ethereal personal programming projects.

-- 
~Mike


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.