Shop OBEX P1 Docs P2 Docs Learn Events
New XMOS chips deliver 4000 MIPS - Page 2 — Parallax Forums

New XMOS chips deliver 4000 MIPS

2»

Comments

  • jmgjmg Posts: 15,148
    edited 2015-03-11 21:43
    Checking the ADI Blackfin DSPs, I see they can do 200MHz ~ 600MHz, and the cheapest with HS USB is $3.99/1K on their indicator table. (QFN88)
    That model looks to be 200MHz and has
    On-Chip Memory
    - 136KB L1 SRAM with multi-parity-bit protection (64KB instruction, 64KB data, 8KB scratchpad)
    - 128KByte on-chip L2 SRAM with ECC protection
    - 512KByte On-chip L2 ROM
    Key Peripherals include
    - USB2.0 HS OTG
    - 2x CAN2.0B
    - ePPI Video I/O
    - 2x SPORTs (w/I2S)
    - 2xQuad-SPI / 1xDual-SPI (w/ Host mode option)
    - I2C
    - 2xUART
    - SD/SDIO/MMC (4-bit)
  • LeonLeon Posts: 7,620
    edited 2015-03-11 21:46
    Heater. wrote: »
    Ah, sorry Leon, so you did. I'm half asleep here.

    Are there any nice little dev boards for XMOS devices now a days?

    Seems the little red original dev boards that I have were phased out and replaced with "slice kits" or whatever they were called. I did not much like the look of them.

    There is the $14.99 startKIT, of course. That has one of the xCORE-ANALOG chips on it and XMOS links are brought out to a connector.

    I've got some of the cheaper sliceKIT boards and the sliceKIT core board which holds four slices. Multiple core boards can be connected together via XMOS Links. They are quite nice, but some of the slices are rather expensive. The startKIT has a connector for a single sliceKIT.
  • Heater.Heater. Posts: 21,230
    edited 2015-03-12 00:27
    User Name,
    Question 1: Is there a name for the syndrome where an individual endlessly criticizes Company X and its practices rather than simply using Company Y's product and shutting up?

    Question 2: What is the motive behind this behavior?

    Question 3: Is there UPS delivery to Antelope Valley?
    As I have been critical of the marketing blurb of a company whose name happens to begin with "X" I can only guess your slur is directed at me.

    To insinuate that some ones observations, criticisms and, well, opinions are somehow a sickness is insulting, to do it it such an indirect manner is underhand.

    However, to answer you points:

    XMOS is being deceptive in their advertising. Many XMOS users on the XMOS forum spoke their mind about that when it started to happen. I think that truth in advertising is something a respectable tech company should at least try to aim for. I think that pointing this out is a good thing. If nothing else it's an interesting case.

    As it happens I love XMOS devices. And I love the ideas embodied in the XC language. David May, the chief architect of all this has been a hero of mine ever since the Transputer and Occam days.

    I love the Propeller too. Chip is also a hero. I feel justified in making comparisons between these devices.

    I do hope some one can get XMOS devices to Antelope Valley. They are well worth investigating.
  • LeonLeon Posts: 7,620
    edited 2015-03-12 01:56
    What is the significance of Antelope Valley? It appears to be a picturesque valley in California, part of the Mojave Desert.
  • idbruceidbruce Posts: 6,197
    edited 2015-03-12 13:46
    I am surprised this thread did not gather a little more attention. Sounded pretty interesting to me. I think I might get one of their boards just to check it out.
  • Dave HeinDave Hein Posts: 6,347
    edited 2015-03-12 14:32
    Leon wrote: »
    What is the significance of Antelope Valley? It appears to be a picturesque valley in California, part of the Mojave Desert.
    I think it is in reference to post #14. Or maybe it's a new term that refers to a place where all Parallax bashers P2 naysayers live. :)
  • Heater.Heater. Posts: 21,230
    edited 2015-03-12 14:57
    I can't tell who is bashing who for what any more.

    Just for the record:

    1) XMOS - Very nice and interesting multi-core devices. Crappy marketing.

    2) Propeller - Very nice and interesting multi-core devices. Perhaps not for the same reasons as 1) but in a strange way comparable.

    3) Propeller 2 - Does not exist yet. But conceptually comparable.

    Are any of these useful for what you want to do. Who knows?
  • Dave HeinDave Hein Posts: 6,347
    edited 2015-03-12 15:10
    I can't wait to bash on the P2. It's a usable scripting language. The P2 FPGA image will be here soon, and we'll C if we can go Forth once it's here. Even though many may think it will be quite Basic I'm really looking forward to taking it for a Spin. So everybody take a chill pill and quit have sPASMs about it.
  • Heater.Heater. Posts: 21,230
    edited 2015-03-12 15:20
    The P2 will be a perl or indeed a gem like a ruby. A beautiful architecture like the eiffel tower. I do hope it does not turn out to be a Smile

    Edit: moderators, please be kind. It's poetry.
  • rod1963rod1963 Posts: 752
    edited 2015-03-12 17:11
    Heater

    Lest one thinks I'm pimping for Xmos, I don't own any Xmos products, the last thing I programmed from Inmos were some T425's with Occam and Modula-2 back in the late 80's. Personally I really can't get into Xmos's chips and development system.

    Since I do mostly do retro stuff now I really don't have a place to use them. A Pic32 or LPC1100 in a DIP package is more my speed at the moment for trying things out.
  • Heater.Heater. Posts: 21,230
    edited 2015-03-12 23:24
    No worries, I don't like that Eclipse IDE either. You have to work with a lot to become familiar with it.

    I think the chips are great. You won't want to be programming them in assembler though.

    I like their XC language but it worries me that it a device specific language.
  • LeonLeon Posts: 7,620
    The 2000 MIPS XMOS xCORE-200 eXplorerKIT is available at last from Digi-Key:

    https://www.xmos.com/support/boards?product=18230&secure=1

    I ordered one last week, it's arriving today.
  • jmgjmg Posts: 15,148
    Interesting  - lists the XE216-512-TQ128 at around $10, in modest volumes for 128 pins and 512K of RAM.The Eval board is a little pricey for a ~$10 device, but it does have 1G Ethernet and HS USB.
    XMOS also claim this "The XE216-512-TQ128 will cost less than $4.75 in high volume"
  • LeonLeon Posts: 7,620

    No worries, I don't like that Eclipse IDE either. You have to work with a lot to become familiar with it.



    I think the chips are great. You won't want to be programming them in assembler though.



    I like their XC language but it worries me that it a device specific language.

    It's basically standard C with extensions.
  • Heater.Heater. Posts: 21,230
    edited 2015-07-27 10:06
    Which is to say that XC is not C at all.
    Now, I don't mind that it is not C. It has great features like making it dead easy to start parallel threads, communicate between threads through channels, disallowing shared memory between threads, place threads on separate processors and so on. It's an event based programming model.
    Shame is that XC is not available for other machines, Portability is out of the question. Although I can imagine any other processors that have the support for it's features.
    The PII perhaps? 
    For a quick over view of XC see here: https://en.wikipedia.org/wiki/XC_(programming_language) It's pretty neat. Has C style syntax but is clearly as different from C as Javascript is. 

     
  • evanhevanh Posts: 15,192
    Tisk, tisk, Heater. That's a tad unfair. It's just like the situation with the Prop. There is no way anyone should be simply building from generic C code for these processors. So much of what's common is written for single threaded CPUs.
  • evanhevanh Posts: 15,192
    I will agree it's a lot more than just some multiprocessor/event system extensions though. There is clearly a whole OOP system in there that is pretty arbitrary.
  • LeonLeon Posts: 7,620
    My xCORE-200 eXplorerKIT has just arrived. I'll try out some test software on it.
  • TorTor Posts: 2,010
    Wow.  Looking at the Wikipedia page I would say that it's a totally different language with only basic similarities with C. Not that it isn't interesting. And maybe it could be implemented as a preprocessor which generates (sometimes complicated) pthreads-based C code. A bit like the original C++ parser, which generated C code.

    -Tor
  • Heater.Heater. Posts: 21,230
    edited 2015-07-27 14:52
    I don't think we can describe XC as OOP. Certainly not in the sense of object oriented languages like Eiffel, Simula, C++, C#, Java etc. It has no classes, no methods, no inheritance, no polymorphism and so on.
    XC is more an embodiment of Tony Hoare's concepts of Communicating Sequential Processes (CSP) as seen in the Occam language for the old Transputer chips or Erlang or the new Go language from Google. 
    Certainly XC does includes things that look like objects, functions that are very encapsulated and run in threads, indeed unable to see outside their own memory space or share memory with other such objects in any way. Communicating between each other only via channels. But that is the CSP model.
    I guess one could compile XC to something that uses pthreads or some other tasking system on PC's and such. After all that is what Go does.
    The problem I see with that is the very tight connection between hardware IO, timers, channels and events in the language. Bodging that up in a processor not designed for it may not be very performant.  


    Edit:
    It occurs to me that the original descriptions of Object Oriented Programming did indeed talk of isolated "actors" or objects interacting through messaging. I believe it was Allen Kay who said such things. That is something that confused me for ages as so called OOP languages like  Eiffel, Simula, C++, C#, Java etc. don't do that. They have methods and parameters, same old functions and parameters as we know from C but wrapped up differently. 
    What we call OOP today is not actually OOP :) 


     

     
  • LeonLeon Posts: 7,620
    edited 2015-07-27 15:37
    The simple GPIO test program here (http://www.xmos.com/support/appnotes/an00155) works OK. I used the command line tools to build the application and download the resultant binary file. I had to give it a .c extension instead of .xc, to save it here.
    164e541e274d906f1ff1c7b579d5c5.c
    c
    c
    3K
  • Heater.Heater. Posts: 21,230
    Leon,
    That is probably the most complex GPIO test program I have ever seen!
    Isn't there a more 10 line "hello world"  example?
    I have written UART drivers in less code for XMOS.

  • LeonLeon Posts: 7,620
    edited 2015-07-27 17:50
    Yes, it is rather complex.

    This is a very simple program that just turns on an LED:

    /*
     ============================================================================
     Name        : xk1-led.xc
     Description : Illuminate an LED on the XK-1 card
     ============================================================================
     */

    #include <xs1.h>

    out port led = XS1_PORT_4F;

    int main() {
      led <: 0x1;
      while(1)
        ;
      return 0;
    }

    I'll try it on the eXplorerKIT.

  • Hi All.

    Little reading from XMOS people.

     http://www.xcore.com/forum/viewtopic.php?f=26&t=544&p=12459

  • jmgjmg Posts: 15,148
    Hi All.

    Little reading from XMOS people.

     http://www.xcore.com/forum/viewtopic.php?f=26&t=544&p=12459



    Says way, way back in Wed Jun 30, 2010 that
    ["For some time we (XMOS) have been planning to open-source the XC tools (compiler etc)."]
    did that claimed 'plan', ever amount to anything ?
  • LeonLeon Posts: 7,620
    edited 2015-08-02 12:39
    That very simple test program worked OK on the new xCORE-200 eXplorer kit. I received the first one of the batch in stock at Digi-Key. It's rather nice, if a bit expensive.

    The source code for some of the tools is available here:

    https://www.xmos.com/support/tools/source

    That for the LLVM-GCC compiler is available with an earlier release. I don't know if that is actually the XC compiler, though.
  • Heater.Heater. Posts: 21,230
    I see no evidence that the xc compiler ever became open source. 
    I did find a nice repo of software components for XMOS, i2c, spi, tcp/ip, etc etc. Kind of like OBEX but with a lot less entries: http://xcore.github.io/repo_index/index.html
    Covers a lot of useful ground though.  
  • LeonLeon Posts: 7,620
    The LLVM-GCC compiler source code is probably that which the XC compiler is based on.
  • Heater.Heater. Posts: 21,230
    I believe it is Leon. That is to say XC is based on LLVM. The C/C++ compiler is based on GCC, if I remember correctly. 
    Unlike GCC, the LLVM licence does not require your changes or additions be open sourced. The XC language extensions at one end, and the xcore code generation at the other end in this case.
    As far as I can find XMOS never got around to opensourcing those extensions.   
Sign In or Register to comment.