Has anyone ported a version f Linux to an fpga? Respectfully, Newport_j
A 8-bit µC and then: http://dmitry.gr/index.php?r=05.Projects&proj=07.%20Linux%20on%208bit The Problem is: You will need a processor implemented on your FPGA due to the fact, that every operating system is a programm and not a piece of (VHDL-describable) Hardware.
James Yunker wrote: > Has anyone ported a version f Linux to an fpga? > Yes.
this discussion brings my to the question, if there is a chance to bring out a hardware in an FPGA wich has a kind of ready built operating system similar to linux? i mean with real parallelized architecture and not threads.
experto wrote: > this discussion brings my to the question, if there is a chance to bring > out a hardware in an FPGA wich has a kind of ready built operating > system similar to linux? i mean with real parallelized architecture and > not threads. Why in the name of god should anybody to this? Of course it is possible but seriously why? Yes you could rewrite the whole kernel + modules + drivers + ... this would cost literaly millions of hours. Understanding original Linux sources and porting them to a parallelized architecture. But why do this. Most of the programms written have a more or less sequential natur. Most of the time you would need to emulate a sequential environment. Only very few programms require massive parallel processing. Even only very few of them have the ability (nature)to make use of parallel processing. For these programms there are dedicated solutions like CUDA where massive parallel processing can be done. FPGAs have a special area of operation where they are useful and good. But Linux is definetly not within this area! It is simply the wrong. You wouldn't try to transport a 50 tons weight on a ferrari and you would never choose a truck to win a formula 1 race. It's simply the wrong vehicle for the purpose.
* purpose = intended purpose ... sry-.
of corse. Anything you need is already avaliable. You dont even need a very big FPGA. You need: - a 32bit processor linux compatible softcore (e.g. ARM) - external RAM - some storage media like flash SD-Card USB-stick The linux runs on the softcore. You dont need to port anything since linux for is already avaliable for several architectures - just pick a compatible softcore. Example : ALTERA NIOS2 : http://www.rocketboards.org/foswiki/Documentation/NiosIILinuxUserManual But dont expect high speed, sofcores will run around 100-200MHz max. If you need more performance, choose a FPGA with embedded processor.
Xilinx has high-end fpgas with an integrated arm-core. You can use the arm to run Linux (in fact some of the demoboards come preloaded with it) and push configuration to fpga. Dave Jones (eevblog) did a video on it about half a week ago.
experto wrote: > this discussion brings my to the question, if there is a chance to bring > out a hardware in an FPGA wich has a kind of ready built operating > system similar to linux? i mean with real parallelized architecture and > not threads. Of course you can do processing on real parallel hardware instead of threads. The most simple solution is to start on thread per CPU Core available. This scales from small embedded devices up to supercomputers. Other ideas and solutions also exist, one is for example a risc-like cpu with a extended register file. The register file itself implemented eight times and you have assembly instructions to switch between the different sets (and also instructions to implement a simple round robin scheduler directly in the cpu hw). This CPU was called Transputer (in fabrication until 1991 or so). Some ideas of it are still alive in the microprocessors of XMOS. As a hardware designer, in my opinion, the Propeller chip from Parallax is also a nice thing to look at. A small microcontroller with eight or so processing cores (used to have "multi threading" like you described) and separately a programmable hardware based scheduler (also maintaining access rights to the I/O pins). But all this ideas conflict more or less with with other inventions modern high clockrate processors use (long pipelines, large coherent caches, branch prediction). A completely different idea was the FPMA, field programmable math array, by mathstar. A technologie more flexible than a GPU but less low-level than a FPGA (The building blocks where register files, ALUs and control blocks instead of LUTs or Shaders). Nice idea I thought, but the company already died.