Chip with simple program for Toy

Read the chapter on meters at the following link. It was clear to me
how it worked, and I have converted a couple of meters to do what I
wanted after reading this site. Chapter 8 for DC circuits explains the
concept in detail and works well.

http://www.faqs.org/docs/electric/index.htm
 
On Mon, 13 Feb 2006 16:01:47 -0800, Nehmo wrote:

In retrofits, each replaced receptacle is an added cost. And in some
older houses, the old small boxes won't accommodate a GFCI. So an
inexpensive way to protect all the outlets on a circuit is to just use
the GFCI on the first outlet.
It seems I've learned something today. It sounds like you're describing
an outlet and circuit breaker in one box.

So, when any outlet on the "output side" trips it, the whole string
goes out? Does the first one still work? I.e., does it have two reset
buttons?

Thanks,
Rich
 
MRW wrote:
I was looking at this website:
http://www.seattlerobotics.org/encoder/200006/oven_art.htm

Has anyone tried this method before?
Yeah, I've done a few simple boards with it. It works rather well,
actually. Just have to be very careful with the amount of paste you put
on the board, and how close any copper fill comes to the pads
*underneath* the chips. I've been adding restricted zones to increase
that gap after I had a chip or two bridge to the copper fill, which
isn't solvable without completely starting over. (This is on home-made
boards with no solder mask)

Another site, can't remember off the top of my head atm, suggested that
instead of a toaster oven, you use a cheap skillet. I bought one for
~$20 at Target and have had better luck with that so far, at least for
the tiny SMT->DIP adapters I've soldered up so far. A properly selected
one will make fume extraction easier (I replaced the top handle of the
lid with a small rubber tube which I'll be attaching eventually to a
home-built fan exhaust to outside), and visibility is definitely better.
The main advantage is that the heat comes from the bottom through the
board, and is therefore a bit more controllable. The site that
suggested the technique was having problems with USB connectors melting
before the solder did...

I was thinking of trying it, but would like some tips such as sources
to get the materials, safety, etc. I've already looked at the Kester
solder paste and plunger on Digikey, but I haven't seen any tips, yet.
I had to check a local contractor-supply type place to get them. They
came in a box of 50 (disposable) for about $20. Of course you're only
going to use one, and changing sizes is out of the question unless you
can find a way to get all the paste out of the tip that you're switching
out. Go for a rather small one, maybe a metal-tipped one if you can,
with something like a 10mil openning.
 
Thanks, Erik!

From the site I mentioned, it seemed like they put solder paste not
just on the actual pads, but also paste in between the pads. Any reason
why?

Is the paste really easy to get out after you are done "toasting"?
 
"MRW" <mr.whatever@gmail.com> writes:
From the site I mentioned, it seemed like they put solder paste not
just on the actual pads, but also paste in between the pads. Any reason
why?
Well, in wave soldering, they cover the whole board with solder. The
trick is, the solder (hopefully) won't stick where the mask is,
between the pads. So, as long as you've put the right total amount of
solder down, it will get pulled to the metal pads (surface tension et
al) once it starts reflowing, and there won't be any between the pads.

You can still do this without a mask, as the solder usually won't
stick to the PCB either, but the risk of bridges increases.
 
One step above the disosable camera system is Honeywell photo flash
units. Many have a 2 second recharge so with a little visco, you can
have 1 second ignition. 1000 V spike very quickly tapers to 380 V. Yes
you can fry your self.
In one setup, I attached brass wipers with detents to the underside of
the flash unit. These wipers contact pairs of rivets on peg board
framed with 2x2 stock. 42 cues with ten igniters possible per cue. If
you don't share grounds, this system can not back feed so you do not
need diodes. Just add a fire button, and wipers. On/off switch, charge
indicator are already built in!
There is a quick recharge self defence stun zapper that looks
promissing for long chains.
While not very sexy, this system works every time and cost squat. I
bought a like new thyristor model still in the box for $10.
 
"logjam" <grant@cmosxray.com> wrote in message

