Forums

Need to construct the logical reverse of a 7448 - perhaps using a GAL

Started by John Robertson October 8, 2018
On Wednesday, October 10, 2018 at 8:08:27 PM UTC-4, Gerhard Hoffmann wrote:
> Am 11.10.2018 um 01:46 schrieb gnuarm.deletethisbit@gmail.com: > > On Tuesday, October 9, 2018 at 1:01:16 PM UTC-4, John Robertson wrote: > >> On 2018/10/09 9:15 AM, Jeff Liebermann wrote: > >>> On Tue, 9 Oct 2018 00:26:06 -0700, John Robertson <spam@flippers.com> > >>> wrote: > >>> > >>>> Easy, but too big for my application. I guess I could use a tiny EPROM, > >>>> should have looked for that I guess. Got caught up in elegant solutions... > >>> > >>> Swell. Now you want it small. Perhaps something like a 28C16A: > >>> <https://www.digchip.com/datasheets/download_datasheet.php?id=548714&part-number=M28C16A> > >>> > >> > >> Size isn't everything...(ducking) > >> > >> Other than being obsolete it would be fine. Perhaps you have a few dozen > >> to sell? > >> > >> Otherwise I'll likely go with the overkill one: AT27C256R-70JU > >> > >> At $1.50 it is hard to beat. > >> > >> Thanks, > >> > >> John :-#)# > > > > $1.1179 qty 1 > > > > https://lcsc.com/product-detail/CPLD-FPGA_MICROCHIP_ATF16V8B-15PU_ATF16V8B-15PU_C6509.html > > > > Rick C. > > > > < https://www.digikey.de/products/de?keywords=%20ATF16V8B-15PU > > > &euro;0.75 qty 1 at digikey. > > cheers, Gerhard
I'd say this is clearly a good part for this task. It's small, cheap, easy to design. I don't know how you might program it though. I seem to recall reading in one group or another that it is hard to find programmers for smaller PLDs, but I bet you can find them on eBay or Aliexpress. Rick C.
On 2018/10/10 3:43 PM, gnuarm.deletethisbit@gmail.com wrote:
> On Tuesday, October 9, 2018 at 3:21:01 AM UTC-4, John Robertson wrote: >> On 2018/10/08 9:40 PM, Jeff Liebermann wrote: >>> On Mon, 8 Oct 2018 21:19:16 -0700, John Robertson <spam@flippers.com> >>> wrote: >>> >>> >>>> Truth table can't display it here, so I put it here: >>>> ftp://flippers.com//usr/www/users/flip/images/temp/7-segment-to-BCD-truth-table.png >>> >>> 550 no such directory. >>> >> >> Crap, this is correct: >> >> https://flippers.com/images/temp/7-segment-to-BCD-truth-table.png > > Trouble is this truth table doesn't show the don't care states of which there are 112 of them. This will let you highly optimize the equations you want to implement and might well let you use some pretty simple SSI/MSI logic. Of course if you are targeting a PLD a tool can do this for you. But then this table is not as useful as a simple case statement. > > Many HDL compilers will implement don't cares by assignments of the value '-'. Assuming the lit segments are logic lows, the important code becomes... > > signal CharSegs unsigned(6 downto 0); > signal CharHex unsigned(3 downto 0); > > process (CharSegs) > BEGIN > case CharSegs is > when "0000001" => CharHex <= "0000"; -- '0' > when "1001111" => CharHex <= "0001"; -- '1' > when "0010010" => CharHex <= "0010"; -- '2' > when "0000110" => CharHex <= "0011"; -- '3' > when "1001100" => CharHex <= "0100"; -- '4' > when "0100100" => CharHex <= "0101"; -- '5' > when "0100000" => CharHex <= "0110"; -- '6' > when "0001111" => CharHex <= "0111"; -- '7' > when "0000000" => CharHex <= "1000"; -- '8' > when "0000100" => CharHex <= "1001"; -- '9' > when "0001000" => CharHex <= "1010"; -- 'A' > when "1100000" => CharHex <= "1011"; -- 'b' > when "0110001" => CharHex <= "1100"; -- 'C' > when "1000010" => CharHex <= "1101"; -- 'd' > when "0110000" => CharHex <= "1110"; -- 'E' > when "0111000" => CharHex <= "1111"; -- 'F' > when others => "----"; > end case; > end process; > > A tool will provide optimized logic equations and you can choose whether you want to use SSI/MSI or a PLD. > > Rick C. >
Hi Rick, I am going with a EEPROM, and the don't care states are defined as blank (no segments lit) so not an issue. The ST39SF010A EEPROM will be under $1USD, and is easy to program. Thanks, John :-#)# -- (Please post followups or tech inquiries to the USENET newsgroup) John's Jukes Ltd. MOVED to #7 - 3979 Marine Way, Burnaby, BC, Canada V5J 5E3 (604)872-5757 (Pinballs, Jukes, Video Games) www.flippers.com "Old pinballers never die, they just flip out."
On 2018/10/10 3:45 PM, gnuarm.deletethisbit@gmail.com wrote:
> On Tuesday, October 9, 2018 at 3:26:16 AM UTC-4, John Robertson wrote: >> On 2018/10/08 9:15 PM, tom wrote: >>> >>> "John Robertson" <spam@flippers.com> wrote in message >>> news:FpWdnYuq0ujJaSbGnZ2dnUU7-I_NnZ2d@giganews.com... >>>> I am looking for a way to take the TTL level outputs (treating them as >>>> inputs) of a 7448 and convert them back to the original BCD TTL input >>>> levels (but as outputs) and I figured a simple socketed GAL would do the >>>> trick for the least cost. However I don't have the skill set to build the >>>> GAL logic table for this. Any suggestions? And no, I can't simply remove >>>> the 7448 from the circuit. >>>> >>>> Go easy on me here, I can unscrew hardware, but Boolean has never been my >>>> forte... >>>> >>>> Thanks! >>>> >>>> John :-#)# >>>> -- >>> >>> One way to do it is to use an EPROM. Connect the seven segments to AD0 to >>> AD6. Use the first four data outputs (D0 to D3) for the BCD code. Make up a >>> table with the correct memory locations to put 1s in for the decoder. Tie >>> /CE and /CS to the appropriate levels. A 2716 would work fine, just ignore >>> the unwanted outputs and tie AD7 to ground. >>> >>> >>> Regards >>> >>> >> >> Was looking for tiny, I have lots of Eproms, but space, eh? An Eprom >> would be simple too. The look up table would only take 15 bytes, you >> would use the Address lines A0-A3 with the Data lines being the outputs. >> Easy, but too big for my application. I guess I could use a tiny EPROM, >> should have looked for that I guess. Got caught up in elegant solutions... > > Actually the inputs will be seven, so 128 words and four bits out, not that it makes much difference these days when small EPROMs are virtually impossible to find. > > Rick C. >
When EEPROMs are under $1USD who cares if they are way over capacity? The device I am going to use ST39SF010A is way overkill, but I just tie those unused address lines to Gnd and ignore them. It would be more elegant if devices that are under 1K in size were still made, but why would anyone bother? Heck all I really need is under 160x4... John :-#)# -- (Please post followups or tech inquiries to the USENET newsgroup) John's Jukes Ltd. MOVED to #7 - 3979 Marine Way, Burnaby, BC, Canada V5J 5E3 (604)872-5757 (Pinballs, Jukes, Video Games) www.flippers.com "Old pinballers never die, they just flip out."
On 2018-10-11, John Robertson <spam@flippers.com> wrote:
> On 2018/10/10 3:45 PM, gnuarm.deletethisbit@gmail.com wrote: > > When EEPROMs are under $1USD who cares if they are way over capacity? > The device I am going to use ST39SF010A is way overkill, but I just tie > those unused address lines to Gnd and ignore them. > It would be more elegant if devices that are under 1K in size were still > made, but why would anyone bother? > Heck all I really need is under 160x4...
You don't need a blanking output? you just want 0000 for a blank input? -- Notsodium is mined on the banks of denial.
Am 11.10.2018 um 03:37 schrieb gnuarm.deletethisbit@gmail.com:
> On Wednesday, October 10, 2018 at 8:08:27 PM UTC-4, Gerhard Hoffmann wrote:
>> >> < https://www.digikey.de/products/de?keywords=%20ATF16V8B-15PU > >> >> &euro;0.75 qty 1 at digikey. >> >> cheers, Gerhard > > I'd say this is clearly a good part for this task. It's small, cheap, easy to design. I don't know how you might program it though. I seem to recall reading in one group or another that it is hard to find programmers for smaller PLDs, but I bet you can find them on eBay or Aliexpress.
I still have a Hilo All-11 programmer and a virtual Win XP machine that can operate it. To my surprise, a Hama USB to RS232 converter worked perfectly. I have used PALs and GALs a lot, until the Xilinx XC2018 & friends appeared. (See topmost photo there: ) < http://www.hoffmann-hochfrequenz.de/project_gallery/project_gallery.html > regards, Gerhard