Even FPGAs, especially modern, suitable for making SoCs, require a lots of knowledges, powerful software for VHDL/Verilog development and a high class PCB.Combuster wrote:Get yourself an FPGA prototype board and implement your own SoC on top of that.
Homebrew Computer Testing
Re: Homebrew Computer Testing
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: Homebrew Computer Testing
It's definitely not any worse than building an all transistor (let alone relais/vaccuum tube) CPU, and you have quite a few samples already out there to copy-paste into your own design. And I mentioned the prototype board to deal with the PCB part of it.
Re: Homebrew Computer Testing
Magic-1 lol! Arm may be a possibility, however as JamesM pointed its not a CPU its a SoC
Get back to work!
Github
Github
Re: Homebrew Computer Testing
Yes. But ARM doesn't exist as standalone CPU. Mainly it is a licensed core, either soft core or IP block that is used in a multitude of SoCs or highly integrated microcontrollers.
Re: Homebrew Computer Testing
Honestly, I'd stay with my previous suggestion of using a bunch of breadboards, a Z80, some EEPROM, RAM and a load of TTL DIL chips to create a small but programmable and usable computer. You could even use standard TTL to create a small CPU.
Re: Homebrew Computer Testing
You can add VGA for a few pennies .bubach wrote:well, if you decide to make your own based on x86, let me know if you can produce something like the bifferboard (preferably with same functionality and price-range) but with VGA & sd mmc included - I'd buy one, or ten
http://www.overclockers.co.uk/showprodu ... =CB-000-SA
Discussion:
http://groups.google.com/group/bifferbo ... f65f672389
As for SD card, you can add your own:
https://sites.google.com/site/bifferboard/sd_mmc_howto
I don't know if you realised but the Bifferboard comes in two parts, so you need only make your own IO board, and you can have both VGA and SD on your new version. The board interconnects are all 0.1 inch.
We don't normally sell the CPU boards individually because nobody wants a board without any IO, but if someone were to come up with an alternative IO board, then that would change things, obviously. Price-wise the CPU board costs us about 3/4 of the total.
regards,
Biff.
Re: Homebrew Computer Testing
First, for a small project I think the best option is a PIC-microcontroller as these are easy to get and cheap. Preferably one which has a low-cost programmer & evaluation board. I would probably chose PIC16F84.
Second, for a x86 project, I would use V25/V35 (this is a 8086 clone). These processors are relatively easy to interface, doesn't come in huge surface-mount packages, and are affordable.
Third, for a faster processor, you might use an 486DX. While these have more complicated bus-interfaces, they are still within the range of a home-brew project. You could probably buy them as used (I did when I had plans like that).
Forth, if you need a high-end processor (above 486), I'd say building your own motherboard is out of the question as these processors are dependent of huge chipset ICs that are surface-mounted, and thus out of reach for a typical home-brew project. I'd use an industrial PC/104 or PC/104+ board, and build my own expansion board for things that are not standard devices.
I've built boards in all these ranges except for a 486DX board. I've also built a 80186 board, but I don't think you can get the 80186 processor anymore. I've also built Z80 based designs, but I find Z80 highly obsolete today.
You'd also need some type of CADD software, and some manufacturer of boards. I use EDWinXP for circuit board design, and Macaos for ordering professional boards.
Second, for a x86 project, I would use V25/V35 (this is a 8086 clone). These processors are relatively easy to interface, doesn't come in huge surface-mount packages, and are affordable.
Third, for a faster processor, you might use an 486DX. While these have more complicated bus-interfaces, they are still within the range of a home-brew project. You could probably buy them as used (I did when I had plans like that).
Forth, if you need a high-end processor (above 486), I'd say building your own motherboard is out of the question as these processors are dependent of huge chipset ICs that are surface-mounted, and thus out of reach for a typical home-brew project. I'd use an industrial PC/104 or PC/104+ board, and build my own expansion board for things that are not standard devices.
I've built boards in all these ranges except for a 486DX board. I've also built a 80186 board, but I don't think you can get the 80186 processor anymore. I've also built Z80 based designs, but I find Z80 highly obsolete today.
You'd also need some type of CADD software, and some manufacturer of boards. I use EDWinXP for circuit board design, and Macaos for ordering professional boards.
Re: Homebrew Computer Testing
Wow, that was somewhat unexpected I guess you keep track of the talk/linking that goes on with the bifferboardbifferos wrote:You can add VGA for a few pennies .
http://www.overclockers.co.uk/showprodu ... =CB-000-SA
Discussion:
http://groups.google.com/group/bifferbo ... f65f672389
As for SD card, you can add your own:
https://sites.google.com/site/bifferboard/sd_mmc_howto
I don't know if you realised but the Bifferboard comes in two parts, so you need only make your own IO board, and you can have both VGA and SD on your new version. The board interconnects are all 0.1 inch.
We don't normally sell the CPU boards individually because nobody wants a board without any IO, but if someone were to come up with an alternative IO board, then that would change things, obviously. Price-wise the CPU board costs us about 3/4 of the total.
regards,
Biff.
I thought of that too, but unfortunately I'm not much of a hardware-hacker. But it might be worth trying to learn making my own IO board for it. My main concern is how much IO I could actually fit on there, if I where to add SD, VGA and sound (preferably something soundblaster compatible) what else might I have to sacrifice? I see that VGA solution used up one USB port, and IIRC the SD-card solution renders the other one useless when in operation?
In case there's no way to keep both USB's I'd have to add two PS2 connectors as well.. And the complexity starts to spin out of control for me at this point, haha...
Even if I did manage to get 1 or 2 working i'd have to look up a way to get this pre-made if I where to ship units with my future OS versions on it
Do you have any new IO board variants planned for the future? What I described above would mean that the final product would work pretty much as a standard 486 did in those days, meaning I could switch between using it as a retro-box for DOS gaming (with some hacking for SD-card functionality) and uniform hardware unit for my own OS.
After a closer look on that port duplicator you linked, I'm left wondering how it works behind the scenes? It provides, VGA, sound, network, more USB and a COM port. Does it really include hardware to handle all that for that price or is it just like an extension over USB that needs the hardware elsewhere? Also, how would that work with software compatibility using VGA over USB like that... I'd like to run DOS, win3.1 or win95 on it too, without to much driver hacking to make it all work, so compatibility is an issue for me. These are all things worrying me, but hey, I might try it and see if I can't brush up on the hardware side of things. If all goes well I might have alternative IO boards for sale in a year or 5.. haha
btw, sorry for kind of hijacking the thread.
Re: Homebrew Computer Testing
Phew! Lots of questions....
https://sites.google.com/site/bifferboa ... ound-cards
https://sites.google.com/site/bifferboa ... estigation
http://www.rdc.com.tw/en/product/mcu_32bit.php
I have the reference design but have not done much with it so far. If you want to add VGA, you have to think up some commercial application for the finished board. There's no point mass producing some board purely for playing DOS games, with a SVGA connector on it and trying to sell 1000 of them to people on osdev, it just won't fly. 99% of our customers are happy with a headless solution, so we just suggest to add a display via GPIO, USB or serial. Perhaps we could make a board with space for the SVGA connector but no components populated, but those connectors do take a lot of board real-estate, so we could consider a high-density connector and daughter board? <shrug>
I do track the links, but I didn't follow them this time, I've been a lurker and occasional poster here for a while!bubach wrote: Wow, that was somewhat unexpected I guess you keep track of the talk/linking that goes on with the bifferboard
And indeed, sadly few people are, when it comes down to it .I'm not much of a hardware-hacker
You can have the IO board as large or small as you want. Do video via a USB->VGA adapter, or use Batsocks via serial (if you only want text), or use a Minimus and make your own circuit to control a Nokia phone display if you want, but you'd do USB sound with one of these:But it might be worth trying to learn making my own IO board for it. My main concern is how much IO I could actually fit on there, if I where to add SD, VGA and sound (preferably something soundblaster compatible) what else might I have to sacrifice?
https://sites.google.com/site/bifferboa ... ound-cards
I was suggesting using the JTAG port (converted to GPIO) for SD, speed is limited to 150KB/sec, but it depends what you want it for.I see that VGA solution used up one USB port, and IIRC the SD-card solution renders the other one useless when in operation?
Hmmm... well you could just connect it to a propeller if you want VGA + KB + Mouse:In case there's no way to keep both USB's I'd have to add two PS2 connectors as well.. And the complexity starts to spin out of control for me at this point, haha...
https://sites.google.com/site/bifferboa ... estigation
If it's generic enough I may be able to arrange that. It depends where you want to go with it, if you want to sell it independently, you're welcome to do so, and I can link to it (if it's any good. ha ha...)Even if I did manage to get 1 or 2 working i'd have to look up a way to get this pre-made if I where to ship units with my future OS versions on it
No, although many people have discussed it, perhaps you want to pool resources with them.Do you have any new IO board variants planned for the future?
OK, for genuine 486 compatibility you need an independent board, so the whole thing needs to be redone. I've been considering to base one on the slightly faster HB301:What I described above would mean that the final product would work pretty much as a standard 486 did in those days, meaning I could switch between using it as a retro-box for DOS gaming (with some hacking for SD-card functionality) and uniform hardware unit for my own OS.
http://www.rdc.com.tw/en/product/mcu_32bit.php
I have the reference design but have not done much with it so far. If you want to add VGA, you have to think up some commercial application for the finished board. There's no point mass producing some board purely for playing DOS games, with a SVGA connector on it and trying to sell 1000 of them to people on osdev, it just won't fly. 99% of our customers are happy with a headless solution, so we just suggest to add a display via GPIO, USB or serial. Perhaps we could make a board with space for the SVGA connector but no components populated, but those connectors do take a lot of board real-estate, so we could consider a high-density connector and daughter board? <shrug>
Indeed it does.After a closer look on that port duplicator you linked, I'm left wondering how it works behind the scenes? It provides, VGA, sound, network, more USB and a COM port. Does it really include hardware to handle all that for that price
That probably rules it out. It would be a lot of work. It's attractive to Linux people because the Linux drivers for all the USB end-points are already available.Also, how would that work with software compatibility using VGA over USB like that... I'd like to run DOS, win3.1 or win95 on it too, without to much driver hacking to make it all work
Me too, but I figured perhaps we can get away with it in the 'General Ramblings' area, that's my excuse and I'm sticking to it.btw, sorry for kind of hijacking the thread.
Re: Homebrew Computer Testing
hehe and lots of answers too. thanks, I've got lots of information to melt here but it sure made me more curious about doing some more research into this, maybe even try to locate my soldering kit for the first time in years
Re: Homebrew Computer Testing
Hardware designs based on USB are not good candidates for a homebrew project that proposedly would run a homebrew OS as well. I would want to have as much in TTL and simple interfaces as possible. Another important factor would be that all the used chips are well documented, otherwise you might end up being unable to implement device-drivers in your OS. Unfortunately, the availability of Linux drivers today is no garantee for an open design that you can write device-drivers for.
So, for any prebuilt board I'd consider, I'd first check out this (this can be extended to PCs as well):
1. Can the manufacturer list all the devices that are on the board?
2. Can the manufacturer provide a schematic, or at least description, of how some non-standard interfaces are wired (especially GPIO, watchdog timers, SD interfaces)?
3. Is it possible to get documentation for all the devices on the board?
If the answer is no to any of the above, I'd look at another board.
In the next step I'll look at the complexity of the devices, and I would prefer simple devices over complex devices if they had similar function. I'd definitely prefer standard VGA over USB-VGA, standard IDE/SATA disc over USB disc (includes most SD solutions) and wired ethernet over wireless ethernet and USB-based ethernet.
So, for any prebuilt board I'd consider, I'd first check out this (this can be extended to PCs as well):
1. Can the manufacturer list all the devices that are on the board?
2. Can the manufacturer provide a schematic, or at least description, of how some non-standard interfaces are wired (especially GPIO, watchdog timers, SD interfaces)?
3. Is it possible to get documentation for all the devices on the board?
If the answer is no to any of the above, I'd look at another board.
In the next step I'll look at the complexity of the devices, and I would prefer simple devices over complex devices if they had similar function. I'd definitely prefer standard VGA over USB-VGA, standard IDE/SATA disc over USB disc (includes most SD solutions) and wired ethernet over wireless ethernet and USB-based ethernet.
Re: Homebrew Computer Testing
Agreed. I was only really indicating what could be done, for low cost.rdos wrote:Hardware designs based on USB are not good candidates for a homebrew project that proposedly would run a homebrew OS as well.
I still think the HB301 or R8610 are a good bet as a base for such a system, and I would love to see such a thing being built. Both have reference designs, although buying them from RDC is rather expensive ($100 or more I believe for what is effectively a very low spec x86 board), you can obtain complete schematics for those designs including Orcad files, then modify them to add whatever extra devices you want on the PCI/ISA bus. Of course, there is still a certain amount of encapsulation in the SoC design, so you can't wire your own APIC, or implement TSC (there isn't one), but it really depends how hard you want to make it for yourself. Even building the reference design is a substantial piece of work.
regards,
Biff.
Re: Homebrew Computer Testing
I've left the stage of wanting to build everything from scratch, and when I had such urges I also wanted to do the schematics myself.
Anyway, when I built my home heat control system, I used a pre-made PC/104 board. They are kind of expensive, but then they also should be pretty reliable. For the control part, I designed and manufactured a professional PCB (a 4-layer PCB) which interfaced with the PC/104 bus. The PC/104 bus is relatively simple to interface against, quite similar to interfacing to Z80 or 8086. The best thing about this is that I can upgrade the PC/104 board with a faster CPU board, but still use my original hardware. I've seen dual-core Atom PC/104 boards that I could upgrade to for instance.
So what you might do is to provide a basic PC/104 base-board that is affordable. Or possibly a board with some other simple interface that is easier to extend, so that people are not required to build a modern motherboard, or use expensive industrial PC/104 boards. But, OTOH, I suspect that only nerds would buy them from you.
Anyway, when I built my home heat control system, I used a pre-made PC/104 board. They are kind of expensive, but then they also should be pretty reliable. For the control part, I designed and manufactured a professional PCB (a 4-layer PCB) which interfaced with the PC/104 bus. The PC/104 bus is relatively simple to interface against, quite similar to interfacing to Z80 or 8086. The best thing about this is that I can upgrade the PC/104 board with a faster CPU board, but still use my original hardware. I've seen dual-core Atom PC/104 boards that I could upgrade to for instance.
So what you might do is to provide a basic PC/104 base-board that is affordable. Or possibly a board with some other simple interface that is easier to extend, so that people are not required to build a modern motherboard, or use expensive industrial PC/104 boards. But, OTOH, I suspect that only nerds would buy them from you.
Re: Homebrew Computer Testing
My current idea is to make a schematic using the nxp2101 arm7-based processor with the 48-pin package and/or make my own cpu architecture on a fpga but, I'll probrably stick with the first one. I saw jarm on google code and a board that had the nxp arm7 64 package with the power, clock and other necessities on the board with the pio pin coming out on the metal pieces on a dip ic so you can test it on a breadboard and I could make my own schematic for that and try that out. By the way I don't want to build a retro z80 and defiantly not a transistor cpu (although it does sound fun). The i486 is cool but a bit outdated(might consider) and it has a lot of pins based on the ones I found. Let me know what you think I should do out of the list above.