<snip for brevity>

One last thought for those of you who, well, you know who you are.
Idle, what would the power consumption of some 600 odd ICs be? 20ma
per device? This just might make more heat than a pentium!

Now...for floating point... ;)
You really need (in this order) a girlfriend and an FPGA development
kit.
 
In the good old days, as I remmeber, Mulipications /dvisions were done
by sofwtare ( OS libraries ),
Some Aritmetics unit did it Async, most of the time using some
microcode or a hardwwre ( that's even older ) but none did it Sync ( 32
bits in parall )
Not sure butseems to to me 32bits* 32 bits = 64bits ??

Regards
 
On 16 Feb 2006 01:53:25 -0800, "logjam" <grant@cmosxray.com> wrote:

snip
Now...for floating point... ;)
Bipolar Integrated Technologies, I think they were in Beaverton,
Oregon or nearby, used to make pure high-speed floating point ALU
chips. Might see if there is a white paper or two floating around
from them.

Also, the PDP-11 had some entries added later on which supported
floating point. It's possible that someone has already developed some
Verilog or VHDL for such a beast and you might be able to look at the
code for ideas.

Finally, this was posted over on comp.arch.embedded and it may help
you think more closely about the class of individuals you are soon to
join:

http://www.cs.pdx.edu/~harry/Relay/index.html

;)

Jon
 
Jonathan Kirwan wrote:
snip

Finally, this was posted over on comp.arch.embedded and it may help
you think more closely about the class of individuals you are soon to
join:

http://www.cs.pdx.edu/~harry/Relay/index.html

;)

Jon
The fabled "Machina Analytica"! Terminal blocks for the address and
data busses! Relays everywhere! St. Leibowitz and the Venerable
Boedullos are smiling somewhere, Jonathan.

But is that a 32K X 8 SRAM I see?...

"...He turned to the community, spread his hands, shrugged eloquently.

" 'It's still not Him', he told them sourly, then hobbled away.

"Afterwards, there was little formality."

Chris
 
Jonathan Kirwan wrote:
snip

Finally, this was posted over on comp.arch.embedded and it may help
you think more closely about the class of individuals you are soon to
join:

http://www.cs.pdx.edu/~harry/Relay/index.html

;)

Jon
The fabled "Machina Analytica"! Terminal blocks for the address and
data busses! Relays everywhere! St. Leibowitz and the Venerable
Boedullos are smiling somewhere, Jonathan.

But is that a 32K X 8 SRAM I see?...

"...He turned to the community, spread his hands, shrugged eloquently.

" 'It's still not Him', he told them sourly, then hobbled away.

"Afterwards, there was little formality."

Chris
 
I found his web page just a month or two ago also. But the relatively
short life of a relay worries me. I found a few auctions on ebay for
3000 relays at ~$200, but I don't want to hand wire such a thing. :)
SOMEONE needs to make a relay based web server. Maybe it only says
"Hello World", which would probably take about a minute or two...

When I thought about it last night I came up with a new solution. A
compromise between speed and board space. This is my first experience
with binary multiplication, so my first implimentation was very
wasteful!

I wanted to have a 64bit adder circuit with parallel carry generation,
but I forgot about fan-in/out. Getting to the end of the adder circuit
would require a LOT of components too. Maybe 16bit parallel by 4
serial is more reasonable.

If I try to multiply 1111 by 1111 I should get 11100001.

Carry bit | multiplicand | multiplier

Start:
0 0000 1111 - Next Op, P0=1, add 1111 0000 to 0000 1111
0 1111 1111 - Next Op, shift right 1 bit
0 0111 1111 - Next Op, P0=1, add 1111 0000 to 0111 1111
1 0110 1111 - Next Op, shift right 1 bit
0 1011 0111 - Next Op, P0=1, add 1111 0000 to 1011 0111
1 1010 0111 - Next Op, shift right 1 bit
0 1101 0011 - Next Op, P0=1, add 1111 0000 to 1101 0011
1 1100 0011 - Next Op, shift right 1 bit
0 1110 0001 - 4 repetitions? yes
Done

