6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 8:49 am

All times are UTC




Post new topic Reply to topic  [ 59 posts ]  Go to page 1, 2, 3, 4  Next
Author Message
PostPosted: Tue Oct 19, 2010 7:35 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1748
Location: Sacramento, CA
I have come up with a simple memory decoder that can be used as a building block for computer builders.

It consists of a 24 pin 0.3" wide DIP Lattice 22V10 GAL chip programmed to provide chips selects to a 32K ROM, 32K SRAM, and four IO Devices. It will also take the RW and PHI2 pins from the 6502/65816 and produce a /OE and /WE signal for the memories.

This one chip can be used to replace several standard logic chips and also provides flexibility in assigning IO addresses.

The standard map will look like this:

Code:
$0000-$01FF - RAM
$0200-$020F - IO Device #1 (16 bytes)
$0210-$021F - IO Device #2 (16 bytes)
$0220-$022F - IO Device #3 (16 bytes)
$0230-$023F - IO Device #4 (16 bytes)
$0240-$02FF - unassigned (can be externally decoded for use)
$0300-$7FFF - RAM
$8000-$FFFF - ROM

Since the device is programmable, custom maps can easily be created.

Options include adding a second RAM chip select to allow for more RAM and less ROM, i.e. 48K RAM and 16k ROM.

The propagation delay is 10ns.

Here is the pinout for the standard configuration:

Code:
       --------
PHI2  |1     24| Vcc
RW    |2     23| /OE
A15   |3     22| /WE
A14   |4     21| /RAM
A13   |5     20| /ROM
A12   |6     19| /IO1
A11   |7     18| /IO2
A10   |8     17| /IO3
A9    |9     16| /IO4
A8    |10    15| A4
A7    |11    14| A5
Gnd   |12    13| A6
       --------

If anyone is interested, I will provide a programmed chip for $6 each plus shipping.

For those with programmers, I will make the source code available soon.

Contact me for more info.

Daryl


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Oct 19, 2010 8:18 pm 
Offline

Joined: Fri Aug 30, 2002 2:05 pm
Posts: 347
Location: UK
If you move the outputs to pins 15 to 22 and use pin 23 as an input then the decoder will also fit in the 20V8 device.

Lee.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Oct 19, 2010 8:50 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1748
Location: Sacramento, CA
Good suggestion, Lee.

However, those chips will not support ANDing A15 through A4 for the IO device selects as each output can have only 8 product terms.

The 22V10 supports up to 16 product terms per output. (it varies for each output)

However, a system that could have each device occupy 256 bytes would work. i.e.,
Code:
$0000 - $7FFF - RAM
$80xx - Dev 1
$81xx - Dev 2
$82xx - Dev 3
$83xx - Dev 4
$8400-$FFFF - ROM


I cannot find a 10ns Lattice 20V8. My programmer won't work with an Atmel device but does fine with the Lattice devices. Do you know of a source for Lattice 20V8's?

I'm sure they would be much cheaper.

Daryl


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Oct 19, 2010 9:20 pm 
Offline

Joined: Fri Aug 30, 2002 2:05 pm
Posts: 347
Location: UK
I'd forgotten that the 20V8 only allows 8 terms but in the past I've not found it a problem if outputs can be reused (remembering the increase in propagation delay).

E.g if you have ROM as $8400 to $FFFF then by using !ROM and A15 you still have six terms for other address lines, R/W and phase 2.

Lee.


Top
 Profile  
Reply with quote  
 Post subject: GALs & Their PALs
PostPosted: Tue Oct 19, 2010 11:27 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8505
Location: Midwestern USA
8BIT wrote:
I cannot find a 10ns Lattice 20V8. My programmer won't work with an Atmel device but does fine with the Lattice devices. Do you know of a source for Lattice 20V8's?

You're probably looking for a Lattice GAL20V8C-10LJN or similar (that number is a PLCC24 package). Mouser has three in stock. However, Lattice has EOLed much of their PLD line, so act fast if you want one..

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 20, 2010 12:31 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1748
Location: Sacramento, CA
I saw that one. I want to stick to DIP packages, especially for beginners. My hope is to make available something that can help someone new get started easily, or help a more experienced user get faster clock speeds.

There are over 700 10ns DIP parts in stock for $5 in qty over 25 so I know they won't disappear tomorrow (maybe next month though).

If anyone can find a Lattice 20V8 (DIP) in qty over 25, please let me know. I would like to add those as a cheaper solution.

thanks

Daryl


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 20, 2010 12:43 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
This is exactly one of the types of things I'm excited to see coming from our new informal consortium.  Daryl, after the designs seem stable and there don't seem to be any more requests for changes, I would suggest giving them your own brand name and unique part numbers for others to refer to them to in discussions and parts recommendations.  Document them well on your website and make it easy for hobbyists doing searches to find them.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 20, 2010 12:48 am 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
I had the same problem with Atmel's version of the 20V8 in my G540 programmer.

-EyE

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 20, 2010 4:31 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1748
Location: Sacramento, CA
I have compiled the logic for the default configuration for a 22V10.

Here is a schematic picture of the equivalent circuit:
Image

Each output will have a maximum of 10ns propagation delay from the inputs.

Daryl


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 20, 2010 4:40 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8505
Location: Midwestern USA
8BIT wrote:
I have compiled the logic for the default configuration for a 22V10.

Here is a schematic picture of the equivalent circuit:
Image

Each output will have a maximum of 10ns propagation delay from the inputs.

Daryl

Are you going to post the ABEL or VHDL for it as well?

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 20, 2010 4:44 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1748
Location: Sacramento, CA
Yes, I just need to clean it up and add enough comments to make it easy to understand and modify.

Daryl


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Oct 21, 2010 4:11 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8505
Location: Midwestern USA
8BIT wrote:
If anyone can find a Lattice 20V8 (DIP) in qty over 25, please let me know. I would like to add those as a cheaper solution.

Quest Components has some 20V8s in 10 ns. Look at this.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Oct 21, 2010 5:05 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1748
Location: Sacramento, CA
BigDumbDinosaur wrote:
8BIT wrote:
If anyone can find a Lattice 20V8 (DIP) in qty over 25, please let me know. I would like to add those as a cheaper solution.

Quest Components has some 20V8s in 10 ns. Look at this.


Thanks for the link. I'll keep those on my radar.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Oct 21, 2010 5:10 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1748
Location: Sacramento, CA
I have completed development for the 22V10 memory decoder, now named DEC-1.

I plan to revamp my website in the next week or so, but in the mean time, here is a zip file with the source, object, and docs I have compiled.

thanks

Daryl


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Oct 21, 2010 12:00 pm 
Offline

Joined: Thu Jul 22, 2004 11:46 am
Posts: 43
Location: Sweden
Daryl,

Maybe I misunderstood your statement regarding anding terms but this is as far as I know: Each product term in a 20V8 is essentially a 32-input AND gate. Allowing you to create AND equations featuring every combination of all inputs to any one of the 8 product term (OR) inputs. You should have no problems creating very complex address schemes using a 20V8 device, or a 22V10 for that matter.

Edit: Which you already knew as I could see from the source code. Never mind my comment :oops:

/Pontus


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 59 posts ]  Go to page 1, 2, 3, 4  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: