|
My 8 bit computer design is slowly coming together. It will come down to three 160mm x 160mm boards, all stuffed full with ICs.
Board 1 will be the CPU, BIOS ROM, basic RAM, selection logic for all memory and I/O devices, the experimental interrupt logic, the old Elf's cassette tape interface as simple means of loading or storing programs, a RS232 serial port to connect a terminal or 'network' with the old Elf and a connector for a 4 inch monochrome LCD display (160 x 128 pixel, both graphics and text).
Board 2 will contain the MC6847 based graphics, the IDE controller, the PS/2 ports for keyboard and mouse, a timer chip (for generating interrupts when it's time to swap tasks) and a soundchip (which I still have not found yet).
Board 3 will be the 8 Mb paged memory I posted a few days ago.
This is already an improvement over the firat design. I expected to have up to 6 smaller boards. On the other hand there is still room for improvement. There is a good load of simple logic ICs on every board. Some, like the MAX 232 in the serial port or the op amps in the old cassette interface can't be replaced by programmable logic, but about 25 74HC family logic ICs remain and (as I hope) can be replaced by a CPLD or two. FPGAs probably are too big and to expensive for this job.
My preferenced would be:
- Please no SMDs! I would like to program my CPLDs in some kind of development board, then take them out of the socket and plug them right into the sockets on the computer's boards. PLCCs would be fine, for example. Hand soldering SMDs is torture anyway.
- A lot of the discrete logic is about chip and device selection. Simple stuff that needs a few gates and which I don't expect to be much trouble.
- Then I have a lot of registers that latch all kinds of stuff, like demultiplexing the address bus, storing the selected memory pages, storing pending interrupts or holding the inputs from the PS/2 ports. How great would it be to simply send the data lines, address lines and read/write signals into a CPLD and let it do all the decoding, storing and outputting without having to wire up each and every part seperately!
- For the PS/2 ports I will need shift registers and counters. These I will probably have to define myself from simpler gates, right?
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Altera do some I think, but they were going to BGA last I looked, BGA's are not fun for hand assembly.
It can be done but requires brain surgery levels of coordination. Altera do have CPLDs there are simpler options programming wise (have a look at Texas, Atmel), but I think they have jumped over to BGA's almost exclusively.
|
|
|
|
|
Thanks. I looked for Altera and Atmel and found quite a few devices in PLCC packages. The price was around 2 or 3 bucks each, so that's ok as well. Now I see another problem coming: All of them run at 3.3V or less. I need 5V, but that seems to be completely out of the question.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
A thing I have done in that situation is use a 5v-3.3v converter locally to power them. I suppose you could use a potential divider as a hill-billy test solution...
|
|
|
|
|
That plus level shifting at the I/O pins kindof defeats the purpose of having less stuff on the boards, right?
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Yep, but there is always the thing of making the boards too simple, when you get to designing your own computer easy is good, do-not mistake easy and simple for the same thing!
|
|
|
|
|
Easy is good?
Then I will probably keep the discrete logic. The oldschool method would be to do everything one step at a time and test as much as possible on a breadboard. Once I have the first board running, I can connect it to the breadboard with a ribbon cable and try out each component on the other boards one at a time.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Easy is good? -> well in my experience YES, If the circuit has a minimal amount of cleverness then it's easy to find where issues are. Having spent days sorting 'clever' designs to remove one set of chips where the designer though well I can do that in a PLD, don't. Only to find the a bug in the PLD's. I am a fan of getting it to work, then 'simplify' things when you know your base design was working. For instance if you come up with a way of simplifying the connection path try it on one section first get that working, then try the next, it might need some fiddling(R's & C's) to get it right in each case it's used...
|
|
|
|
|
Then how about this:
I could build a bare bones single board computer. The absolute minimum:
- CPU
- a ROM
- a RAM
- address demultiplexer (otherwise it can't address ROM and RAM)
- clock oscillator
- simple bit banged slow RS232 (just two transistors and a few resistors required). If I use a PC power supply, I should also get the required voltages.
- a bus connector
I should have most parts at home and could solder this together. With the bit banged serial port I can load test programs from a PC and run them. Now I can hook up the breadboard to the bus connector and can go one step at a time and test everything before ever having to make any boards.
Edit: I just looked it up: The ATX power supply I use with the breadboards deliver +/- 12V That's well in the specifications of RS232 and will do for the simple bit banged serial port.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
ATX power supplies, useful but scary amounts of current I have seen them melt the insulation off wires when not treated with care (I have used one for cutting PVC drain pipes!). I know it's a pain but if you go slowly and carefully you can get it done and it will look cool!
|
|
|
|
|
glennPattonWork wrote: I know it's a pain but if you go slowly and carefully you can get it done and it will look cool! What? The drain pipe?
glennPattonWork wrote: ATX power supplies, useful but scary amounts of current I have been using it for years now with the circuits on the breadboard. This particular power supply obviously can live well with only a tiny load connected.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Quote: glennPattonWork wrote:
I know it's a pain but if you go slowly and carefully you can get it done and it will look cool!Cool |
What? The drain pipe?
Nope the 'puter
I will want to see photos
|
|
|
|
|
There are 20 and 24pin PDip EEPLDs in stock at Mouser.
|
|
|
|
|
Try the Lattice GAL22V10D-25N, still available, DIL Package and works at 5V. I think you need the ISPLever tools for designing.
|
|
|
|
|
To be XOR not to be...
That is the question.
... such stuff as dreams are made on
|
|
|
|
|
True.
modified 13-Sep-18 21:01pm.
|
|
|
|
|
No. x XOR !x always is true.
Besides that, equality is tested with XNOR.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
CodeWraith wrote: x XOR !x always is true
Under the oversimplifying assumption that be cannot change quickly.
... such stuff as dreams are made on
|
|
|
|
|
megaadam wrote: Under the oversimplifying assumption that be cannot change quickly.
No, still evaluates to true.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
Actually not, if it changes between the two reads. ie:
(true) XOR (not false)
... such stuff as dreams are made on
|
|
|
|
|
megaadam wrote: Actually not, if it changes between the two reads.
In the register? During a single-bit comparison operation? Death NOR taxes move that fast
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
#define be a++
... such stuff as dreams are made on
|
|
|
|
|
Oooh, I love bool b s.
|
|
|
|
|
That's a bit much (or not).
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
After 5 years, I decided to upgrade the TV in my living room. The question I wanted to ask is if the following features exist on TV.
The Feature is like opposite of Mute. I would like to hear the audio but not the Picture. In other words I want the audio to be heard with the TV monitor screen off/blank!!
cheers,
Super
------------------------------------------
Too much of good is bad,mix some evil in it
|
|
|
|