Requirements are a register to store the 32bit multiplicand, 64bit flip
flop shift right register (carry out from adder gets shifted in),
possibly a 64bit register to store the product/working value.

This would require the least amount of parts, but limit me to
multiplication with the circuit. It would be pretty fast since it only
needs a 32bit adder instead of a 64bit.

In the end it might be worth having a separate multiply / shift right
circuit and then an additional add / subtract circuit. It all depends
on the speed path of the full 64bit adder.

ALU flow would probably come from a fast ROM or even SRAM loaded by the
host at boot-up.

Anything I've missed that could speed up this operation? I'm
interested in reducing components, but not at a huge speed drop. The
process will take 32 loops, so 10ns more per loop is a lot.
 
On 16 Feb 2006 11:15:40 -0800, "Chris" <cfoley1064@yahoo.com> wrote:

Jonathan Kirwan wrote:
snip

Finally, this was posted over on comp.arch.embedded and it may help
you think more closely about the class of individuals you are soon to
join:

http://www.cs.pdx.edu/~harry/Relay/index.html

;)

Jon

The fabled "Machina Analytica"! Terminal blocks for the address and
data busses! Relays everywhere! St. Leibowitz and the Venerable
Boedullos are smiling somewhere, Jonathan.

But is that a 32K X 8 SRAM I see?...

"...He turned to the community, spread his hands, shrugged eloquently.

" 'It's still not Him', he told them sourly, then hobbled away.

"Afterwards, there was little formality."

Chris
What's really neat for me, I think... it's right here in my city!! So
I may hope to meet him and watch it work.

Jon
 
On 16 Feb 2006 13:01:47 -0800, "logjam" <grant@cmosxray.com> wrote:

I found his web page just a month or two ago also.
hehe.

But the relatively
short life of a relay worries me. I found a few auctions on ebay for
3000 relays at ~$200, but I don't want to hand wire such a thing. :)
Nor would I.

SOMEONE needs to make a relay based web server. Maybe it only says
"Hello World", which would probably take about a minute or two...
Well, remember that each and every "bit" of memory requires a lot of
space and handiwork to make. It would be excessively large, memory
wise. I think anyone doing something like this, with relays, is going
to be very conscious of getting the most from the least effort. And
so a lot of thought will go into that aspect. (Which is why I'd like
to visit, because I'm sure I'd learn a few things developed out of
that kind of close thinking about where each additional relay added
has the most payoff in the result.)

When I thought about it last night I came up with a new solution. A
compromise between speed and board space. This is my first experience
with binary multiplication, so my first implimentation was very
wasteful!

I wanted to have a 64bit adder circuit with parallel carry generation,
but I forgot about fan-in/out. Getting to the end of the adder circuit
would require a LOT of components too. Maybe 16bit parallel by 4
serial is more reasonable.
I think a lot of folks have been down the same path you are going, as
well. Trade-offs between combinatorial and sequential approaches.
Particularly, in this area of division, multiplication, and so on.

When thinking about an adder, though, why not take this to an extreme
here and think about doing it with a single full adder and sequential
logic? One bit at a time. Between that and a fully combinatorial
solution lays a lot of fun.

If I try to multiply 1111 by 1111 I should get 11100001.

Carry bit | multiplicand | multiplier
First off, just by way of interesting information on the side, in
multipliers there is a trade-off in combinatorial vs synchronous
implementations. A 4x4's combinatorial equivalent gate area just
about equals a sequential implementation of the same thing, in fact.
Below a 4x4, combinatorial is actually less gates. Above 4x4,
sequential is less gates. Your 4x4 suggestion here is right on the
cusp. You can go either way.

