|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 5/24/2010 7:56 AM, Invisible wrote:
>>> Yes, the "label" is so that if you have a dozen subcircuits, you can
>>> tell which type each one is. It's _not_ for labelling a specific
>>> instance. (E.g., if you insert a register, you can't label it with a
>>> register name. You can only label it with the kind of register it is.)
>>
>> Right, but sometimes it would be nice to have a label that identifies
>> the particular instance. At least, that's what I would expect when
>> clicking on the item.
>
> I won't disagree with that... ;-)
>
>>> All I know is that I seem to spend more time trying to figure out how to
>>> move a component slightly to the side to make more space than actually,
>>> you know, designing my stuff! >_<
>>
>> Yeah, Routing can be a pain when moving components. You can turn on an
>> experimental feature where it allows you to sort of autoroute the
>> wires in some cases when moving a component, but I've found if you
>> move too far it will make bad connections. The algorithm that
>> autoroutes needs to be a bit smarter, but I think it may be an
>> instance of the halting problem.
>
> The Halting Problem is unsolvable. I doubt wire routine is unsolvable.
> Finding the "perfect" wire routine sounds a bit like the Travelling
> Salesman problem, which is NP-Complete, not *not* unsolvable. And a
> routing algorithm which doesn't alter topology and gives "reasonable"
> results ought to be quite possible, though possibly not easy...
>
I suppose that's correct.
http://www.freerouting.net/index.php?page=home
But can be rather difficult to calculate an optimal route. Of course,
the program above treats wires as physical obstacles.
On thinking a bit more about it, it's probably not horribly difficult.
>
> I tried it on Friday. Jesus, it sucks so hard! Eats RAM like candy,
> locks up for minutes at a time for no apparent reason, and doesn't even
> look particularly good anyway. Basically there's nothing to recommend
> it. (Plus I had to wait 30 minutes for the .Net framework to install...)
>
Yeah, I didn't get that far.... about the point where I had to drag and
drop components to the circuit was when I decided it wasn't a viable
solution.
>>>> http://www.falstad.com/circuit/
>>>
>>> I didn't even know that thing had logic gates...
>>
>> It does. While it makes a great general circuit simulator, for
>> anything non-trival its far from ideal for logic simulation, though.
>
> Yeah, it's designed to show you examples, not for serious design work.
>
Yup, but a great learning tool :)
>> Now I'll finish it just to prove you wrong, so ... Nyah!
>
> Heh. I'd like to see that. ;-)
You'll see... you'll see.
--
~Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 23-5-2010 16:38, Orchid XP v8 wrote:
> scott wrote:
>
>> You should never be leaving any inputs as floating anyway, that's just
>> asking for trouble (for example if you use a different IC series
>> later). Best to always tie your inputs to whatever you want them to be.
>
> So what might be a good value for a pull-down resistor then?
>
> (4.5V supply, 74HCxx ICs.)
There is seldom a need to use a pull-down resistor at the input. You can
simply connect it to the ground. With e.g. a 7400 you can connect both
inputs together in stead of one to the positive power supply line to get
functionally an inverter (that is often easier to route than the
alternative).
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>>> So what might be a good value for a pull-down resistor then?
>>>
>>> (4.5V supply, 74HCxx ICs.)
>>
>> A very common choice is 10 kOhm.
>
> OK. That should only be a few pence...
Unless you are connecting a switch to the input, I don't see why you'd need
a pull-down resistor, just connect it directly to ground.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>>>> So what might be a good value for a pull-down resistor then?
>>>>
>>>> (4.5V supply, 74HCxx ICs.)
>>>
>>> A very common choice is 10 kOhm.
>>
>> OK. That should only be a few pence...
>
> Unless you are connecting a switch to the input, I don't see why you'd
> need a pull-down resistor, just connect it directly to ground.
Indeed. So it looks like I'm going to end up needing a seperate
pull-down resistor for each "external" input to the logic system. I was
hoping I could get away with just one, but that apparently won't work at
all...
Oh well, I guess I'm not going to have all that many manual inputs.
The other problem is that I suspect connecting an LED to an output drags
the voltage out of spec, so I probably can't connect the same output to
an input. I guess I'll just buy myself a hex buffer and be done with it.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Invisible wrote:
> However, I just found the following pages:
>
> http://www.kpsec.freeuk.com/components/ic.htm#logic
> http://www.kpsec.freeuk.com/components/74series.htm
> http://www.kpsec.freeuk.com/components/cmos.htm
>
> Suddenly everything seems so much clearer.
If you search around the Internet for long enough, you can find some
really useful stuff. For example:
http://www.play-hookey.com/digital/jk_nand_flip-flop.html
This is significantly simpler than I had imagined! ;-)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 5/25/2010 8:21 AM, Invisible wrote:
> Invisible wrote:
>
>> However, I just found the following pages:
>>
>> http://www.kpsec.freeuk.com/components/ic.htm#logic
>> http://www.kpsec.freeuk.com/components/74series.htm
>> http://www.kpsec.freeuk.com/components/cmos.htm
>>
>> Suddenly everything seems so much clearer.
>
> If you search around the Internet for long enough, you can find some
> really useful stuff. For example:
>
> http://www.play-hookey.com/digital/jk_nand_flip-flop.html
>
> This is significantly simpler than I had imagined! ;-)
It's even simpler...
All chips run off of a magic blue smoke
If you let it out, they stop working.
Just for kicks - look at the 7447 - just a bunch of logic gates.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Invisible wrote:
> If you search around the Internet for long enough, you can find some
> really useful stuff. For example:
>
> http://www.play-hookey.com/digital/jk_nand_flip-flop.html
>
> This is significantly simpler than I had imagined! ;-)
Wow, hold on - apparently it *works* too! You can actually click on it
and watch all the gates change. Neato! I wonder how on Earth he managed
to implement that?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Wow, hold on - apparently it *works* too! You can actually click on it
> and watch all the gates change. Neato! I wonder how on Earth he managed
> to implement that?
(Assuming FF)
View -> Page Source
Click on the link in the third script tag "jk nand flip-flop.js"
He just pre-rendered an image for each possible state by the looks of it.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
scott wrote:
> He just pre-rendered an image for each possible state by the looks of it.
Heh. And here I was thinking he did some advanced thing with DOM
rendering or something...
Hey, isn't SVG supposed to be JS-scriptable? Could you do it this way?
(By the looks of it, this website is far too old to have used that
approach - the info page talks about IE4 for example.)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Invisible wrote:
> http://www.play-hookey.com/digital/jk_nand_flip-flop.html
>
> This is significantly simpler than I had imagined! ;-)
An RS flip-flop is not difficult to construct. I quickly discovered that
if you connect to gated RS latches together, and connect both gate pins
to the flip-flop's clock pin, but with one signal inverted, you get a
clocked flip-flop. (Gratifyingly, I discovered the website above and
found the exact same circuit design. So apparently I was right!)
Converting a gated latch or a clocked flip-flop from RS-type to D-type
is a trivial matter of adding an inverter. Making a toggle flip-flop
just requires you to take a clocked D flip-flop and connect the inverted
output back to the data input. The clock pin then becomes the toggle. So
far so good.
Now... how in the name of goodness do you add UNclocked set and reset
pins?? o_O
It's easy to make a T flip-flop, but maddeningly complicated to add
unclocked set/reset pins. I end up adding dozens and dozens and dozens
of extra gates, and the implementation is *still* as buggy as hell!
Obviously, there has to be an easier way. So I looked up the circuit
diagram for the 7474, and... oh.
I've built it in a simulator, and I can confirm that it works, but I
have utterly no clue as to *why* it works!
It's basically three RS latches, but trying to follow all the signal
paths is quite challenging. Next, they used NAND latches rather than NOR
latches. That means that the control inputs are inverted. >_< On top of
that, they used a small trick: 3-input gates. That means that each pair
of NANDs is simultaneously an RS latch *and* it performs an operation to
combine 4 inputs into two inputs (set/reset).
After expending significant time and energy confusing myself with logic
tables, I eventually figure out what, in effect, you've got a normal
(low-triggered) RS latch with a 2-input NAND gate setting on each input.
So I figured up an equivilent circuit and tried it out.
It doesn't work. It doesn't even partially work.
After about, oh, an hour maybe, I discovered the reason why: You know
how having both set and reset lines active simultaneously is an unstable
configuration for an RS latch? Well it turns out that a NAND latch with
inverted inputs is _not_ equivilent to a NOR latch; there is a single
difference between them. In the unstable configuration, a NOR latch sets
both Q and /Q to 0, while a NAND latch sets them both to 1. >_<
Not only that, but this strange flip-flop circuit seems to *depend on*
this specific behaviour. Like, one of the latches is permanently driven
in this configuration, except when certain lines are activated! Damnit!
Well anyway, I modified my circuit, and it *finally* it works correctly.
But I still don't have a clue why... Time for further study. :-/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |