XProp - an XMOS co-processor for the Propeller
Here is my schematic for a 'proof of concept' PCB which interfaces to the XMOS XC-1 board:
www.leonheller.com/Propeller/XProp/XProp(Page1).pdf
The XC-1 doesn't have the XLinks brought out to the pads I'm using for the connector, so I'll implement a simple bi-directional 8-bit port for data transfers with two handshaking bits. I'll work out the protocol when I've checked out the hardware. The XC-1 board has the four-core XS1-G4A-512 chip, delivering 1600 MIPS. The chip actually has 256 I/Os, most of those on Core 2 are brought out to four 2x8 pin headers. The pads I'm using for the Propeller interface are connected to Core 0.
Here are the details of the XC-1 board that I'm using:
http://forums.parallaxinc.com/www.xmos.com/products/development-kits/xc-1-development-kit
The Propeller board could also be interfaced to the SparkFun XS1-L1-64 board, with a few pieces of wire, as that has the same I/Os available.
If this pans out I can create a new PCB with the usual Propeller goodies on it, like VGA/video and a keyboard interface.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/18/2009 3:08:47 PM GMT
www.leonheller.com/Propeller/XProp/XProp(Page1).pdf
The XC-1 doesn't have the XLinks brought out to the pads I'm using for the connector, so I'll implement a simple bi-directional 8-bit port for data transfers with two handshaking bits. I'll work out the protocol when I've checked out the hardware. The XC-1 board has the four-core XS1-G4A-512 chip, delivering 1600 MIPS. The chip actually has 256 I/Os, most of those on Core 2 are brought out to four 2x8 pin headers. The pads I'm using for the Propeller interface are connected to Core 0.
Here are the details of the XC-1 board that I'm using:
http://forums.parallaxinc.com/www.xmos.com/products/development-kits/xc-1-development-kit
The Propeller board could also be interfaced to the SparkFun XS1-L1-64 board, with a few pieces of wire, as that has the same I/Os available.
If this pans out I can create a new PCB with the usual Propeller goodies on it, like VGA/video and a keyboard interface.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/18/2009 3:08:47 PM GMT
Comments
I think if you or someone else make economic protoboards (chip XS1-L01A-LQ64) can succeed in xmos forums, and here some might be interested.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Wiki: Share the coolness!
Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
Safety Tip: Life is as good as YOU think it is!
I don't know much about XMOS, but please enlight me!
The XMOS seems to have a very high RAW performance, but how does it compare to other features of the Propeller?
www.xmos.com
People have been doing all sorts of wacky things with Propellers, like connecting them together to get more computing power or I/O pins, or connecting them to an FPGA, so I thought I'd try something even wackier. It's such a simple thing to do from a hardware point of view that it would be shame not to try it.
I'm designing the PCB at the moment; it'll be made at home in my kitchen sink, and I should have it working tomorrow.
Here is the PCB layout so far:
www.leonheller.com/Propeller/XProp/XProp.gif
The board will be single-sided with a few wire links.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/18/2009 5:24:27 PM GMT
-Phil
I just thought the same!
I had a glance at the XMOS-specs. That sounds great. Now before I ask here a lot of stupid off-topic-questions: Is there a forum that you reccomend, Leon? Half as good as this one would be enough.
And reading about XC and the communication, it reminds me a lot of the transputer. Even the name is similar Inmos <-> XMOS. Is there a relationship?
Nick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never use force, just go for a bigger hammer!
The DIY Digital-Readout for mills, lathes etc.:
YADRO
The PCB layout is finished.
Nick:
You need the Xlinkers forum:
www.xmoslinkers.org/
You'll see quite a lot of Propeller-heads that you recognise there.
It was designed by David May, which is why it has some similarities to the transputer. He's a Prof. now and an FRS!
I was designing transputer-based systems 24 years ago.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/18/2009 7:27:24 PM GMT
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
When the transputers came out, I always wanted to have a board and play around with them. But I simply didn't have the money as a pupil.
I think I'll buy me a board and play around with that chip. Looks like a long dream coming true!
Thank you for your evil XMOS-postings!
Nick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never use force, just go for a bigger hammer!
The DIY Digital-Readout for mills, lathes etc.:
YADRO
Post Edited (Nick Mueller) : 11/18/2009 9:23:39 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
The missing "goto"? Well that doesn't hurt that much!
Edit:
And it has MUL and DIV.
And something called "stack".
Nick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never use force, just go for a bigger hammer!
The DIY Digital-Readout for mills, lathes etc.:
YADRO
Post Edited (Nick Mueller) : 11/18/2009 10:27:07 PM GMT
glad to see your "whacky" side come out [noparse]:)[/noparse]
I too have wondered about what the prop and xmos could do together ... it'll be interesting to watch what this leads to.
thanks for thinking outside of the boxes.
cheers
- Howard
Post Edited By Moderator (Chris Savage (Parallax)) : 11/18/2009 11:28:48 PM GMT
The stack statements aren't really needed.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/18/2009 11:01:33 PM GMT
Problem is neither the XMOS or the Propeller can do me a Z80 emulator with 64K+ RAM without wonky RAM implementations. That is: external RAM on the Prop or borrowing RAM from other cores on the XMOS or external RAM on the XMOS as well.
In fact I have yet to find a micro-controller that will provide a single chip CP/M computer inc. Z80, RAM, keyboard, video and disk interface.
The Prop + external RAM comes closest as Dr_Acula has shown.
The Prop II will do it quite well by all accounts.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
External RAM works well, I think that there is an SDRAM interface.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/18/2009 11:28:58 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
I'd like to know how compact the C-code is.
Anyhow, I think emulating a different processor in C is too expensive. Both in speed and size of the emulator.
Nick
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never use force, just go for a bigger hammer!
The DIY Digital-Readout for mills, lathes etc.:
YADRO
I am just trying to understand how it could be useful, does it give the prop more I/O or Ram? I still don't quite get the Chamelons either . But would just like somehting to sink my teeth into
I bought a CPLD and FPGA eval boards and beside blinking an LED they have been of no use to me even as a learning aid the docs were so lacking, The Xmos looks like you could actually use it for meaningful stuff.
I am just curious where the prop comes in???? Hate to be a pest but this just looks like a really good idea I would like to understand more thanks.
This serves only as a justification for his "evil XMOS posts"[noparse][[/noparse]tm]
Ni-just kidding-ck
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never use force, just go for a bigger hammer!
The DIY Digital-Readout for mills, lathes etc.:
YADRO
The instruction set looks like it's pretty well optimised for a high level language. I'd expect the C compiler to generate quite tight code.
I'd look at most of the emulators with source available. I think you'll see most of them are written in C. C is not an inherently inefficient language. Hell, some very popular operating system kernels are written in C with a splash of asm here or there as required. Unless the programmer is very good, a C compiler can often generate better optimised machine code.
Huh, I'm defending C. Who'd have thought? Anyway, a case of the right tool for the right job. The XMOS has been designed to be programmed in C. The Propeller has been designed to be programmed in Spin [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
Re heater "I can feel and Z80 emulator in XMOS assembler coming on[noparse]:)[/noparse]"
Oh great. Now look what you have gone and done! *grin*
Seriously, the reason I'm into CP/M is that I started in pic chips and got sick of always running out of memory. I've now decided that whenever I write a program, I never want to have to worry about memory. Even the prop cogs end up not being quite enough, and I've got some spin that is getting close to filling up a chip. Bill Gates once said that 640k ought to be enough, but actually I think I'll be happy with about 40k. Which is slightly more than the prop, but perfect for CP/M.
I'm eagerly looking forward to some of the Prop Basic projects and using a bit of external memory.
I'm with heater on "In fact I have yet to find a micro-controller that will provide a single chip CP/M computer inc. Z80, RAM, keyboard, video and disk interface."
Back to the xmos, a hybrid board sounds absolutely fascinating.
How would you program such a thing? Would you have one serial/usb download cable and route it to one or the other? Or two cables, or something else?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.smarthome.viviti.com/build
*1 prop
*1 xmos chip
*USB Support Hardware
*SD Card Jack
*4 pin multiplexer ic(to allow both chips access to same sd card)
Connect a few pins together for high speed serial link, connect xmos to usb. if you solder the xmos directly to the pcb instead of using breakouts it would not have to be very expensive.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
24 bit LCD Breakout Board coming soon. $21.99 has backlight driver and touch sensitive decoder.
As someone has suggested, it's just an extension of Andre LaMothe's Chameleon concept, those boards have an AVR or PIC24 interfaced to a Propeller. I don't think that he has any idea what people are going to do with them.
The XC-1 board is programmed and debugged via a USB connection, like the Propeller. It should be feasible to have one system booting the other, in a dedicated application.
I've just made the PCB. I'll drill it tomorrow, build it, and test it.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Post Edited (Leon) : 11/19/2009 12:36:49 AM GMT
This is a very thin line you're walking here. Andre's Chameleon is a product with both a definite purpose and also a well-specified design objective that is satisfied by using a Propeller as a co-processor (see here for details).
I have no problem with the XMOS - it looks like a useful chip - but this is the Parallax forum. By whipping up a board that connects a Propeller to an XMOS without any evident purpose in mind, or any apparent design objective that can be satisfied by the Propeller's unique capabilities, you are inviting suspicion that that the main reason for doing it is to allow you to promote a competitor product in these forums. Some people would see this as an abuse of hospitality - perhaps even a violation of the forum rules.
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
I'm afraid I have to agree with Ross on this. There's potential for this to be a really interesting project. But, lacking a clearly-defined objective that also highlights the Propeller's capabilities, and to whatever extent this might be just a "sham marriage" to call further attention to the XMOS chip, the Propeller forum is probably not the best venue for these postings. I'm not saying the combination is a bad idea (and it's certainly garnered some attention), just that the spotlight cannot be focused on the XMOS chip to the exclusion of the Propeller. You have a clearly and passionately implied bias towards the XMOS chip, so we can be forgiven if we're more than a little suspicious of your motives.
-Phil