Start:
0 0000 1111 - Next Op, P0=1, add 1111 0000 to 0000 1111
0 1111 1111 - Next Op, shift right 1 bit
0 0111 1111 - Next Op, P0=1, add 1111 0000 to 0111 1111
1 0110 1111 - Next Op, shift right 1 bit
0 1011 0111 - Next Op, P0=1, add 1111 0000 to 1011 0111
1 1010 0111 - Next Op, shift right 1 bit
0 1101 0011 - Next Op, P0=1, add 1111 0000 to 1101 0011
1 1100 0011 - Next Op, shift right 1 bit
0 1110 0001 - 4 repetitions? yes
Since you are talking sequential here, the common approach I've
studied is Booth's algorithm and "shift-and-add." For shift and add,
the structure looks like:

4
X ================================\
\\
4 ,-------, ||
Y =======>| YR | ||
'-------' /===\ ||
||4 // \\ ||
|| || || ||
\/ \/ || ||
,-----, ,-----, || ||
\ \ / / || ||
\ \ / / || ||
\ \/ / || ||
/\ / || ||
/ \ / || ||
1/ '----' // ||
/ || // ||
/ ||4 // 4 || 8
/ || /====== || =========> ANSWER
| || // || //
| || // || //4
v \/ // \/ //
,---, ,--------, ,--------,
0-->| C |--->| ALUR |--->| XR |
'---' '--------' '--------'
/\
||
0000

You start out through your execution control logic (not shown), by
latching X into XR, Y into YR, 0000 into ALUR, 0 into C, and some
sequential step counter (not shown) to an initial value of 4. That
counter will have to be able to decrement and test for 0 (not shown.)

That is step (0).

Then the following logic is followed:

(1) if LSB of XR is 1, latch C:ALUR from ALU.
(2) shift right, "0":C:ALUR:XR
(3) decrement counter
(4) if counter not zero, go to step (1)
(5) Result is ALUR:XR

YR C ALUR XR counter
(0) 1111 0 0000 1111 4
(1) 1111 0 1111 1111 4
(2) 1111 0 0111 1111 4
(3) 1111 0 0111 1111 3
(1) 1111 1 0110 1111 3
(2) 1111 0 1011 0111 3
(3) 1111 0 1011 0111 2
(1) 1111 1 1010 0111 2
(2) 1111 0 1101 0011 2
(3) 1111 0 1101 0011 1
(1) 1111 1 1100 0011 1
(2) 1111 0 1110 0001 1
(3) 1111 0 1110 0001 0
(5) ============

Is that about what you are talking about here? It only requires a
4-bit adder to produce an 8-bit output.

Requirements are a register to store the 32bit multiplicand, 64bit flip
flop shift right register (carry out from adder gets shifted in),
possibly a 64bit register to store the product/working value.

This would require the least amount of parts, but limit me to
multiplication with the circuit. It would be pretty fast since it only
needs a 32bit adder instead of a 64bit.
Of course.

In the end it might be worth having a separate multiply / shift right
circuit and then an additional add / subtract circuit. It all depends
on the speed path of the full 64bit adder.
Have you looked at Booth's?

ALU flow would probably come from a fast ROM or even SRAM loaded by the
host at boot-up.

Anything I've missed that could speed up this operation? I'm
interested in reducing components, but not at a huge speed drop. The
process will take 32 loops, so 10ns more per loop is a lot.
I don't want to spend a lot of time thinking more about this. It's
all been done, somewhere. Have you looked over the literature on the
subject?

Jon
 
On 16 Feb 2006 01:53:25 -0800, "logjam" <grant@cmosxray.com> wrote:

I want to design what would have been a super computer in 1975, using
parts that would have been "easily" available. Several people have
done this already, just not on an insane scale. My favorite is the
Magic-1, which I'm currently designing PCBs for. It has been a GREAT
learning experience studying the schematics from the Magic-1. I never
thought much about what a computer did during the mysterious clock
cycles between instruction cycles, and now with the microcode muxes,
registers, it all just makes sense.

Any way, I need my computer to be very good at math. The magic-1 is a
16bit Add/sub/compare machine. I want to make mine capable of 32bit
operations and have a 32 bit data path.

