LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: markus at reaaliaika.net<markus@r...>
    Date: Mon Aug 23 15:00:50 CEST 2004
    Subject: [oc] Parallel Array Processor Project
    Top
    > I am however a hardware developer, and as such, one thing strikes
    > me when I read about your ideas; Isn't it so that your architecture
    > actually IS the architecture of an FPGA? Or very much like it
    > anyway [...]

    You're absolutely right here! Unconsciously I have thought that the PM
    and FPGA have many things in common (for example, I have studied
    using the VHDL as a programming language and I have borrowed many
    ideas found from FPGAs to the possible physical implementations), but I
    haven't thought this consciously.

    Now I'm doing this first time, when writing this, so you probably
    understand some "fuzziness" in the thougts... :-)

    > [...] might be that the FPGA architectures have even
    > simpler processing cells than the ones you have in mind?

    That's true. What are the differences of the FPGA cell and the PM cell?

    In ground level, the program written for PM could be compiled to the
    FPGA, as well as for conventional processor. That's nothing new, I think,
    every program can be implemented either with hardware or with
    software or with a some kind of combination of both.

    ---
    I could quickly think these differences:

    * The PM design should allow you to write programs for writing programs
    (e.g. compilers, text editors and so on). I'm not sure, if you could write
    a VHDL/FPGA compiler to FPGA?

    BTW, one test for analyzing the completeness of the programming
    languages is, that is it possible to write a program to output that
    program with it? I don't know, if the VHDL passes that test?

    * Furthermore, PM design should allow a program to "load" another
    program inside the array. If I recall correctly, there has been some
    attempts for creating "self-reconfigurable" FPGAs, too? But because of
    the application area of the FPGA, I think that those oddities are not
    very popular...?

    * The PM chip should be able to execute larger programs that can fit
    inside of the chip, by using a virtual memory. Normally, you don't have
    this kind of possibilities in the FPGA, am I right?

    I think that the ground reason for this is, that the PM cell is
    synchronous. You can stop it for processing, read the state of it, store
    it and later, restore the state from the memory and continue processing.

    ---

    But PM and FPGA share many things, like inherent parallelism and cellular
    structure. Some people could say, that PM is one implementation of so
    called reconfigurable computing - I'd say, that it's just a massively
    parallel processor.

    > But they do have an instruction register
    > (the LUT programming), a result register (output flip-flops), and
    > read connections to their neighbours (the routing, even though
    > this is more complicated in the FPGA case).

    I borrowed the idea of the "transmission gateway" (accessing distant
    parts of the array) from the FPGA world :-)

    > but from what I've read in this thread I got the impression that
    > you're thinking in the way of a programming language with lots of
    > parallellism.

    Yes, you're right here. My approach comes from the programming world
    and I have just basic knowledge (which is not too much) of the
    hardware desing world.

    > Sounds quite a lot like hardware design, on RTL or somewhat higher
    > level, to me... The RTL code can be seen as a "program" for an
    > FPGA, the compiler then being the synthesis and place-and-route
    > tools.

    Yes, and I think, that the hardware designers would easier understand
    the programming paradigms of the PM than regular software designers.
    And, I have borrowed the idea of "cell mapper" from the FPGA world -
    that is, the PM needs a program for mapping the virtual assembler code
    to physical cells just like VHDL does.

    > Interesting also that you call it a "processing memory",
    > this name also fits quite good for an (SRAM-based) FPGA...
    > Which is basically a memory with some processing facilities
    > added (the people developing the FPGAs
    > might not agree completely with this description... ;-)

    :-) But yes, PM and SRAM-based FPGAs are close to each other. And
    yes, PIM (Processing In Memory) architectures are close to these, too.

    The name comes to very obvious thing: I was designing a memory,
    which processes the data by itself.

    > Do you think that this interpretation of your ideas makes any
    > sense?

    Perfectly!

    > Maybe the fact that the processing cells you're thinking of are > much more advanced than the current FPGA macrocells really > adds a new dimension with regards to how the processor is > programmed and so on? Surely, the cells are more complex than the cells in the FPGA. About the new dimension of processor programming, I'm not sure - my primary goal is to get the PM to be programmable, without any extra pain (which it is at the moment). > Anyway, if my comparison stands, you probably can take some > inspiration from hardware design and the associated tools. I'll do that. > (Take a look at e.g. "handel-C" from Celoxica, which is C > with extensions for parallellism. They have a compiler for it > that takes it all the way to hardware. They claim it is a > very efficient way to design hardware. I don't know about > that though... :) I'll do that, altought at the moment I started the design of the HLL once again from the grounds and decided to leave the world of the existing languages behind... :-)

    Follow upAuthor
    [oc] Parallel Array Processor ProjectNico

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.