Maker Pro
Maker Pro

Cheap digital logic?

D

Daniel Pitts

Jan 1, 1970
0
So, I have this algorithm. It's pretty simple. It works well on an MCU,
which is fine and all, but if I could make it cheaper by using ICs
instead, that'd be cool. This is mostly academic.

Basically, I need 64x12*2 bits of memory. That's 2 banks of 8x8x12 bits.
Each bank is one "buffer". While an external circuit is writing to one,
this circuit will be reading from the other.

So I'll need something that can select which bank the circuit is reading
from, as well as the external circuit is writing to.

I need a "clock" or "timer" that runs at about 60KHz

I need at least a 10bit counter.

The lower 3 bits of the counter control which "row" I have selected on a
1-of-8 demuxer.

The next 3 bits are control which column to read from in the buffer.
(buffer address basically the lower 6 bits).

For each of the three nibbles at that address, I compare that magnitude
to the high 4 bits of the counter. The result of that comparison is then
pushed into a shift register (one register per nibble).

Now, the full circuit needs the shift-registers and demuxer, regardless
of whether or not I use an MCU, so those shouldn't factor into the
price, unless there is a counter where the lower 3 bits are pre-decoded.

An MCU with enough processing power and memory costs < $1 (about $0.67
for the SOIC package). Can I do this cheaper with non-MCU parts?

I haven't been able to find a way, but I'm not entirely sure what I'm
looking for.

Thanks,
Daniel.
 
So, I have this algorithm. It's pretty simple. It works well on an MCU,
which is fine and all, but if I could make it cheaper by using ICs
instead, that'd be cool. This is mostly academic.

Basically, I need 64x12*2 bits of memory. That's 2 banks of 8x8x12 bits.
Each bank is one "buffer". While an external circuit is writing to one,
this circuit will be reading from the other.

So I'll need something that can select which bank the circuit is reading
from, as well as the external circuit is writing to.

I need a "clock" or "timer" that runs at about 60KHz

I need at least a 10bit counter.

The lower 3 bits of the counter control which "row" I have selected on a
1-of-8 demuxer.

The next 3 bits are control which column to read from in the buffer.
(buffer address basically the lower 6 bits).

For each of the three nibbles at that address, I compare that magnitude
to the high 4 bits of the counter. The result of that comparison is then
pushed into a shift register (one register per nibble).

Now, the full circuit needs the shift-registers and demuxer, regardless
of whether or not I use an MCU, so those shouldn't factor into the
price, unless there is a counter where the lower 3 bits are pre-decoded.

An MCU with enough processing power and memory costs < $1 (about $0.67
for the SOIC package). Can I do this cheaper with non-MCU parts?

I haven't been able to find a way, but I'm not entirely sure what I'm
looking for.

This sounds trivial in a CPLD or maybe a small FPGA (with the RAM
being the key). Probably about $10 in small quantities. Depending on
your skills, getting a package you're comfortable with is probably the
biggest issue in selecting a part.
 
D

Daniel Pitts

Jan 1, 1970
0
This sounds trivial in a CPLD or maybe a small FPGA (with the RAM
being the key). Probably about $10 in small quantities. Depending on
your skills, getting a package you're comfortable with is probably the
biggest issue in selecting a part.
That doesn't sound cheaper than a $1 MCU ;-)
 
D

Daniel Pitts

Jan 1, 1970
0

Good answer. It is what I had come up with on my own, but wanted to hear
from more experienced people first. Thanks.
 
$0.90 from DigiKey in onsies: http://www.digikey.com/product-detail/
en/5M40ZE64C5N/544-2717-ND/2499440

I didn't check to see if it's big enough for what the OP wants, though.
I suspect that he could find something for under $2.00 in qty 1, but if
his application is slow enough it's still probably more sensible to go
with a micro.

I didn't look at all, but he's going to need some RAM. Block RAM will
probably do it, but it's not going to be the smallest device.
It's not like there's jelly-bean 7400 series memory parts available any
more, and if there were you'd need a wad of parts around them to make it
all work -- this is why CPLDs were invented in the first place.

74HCxx is still available but he's not going to save any money. I
agree with the CPLD comment, though some CPLDs aren't going to have
memory devices. Using a LUT per bit is going to get expensive.
 
Top