I'm starting with 32bit multiplication because it gets 32bit addition
out of the way as well.

I threw together a diagram of a 32*32 multiplier using around 1040 AND
gates and 400 74283 Adder circuits. This schematic would be what I
think is called "asynchronous".

Once I completed my diagrams I remembered something horrible. There is
a LOT of time spent waiting for the carry-in-out propagation in the
hundreds of adders which leads me to building an adder out of XOR and
AND gates. This comes at the added expense of power consumption board
space, but should speed things up by about 250x. Could anyone suggest
the best 1 bit addition "block" with carry? Its pretty late here and
I'm starting to loose brain function.

Crazy? Remember, a few weeks ago I completed soldering 19,008 LEDs to
make a display...which I haven't finished yet... (building the drivers)

One last thought for those of you who, well, you know who you are.
Idle, what would the power consumption of some 600 odd ICs be? 20ma
per device? This just might make more heat than a pentium!

Now...for floating point... ;)

The IBM 704 did floating point with tubes!

http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP704.html


John
 
DJ Delorie wrote:
From the site I mentioned, it seemed like they put solder paste not
just on the actual pads, but also paste in between the pads. Any reason
why?

Well, in wave soldering, they cover the whole board with solder. The
trick is, the solder (hopefully) won't stick where the mask is,
between the pads. So, as long as you've put the right total amount of
solder down, it will get pulled to the metal pads (surface tension et
al) once it starts reflowing, and there won't be any between the pads.

You can still do this without a mask, as the solder usually won't
stick to the PCB either, but the risk of bridges increases.
In the case of hand-applied solder paste, it's basically impossible to
put an appropriate sided drop on every pad of even a SOIC. Since the
PCB itself will not hold solder, as long as you have a string of it
along the pads of the right thickness, the surface tension of the melted
solder will cause it to ball onto each pin and flow properly.

It's actually very instructed to just give it a try and pay close
attention to the instant when the solder melts (which usually occurs
from one side of the board to the other, not all at once). You'll get a
good feel for the surface-tensionn properties at that point.

A trick for dealing with variable placement of solder paste coming from
the syringe is to shove it around carefully with a sharp dental pick.
If you get a trailing blob off the end of the syringe somewhere, either
pick it up and remove it entirely, or shovel it around to places where
it's not as thick. If you do the chips first, you can move the excess
to the discrete's pads.
 
Jonathan Kirwan wrote:
What's really neat for me, I think... it's right here in my city!! So
I may hope to meet him and watch it work.

Jon
I'd like to see it in operation, too. Obviously a rather extensive
object lesson in building an ALU -- arcane, but very appropriate to his
classwork. No one will ever accuse him of not taking his job
seriously. ;-)

There are four relays for the clock -- I'm wondering if he's got a
three-phase or two phase clock.

Clock speed = 10Hz? Mirth still lives in our world -- if nothing else,
Professor Porter has a sense of humor.

Chris
 
If you guys want to see/hear a much bigger relay computer, look here:

http://www.relaiscomputer.de/

Click on Downloads and then listen to all of the sounds. In one of
them you can here the electric typewriter banging out the answer! :)

1500 relays vs 400
 
Well, I've drawn the 4 bit adder in my schematic program and I'm not
sure the board space consumption from a 32bit parallel carry adder are
worth the very little speed increase.

I want to make sure that I'm using parts that were available in the
late 70s. Does anyone know of a list of parts and their introduction
date? Or an old databook in PDF format?
 
On Fri, 17 Feb 2006 01:35:14 -0800, logjam wrote:

Well, I've drawn the 4 bit adder in my schematic program and I'm not
sure the board space consumption from a 32bit parallel carry adder are
worth the very little speed increase.

I want to make sure that I'm using parts that were available in the
late 70s. Does anyone know of a list of parts and their introduction
date? Or an old databook in PDF format?
http://www.google.com/search?hl=en&q=ttl+data+book

Cheers!
Rich
 

Welcome to EDABoard.com

Sponsor

Back
Top