Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Technology

"Open-Source" ARM7 Core May Be On The Way 61

jbp4444 writes: "From EE Times: Swedish students weigh next step with ARM7 clone. A group of Swedish students implemented an ARM7 core on a Xilinx chip as part of a PhD thesis - but they used only publicly available information and documentation to do it. So they may be able to "open-source" the VHDL code that they wrote. This would enable others to have royalty-free access to an ARM7 core. They are still investigating their alternatives, so it is far from a done deal. Oh yeah, at the end of the article it mentions "it's still not clear whether the BlackARM processor works properly" -- due to the time constraints of a PhD thesis, they seemed to have skimped on the testing of the chip! [but note, they say it does run applications --t] In an odd coincidence, the same issue of EE Times (Jan. 29) also had a story on automakers investigating Linux for their in-car entertainment systems. Royalty-free OS coupled with potentially royalty-free hardware has an obvious appeal to many industries."
This discussion has been archived. No new comments can be posted.

"Open-source" ARM7 Core May Be On The Way

Comments Filter:
  • When you want to license IP (intellectual property: e.g. a chip design) then often you are not allowed to change it. You are not allowed to make special instructions. That is because IP-makers don't want anyone to be a supplier of cores that they themselves cannot supply. This offers nice possibilities for designhouses to make their own 'special'-only-to-be-obtained-here chip.

    Besides that, there often exists steep entry fees to get the technology in the first place. I heard of an example where they 'started off' with about $ 1 million. Barely any support with that. That took another few millions.

    FWIW, making a system-on-chip requires numerous parts. Maybe several processors, memory interfaces, bus interfaces, internal buses, specific units, USB/firewire/serial/I20/JTAG and many more. If parts of that are available, then you can start to design without making a big investment. If it works, you can license the rest of the necessary parts, if it doesn't then you drop it.

    That the chip isn't tested is a big problem though. That needs to be done beforehand. Trying to solve/debug a design once it is integrated in a SOC then you have problems that take much longer. Believe me, I've done it.
  • Even with free VHDL tools, what are you going to do with the netlist (the output from your VHDL compiler)?? Open source hardware is going to become _much_ more exciting when we start seeing reconfigurable logic in comodity appliances. i.e. when soundcards/toasters start shipping with FPGAs onboard, only then will we, as individual programmers become excited by the idea of downloading an ARM7.
  • If I were ARM, I wouldn't be worried. This thing isn't anywhere near useful. And in an industry like this, stealing IP doesn't go over very well at all. Does anyone remember the hullbaloo between iNTEL and Digital? Part of the settlement included the StrongARM processor IIRC.

    __
  • Given how Microsoft has recently spouted some verbiage about how Open Source "Threatens the American Way", (as seen in this Slash article [slashdot.org]), this kind of stuff has got to drive them crazy.

    It sort of have proves their point, since it is something done by "foreigners". It also drives home the point that they do *not* own the world, not nearly as much as they would like to think they do. It also drives home the point that the rest of the world is likely to not take very kindly to them, especially if they start wrapping themselves up in this jingoistic political claptrap.

    Let's face it, alot of the planet gets rather irritated by imperialistic mutterings like that. And so would embrace the efforts folks like this.

    You do not need the overhead of a gui for a car computer. Only for the entertainment console, nav aids, etc, where it would be better to keep it embedded. and where size still counts.

    sounds like these guys have an interesting future ahead of them

  • Sorry for the original spin on the story, but I had never come across this type of open-core development before. Another link someone posted is OpenCores.org [opencores.org] which also has an open PIC core as well as some DSP cores, and many others.

    There are a lot of companies that don't really care about chips and OSes (like those developing automotive entertainment systems), they just want to push a product out the door quickly and cheaply. My original point was more that an open-* approach (if more well known) could help lower the entry costs for new companies - potentially stimulating innovation as has happened within the Linux community.

  • Similarly, at the University of Michigan, there is a senior level class where students implement a limited version of the Alpha 21264 in verilog. It is pipelined, and even superscalar.

    If a company (like a car company) wants to use arm processors in their mass-produced products, they:
    1) won't use FPGAs because they're WAY too expensive
    2) will find it much easier (and cheaper) to just buy a full version (like the Intel SA-110) instead of contracting out to fab their own.

  • Not sure the above is intended to be funny. Reads alot like those pseudo-anarchist anti-globalist screeds posted by the people who protest every time the imf/wto/etc get together.
  • by Anonymous Coward
    Arm chips are very fast very low powered RISC processors that have been around since circa 1990. They were mainly used in the Acorn Range of computers http://www.acornuser.com/riscos.html [acornuser.com] to power a Fantastic GUI with antialias fonts multitaking and everything windows still doesn't go right back in 1991.
    The arm chip has always been fast with a 200 mhz Strong arm running on a few watts and being used in loads of palm devices. I do believe that a few years ago people at UMIST in the uk produced a clockless version called the Amulet but i cant find a link at the moment. I was once told by an ubercoder friend of mine that the only reason there was no real FPU on the strongarms (faster than arm7) was that that would compare with alphas....
  • I did it because I'm not a college boy... no funding. All the plus five posts in the world are not going to get me a scholarship. But that does not mean I am not interested in CS. It is hard to say on a resume' that you understand sequential logic and flip flops if you have never built one. Before you laugh let me remind you that the first teraflop computer was purpose built by an astrophysicist, with no computer building experience, to plot the gravity interactions of individual stars during the collision of two galaxies. Most computer guys seem to be so involved in a particular method that they get blindsided by any approach from left field. Most recently we were all stunned to discover that a bunch of alien hunters had built a network computer that not only the fastest computer on the planet but scales to insure it will always be the fastest computer. Yes, distributed computing was not first implemented by CS majors but amateur alien hunters.
  • Okay, this is slightly off topic, but I thought I'd point out to the slashdot community the true potential of open-source hardware, which we just don't seem to be getting:

    a) It's field programmable. That means that if I discover a bug, it's not going to result in a huge recall. It'll result in a new source file or possibly asking your customers to visit the service desk to fix.

    b) It's highly parallelizable. Make a standard bus and come up with a simple processor that you can put on one of the lower-end FPGAs (usually under 1$) and you can build a HUGE cluster very cheaply. If you setup your bus right, it can even be reconfigurable live. So most of your FPGA stack is running executable code, but if you need to make a buffer chip for USB, just pick one of your FPGAs and reprogram it. If you need a motor driver, pick an FPGA and reprogram it. You get the idea; TRUE plug-n-play, using the standardized hardware design languages (HDL) out tehre. Combine this highly parallelizable computer with a standard connection format and you have hardware device drivers.

    c) Prototyping. If you are a hardware manufacturer, you can cheaply prototype your design and test it without having to make a die each time (HUGE cost savings)

    d) May be used as an analog device, or simply as a digital logic device. You don't have to run a core on it... and if you think of the HDL as your programming language, then you compile to the chip. These chips aren't setup such that they have to run a Turing machine; if you can design your code right, then you don't have to run a CPU. Works great for Embedded apps. The real benefit to Open Source Hardware will be when it merges with Open Source Software. Like a C-compiler for FPGAs. Sure, the lower-end chips can only respond at a fixed rate (usually 16MHz or so), but if you have a program that doesn't need to respond faster than that and is relatively small, you get huge speed savings... not to mention the fact that you can offload computations from your main CPU.

    Does anyone out there have any more ideas for this sort of thing? I'm trying to get together a group to do this... especially the Open Source firmware idea... any takers?

  • It looks like many here don't know the history of the ARM processor, or those that created it.

    It was created by a few geniuses from Acorn; based on the 6502; as the processor they needed for their concept of a future PC. It was created within a budget that wouldn't even pay the coffee bill of Intel. Since they couldn't afford a 'proper' fab, they designed it for contruction on an ASIC. That is how it was implemented, and shipped to thousands.

    The rest is history (and development).

    Having met and chatted with those involved (Steve Furber, Mike Muller, etc.), you get the sense that the reason it was such a success was it was a small group, with one focus, lots of brains, and no bullshit. I believe they would have understood these student's work.

    Although they would have expected them to do something new, not just reinvent the past.

  • One of the most important aspects of an open source CPU is it's ability to help educate. When I was a kid the design specs of a CPU were beyond the reach of the general population. Now, with the help of the open source movement and digital design languages anyone who can read code can begin to understand the structures behind the hardware. P.S. http://jake.jfet.net/final.pdf is another paper on the design of an open source RISC CPU.
  • by sethml ( 232387 ) on Friday February 16, 2001 @06:25AM (#427717) Homepage
    They're using a Xilinx XCV1000, which is a very very high-end FPGA. Go to www.findchips.com [findchips.com] and search for XCV1000, and you'll see prices from $1300-$2400. Not exactly cheap for a slow (not pipelined, single ALU, etc) 15-17 MHz processor. This thing isn't going to actually be useful for anything except its intended purpose: experimentation for a thesis.
  • This is very misleading.

    I recently bought (http://www.burchEd.com.au) a spartan-2 development board for $120. It has roughly half the gates (and is of the same architecture) of the virtex chip used in the article - some 200,000. This is an enormous number of gates!

    The s/w to program it is available free from Xilinx, and is actually rather good. Far better than the (non-free) Atmel s/w, IMHO. It's called WebPack ISE and is downloadable from the xilinx website (for those of us with broadband, anyway :-) You also get it on CD with the BurchEd kit...

    The costs of quantity-1 XC2S200 chips is ~$35 from various providers. This is cheap enough to let the home user actually start playing with h/w as well as s/w. If you've ever looked at verilog, it's actually quite similar to 'C'. Granted there are extra things and it's an inherently parallel language, but it's still reasonably familiar.

    To give an idea of what can be done on an XC2S200 chip, go to http://www.fpgacpu.org/ and read about the gr0040 design from Jan Gray - a 16-bit RISC cpu optimised for Spartan-2/Virtex FPGAs. You should be able to fit 14 or so into the chip! So now you can start to play with SMP on your own hardware...

    Well, I think it's cool anyway :-)
  • FPGA stands for Field Programmable Gate Array. If it isn't reprogrammable, it isn't an FPGA. I'm sure Actel or QuickLogic would have you believe their OTP parts are "FPGAs" but I'm afraid they just aren't.

    oh bah, that's such nonsense. the term "FPGA" has become a broad term to mean basically any programmable logic more complex than a CPLD. granted that while the field part of the acronym refers the ability for these parts to being programmed in the "field," the term has become generic enough that "antifuse-FPGA" is perfectly acceptable. but whatever, it's still a valid use of the term these days, and they could be used in this case. but lighten up: nobody likes a literalist ;) hah.

    About the speed: the parts Xilinx released a year ago run to 100MHz.

    yeah, exactly: 100Mhz. big deal. i know from personal experience that Actel's SX (from around the same time period) operate at well over 300Mhz (though they only guarantee 250Mhz in a production setting, as not all designs will run that fast).

    The main problem isn't the speed of the parts. It's the cost.

    exactly, which is why antifuse clearly wins out here (if you're willing to put up with the fact that it's OTP). antifuse "FPGAs" are about 1/10th the cost of a comparable SRAM FPGA. plus it's easy to routinely get utilizations of over 95% with Antifuse: you'd be lucky to get 60% utilization on an SRAM FPGA. this is simply because the SRAM cells are too large to justify putting at every horizontal/vertical path junction. you can get 100% pin-locking on an antifuse FPGA even at full logic utilization! that's a considerably better value for your money.

    the thing is, Antifuse FPGAs are superior to SRAM in absolutely every way (price, power consumption, performace and efficiency, plus you don't need an external EEPROM) except that they're only one-time programmable. hobbists usually like to get a handful of reprogrammables and "play around" with them, and that's fine. but if you're serious about making "open hardware" and using it in a device that you actually care about it would be worth your while to do good synthesis on the PC and then burn the antifuse FPGA for a high speed, low cost, low power decent device.

    end rant. hah. that was longer than i intended it to be. can you tell that i used to work in Marketing at Actel? (and before you blow me off completely for that, i worked in Product Engineering too) :) more information on Antifuse can be found here [actel.com]. i should know, i helped write it :).

    - j

  • Right, FPGA tools aren't such a big issue anymore. It used to be expensive to get the tools to build an FPGA, but now the FPGA companies are happy to get the chip business and basically give away the tools. The real problem is lack of a free industrial strength Verilog/VHDL simulator. This is where you spend 95% of your time desiging a chip and there's not a good free alternative. For the hardware world this is the missing GCC.

    jeff

  • Again, not to push Xilinx or anything, but Webpack ISE comes with Modelsim XE. This seems perfectly adequate for my needs :-)

  • What would also look good on your resume is knowledge of VHDL or Verilog, since that is what most logic ends up being implemented in. As a learning experience, building a flip flop out of physical nand gates is a good idea. Once you get the hang of that, you should check out a Hardware Design Language.

    VHDL is a concurrent language, which is different from all the software languages I know of. Concurrent here means that instead of going line by line through the code, every line happens at the same time. This makes sense, because in a circuit layout, electricity flows through all the wires at once.

    There are cases (like if then else statements) when sequential logic needs to be used, but this gets put into an object called a process, that will have an sensetivity list with it. Any time a signal in the sensativity list changes states, the process will get executed.

    In other posts on this topic they mention free VHDL tools. You should get a book from the library on VHDL, and check out one of those tools if your still interested in the hardware aspect of CS (most people call it computer engineering)

    Dave

  • i can understand why open source software is usefull to me. i can just download it and run it. it's free and doesn't require any special physical equipment. but i don't see how i can use an open source chip. i wouldn't be able to make it, so if i wanted one i would have to pay someone to make it for me. i can understand the benifits to research and other areas. however, curently, i don't have a use for this. buback
  • by sql*kitten ( 1359 ) on Thursday February 15, 2001 @11:39PM (#427724)
    As the article says, whether they Open Source it or build a business around it, it's unlikely that ARM [arm.com] themselves would permit it - their business model is to develop and license their intellectual property rather than sell actual products.

    Contrast this with Sun Microsystems [sun.com] who use the SPARC [sparc.org] processor under license. As far as I'm aware, they don't even manufacture SPARCs themselves, but rely on a third party foundry. Why is this relevant? Because SPARCs are also used by many vendors [sparc.org] and you can even get the chip architectures [sun.com] if you wanted to implement it yourself, then have your design properly verified [sparc.org].

  • by Tribbles ( 218927 ) on Thursday February 15, 2001 @11:40PM (#427725) Homepage

    ISTR that OpenCores [opencores.org] were warned not to do an open source ARM compatible processor by ARM. This was probably because ARM [arm.com] is really an IP only company, and if someone comes along and builds their own which is free, then their entire market could collapse.

    Then again, the ARM7 processor isn't ARM's latest offering, so they may be lenient.

    If you want to know more about the ARM 7 processor, then here [arm.com] is the place to go.

  • Why should they give away the VHDL or verilog compiler when folks are willing to pay for it? There are a few open source verilog tools, but they don't take you far enough to give you something you can program a chip with.

    It's almost like we have the tools to compile to assembly, but no assembler. And in this case, the assembler is a much more difficult thing to build than the compiler portion. Perhaps an even better analogy would be to java. There are open source tools to compile java into jvm assembly, but if you don't have a java runtime package for your desired platform, this doesn't do you much good.
  • by Anonymous Coward on Friday February 16, 2001 @12:04AM (#427727)
    Er, hello? We're talking FPGAs here - Field Programmable Gate Arrays. Yes, you would be able to download the latest core and configure an FPGA hardware device according to the VHDL code.

    Note guys, two things:

    1). They haven't tested it anywhere near what the
    average chip gets before it is even publically
    mentioned.

    2). The core runs very slowly at the moment and
    lacks "basic" functionality like pipelining
    and caching.

    Still, it's cool and nice to see this sort of thing (see also Open Cores project, etc.) but at the moment it's a bit of academic fun and nothing more - you won't be throwing away your Athlons for now :)

    --jcm
  • uhhhh, yeah right, just find that ARM port of Window NT and pop in the CD to see if it will boot. Does that imply that all Blue Screens of Death are caused by faulty Intel processors?

    Simulation of a design usually takes far longer than implementation. Designing chips is similar to software in that respect, it doesn't take that long to write something that will compile, but writing bug-free code is a whole 'nother thing.

    I have no idea how large the design is, but by the time you find an FPGA that is large enough to hold the design, you may be better off just buying an AMD K6-II and chipset. Not to mention that you need device programmer in order to program the chip.

    Xilinx and Altera will usually give away some basic synthesis and simulation tools as part of their design kit. I doubt that the open source world will want to take up development of these kinds of tools, they tend to be pretty complex and not that appealing to the average hacker, but I'd love to be proven wrong here.

  • If you go to the Xilinx site, you'll find WEBpack ISE. This contains everything you need to do very complex FPGA designs. It's not open source, but it is free. I've not yet found any (intentional) limitations in the package :-)

    Simon.
  • They burnt it onto a FPGA. Which is a Field Programmable Grid Array.

    Loads-a links here: http://www.mrc.uidaho.edu/fpga/
  • Actually, for Xilinx, they burnt it onto an EEPROM, which then configured the FPGA. Xilinx parts dynamically load on powerup.
  • Spawned from now deceased UK computer producer, Acorn, ARM processors are fast, have low power consumption and are now found in a whole range of devices. All sorts, including Acorn-compatible desktop computers, Psion's palmtops, tv set-top boxes, mobile phones, Nintendo's GameBoy Advance and Sega Dreamcast.

    I love 'em, I do. Lovely processor to work on. :)

  • i can understand why open source software is usefull to me. i can just download it and run it. it's free and doesn't require any special physical equipment.

    Wow cool, you can download and run open source software without any special equipment like a computer and monitor and ram and disk drive?

    Open source VHDL and Verilog designs are a GREAT concept.

    When enough people catch on, then we'll start seeing open source VHDL compilers.

  • You should really look into VHDL and FPGA's. It doesn't make much sense to me why you'd be using gate level parts on a board, unless you weren't doing TTL or CMOS, but even then, there are converter chips.
  • No, it's a Field Programmable Gate Array
  • It would seem that some 5CR1P7 k1DD13 has created an awfully large number of a/c's on /. over the last day or so

    I have just created this account and my UID is also in the billions....

    ---------------------------------
  • by dstanfor ( 175527 ) on Friday February 16, 2001 @04:25AM (#427737)
    Let's sum up most of the comments so far:

    Whine, whine, whine, not useful because I can't fab the chip.

    Neither do they. It's a Field Programmable Gate Array. I know most of slashdot are just software people, and don't really understand hardware so let me explain: An FPGA is built of many Combinational Logic Blocks (CLB's) with flip flops, buffers, and gate level logic. To implement an FPGA, a fuse file is created from an HDL (Hardware Design Language). This fuse file is used to determine which internal connections to the FPGA will be active and inactive.

    Programming an FPGA from a computer isn't too tough. A cable needs to be made up that can handle JTAG communication with the part, and voila. It's funny to see people whining that progamming an FPGA is too hard, but on other stories saying they're going to build a portable atari, or hack their Tiva box.

    FPGA's can be very useful for smaller runs of a chip, especially if the design has a good chance of changing. Since a lot of FPGA's are reprogrammable, screwing up the design doesn't have as big of an impact as screwing up an asic. Also, Asics only become economical when you make a ton of them.

    For example, Motorola will probably use Asics for the hardware for their phones, since they make millions. On the otherhand, Nortrhop Grumman will use FPGA's for their missile jammers, since they make runs in the 100's.

    FPGA's are designed so that their can be a multitude of different arrangements of connections inside the FPGA. This leads to not being able to optomize for speed as much. They can do most of the things Asics can do, but not as fast or efficiently, since they were designed to be multi-purpose.

    DAve

  • Sega Dreamcast.
    Nope.. the dreamcast uses a SuperH Core.
  • Still, it's cool and nice to see this sort of thing (see also Open Cores project, etc.) but at the moment it's a bit of academic fun and nothing more - you won't be throwing away your Athlons for now :)

    and that's really the issue here: putting cores into an FPGA is nothing new, but i think the software-leaning slashdot crew need to get a handle on the sacrifices you make by using an FPGA (especially an SRAM-based FPGA like Xilinx or Altera). FPGAs are painfully slow when compared to an ASIC; they're really not even comparable. and when this chip doesn't even implement pipelining, it's going to have very few applications outside of casual, academic use.

    while it may sound like a godsend to use VHDL to create hardware and put it in an FPGA, there's a really big difference between hardware and software. there are so many other steps that occur in creating an ASIC after the VHDL synthesis process, such as layout and floorplanning, that optimize an ASIC for speed and power consumption. an FPGA is only used to get a "rough" idea of the functionality of the chip, or to put simple "glue" logic on a board that doesn't justify spinning an ASIC. again, you really can't compare an FPGA-based processor to a real fabbed processor.

    additionally, if you're looking to create a chip that you can actually use in any sort of device with reasonable speed and power consumption, you'd be much better off using a non-volatile technology FPGA from Actel [actel.com] or QuickLogic [quicklogic.com]. while you sacrifice reprogrammability, you'll gain considerably faster speeds, considerably lower power consumption, and a lower cost chip. once you program these FPGAs they're programmed for life (so if you make a mistake you'll have to throw it out), but if you synthesize your design sufficiently using software, the benefits of such a device are far outwieghted by their lack of reprogrammability.

    at any rate, the dream of "open source" hardware is a nice one, but it's not nearly as golden an opportunity as you'd think by reading the slashdot comments. hardware and software are two totally different beasts, and the tools and techniques that work on one are not guaranteed to work on the other. after working in the hardware and semiconductor fields long enough i realize that hardware companies have the really solid business models, and aren't going to see opensource as competition anywhere in the forseeable future. in fact, opensource is being embraced by the semiconductor industry to increase the "value add" of the hardware itself. i personally push Linux at my company as much as possible, as i firmly believe that selling software isn't a solid business model unless that software is highly specific, or your company enjoys a monopoly in your industry. as much as this community may want it, opensource hardware is a long way off. you'd be much better off working with hardware companies to show them why funding opensource projects is in their best interest (and as a nice co-incidence, also in the best interest of the open-source community).

    - j

  • "The processor executes a sub-set of the ARM7TDMI instruction set, but the multiplication and coprocessor instructions, and the state-changing instruction do not work. "

    "For predictability reasons we built it without a cache. And there's no ALU pipeline, just a simple state machine. Basically it's an ARM instruction chewer,"

    Currently at Penn State University this is a junior level course. We built the MIPS RISC processor, limited instruction set, no cache, no alu pipeline. Its was a single cyle cpu (hence not pipelined). With the poor gate delay of our VHDL tools (in NS) ours ran at about the same speed.

  • The original guy was right. The ARM is in the sound chip.
  • ... especially if you need to hack the cpu to add some special hardware support. But a fpga large enough to hold a decent cpu is going to cost more than an off-the-shelf micro, and probably use more power, and will probably be slower. You'd have to go to an ASIC for better per-unit cost, and then you'd have to use a large number of them to amortize the fab costs.
  • You kids today are pansies. I did it with vacuum tubes!

    There's nothing in world like flipping the switch on a baby like that and watching the tubes start to glow, while all the lights in the physics building go dim.

    You could even use it to keep your lunch warm.

    kfg
  • by stripes ( 3681 ) on Friday February 16, 2001 @05:07AM (#427744) Homepage Journal
    Royalty-free OS coupled with potentially royalty-free hardware has an obvious appeal to many industries.

    I don't think the car industry is going to be all that excited about getting a 16Mhz pair of CPUs on a chip that costs a lot more then a "real" 200Mhz ARM. One that can actually multiply numbers in hardware, and you know, has been tested.

    A lot can come up going froma simulated FPGA design to the real hardware. Sometimes it can be fixed just by bringing the clock speed down a bit, but other times if you had an overdriven line or something the simulator will be great and real hardware a nightmare. Of corse I have done very very little FPGA work (population count, a NFA evaluator, a few other toy projects).

    None of this means the BlackARM is crap, if someone works on it for a long time it could be useful, maybe optmised for an ASIC so it is cheeper (in quantity), and faster. Or maybe just using it (as is) to exparament with CPU perphrial integration (15Mhz CPU with an AES engine). It definitly had value in providing a duel CPU on a chip test platform for a lucky (hard working) Phd candiate...




    P.S. I'm assuming the pair of ARMs is on a Xylinx Virtex baised on the 16K RAM number. The Spartin line doesn't have nearly that much RAM, but that is a lot more affordable, starting at under $1. The Virtex is still quite costly, it has a lot more gates, the SRAM, and and a higher max clock if you keep the circuit chains short (i.e. pipeline).

  • Cores are small(ish) blocks preforming simple functions, which can be compiled to a number of devices including (significantly) FPGAs. So why is this significant? This is significant because FPGAs are significant.

    FPGAs are programmable hardware devices. Traditionally, custom hardware has been lightning quick, but frightfully expensive (design and fab costs), and restricted to the task it was designed for. These disadvantages are overcome by FGPAs' reprogrammability.

    Now one can purchase a standard chip (FPGA), design a custom hardware system on it, and program it with something as simple as a serial port cable. The fact that the chip is standard significantly lowers the cost (design and manufacturing). The fact that the chip is programmable means that it can be reprogrammed to perform a new task at any time. In other words, one gets the speed of hardware (well almost), with the reprogrammability of software, at a resonable cost.

    This opens up all sorts of opportunities like an FPGA co-processor card for a computer. This card could be used to perform high speed processing of data by loading the appropriate core. An MP3 core could be used to encode or decode MP3's without any intervention from the processor. Later the same card could be used for image processing by loading another core. Complex (possibly custom) external interfaces (such as a multitrack harddrive recorder) could also be implemented when needed. All of this can be done while leaving the processor free to do it's job.

    Outisde a computer virtual instruments such as oscilloscopes, multimeters, logic analysers, signal generators, spectrum analysers, etc. could all be implemented on the same FPGA card by just changing cores.

    While this is still some way off the development of free, customizable cores is a big step in the right direction. One of the big obstacles to this dream is the very high cost (many thousands of dollars) and limited versatility of commercial cores. Open cores will help solve these problems. CPU cores (such as the ARM core mentioned here) ares just one example of potentially useful cores. There is also an need for PCI, SDRAM, and a number of other basic cores (see http://www.opencores.org for more examples).

    Who knows? In a few years you might not even buy a CPU anymore! You could just buy a programmable chip which can be programmed to perform any task imaginable as required. Upgrading would be as simple as downloading new cores. And because it's hardware it will be much faster than any CPU! (I can dream can't I? ;)

  • Not you're fault... Lots of uninformed people post lots of stories, it's supposed to be the job of the slashdot team to decide what to post and what to trash...

    As always, the moderators don't have the ability to moderate the front-page.
  • Similarly, at the University of Michigan, there is a senior level class where students implement a limited version of the Alpha 21264 in verilog. It is pipelined, and even superscalar.

    I'm having a hard time believing this. Just seems a bit too...ambitious for a senior level class. Seniors can be smart cookies, but the 21264 (EV6/EV67/EV68) is is 4 way OOO/full register renaming implementation of the Alpha architecture. It was a several-year design cycle for a large number of very smart engineers.

    Perhaps you meant they implement a limited version of the Alpha architecture in verilog?

  • For a start,
    The ARM instruction set is very easy to decode, that has been the point for the last fifteen years.

    Secondly, FPGAs are expensive components, by the time that you had built a workable core, even if
    you attached off the shelf cache controllers and so on, you would still be looking at a cost well in excess of a genuine ARM based chip. it would also be slower (FPGA restrictions).

    Thirdly being open source you would have no-one to blame, think about that when the engine controller in your car crashes, and blows the engine up.

    Fourthly, if you could afford a fabrication facility (and so could circumvent the cost and speed problems) You could afford to buy a liscence, and get a made to measure core from ARM, and still have someone to take the blame.

    This story wasn't even worth a mention.
  • 'burnt' is fairly inaccurate. Xilinx Virtex
    FPGAs store the configuration data in SRAM.

    You can very quickly and easily reprogram these
    parts, in the time taken to essentially do a
    'memcopy' And voila, you have new hardware
    available. Any small bugs in your design can
    be changed in a matter of hours (re-run synthesis/
    layout and load it back into the memory)

    More interestingly, newer FPGAs can be modified
    on the fly, keeping parts active and loading up
    new circuitry, making for all sorts of funky
    options.
  • Im studying at the university of Manchester (UK) and as my third year project I have reverse engineered a MIPS R3000. I am hoping to release it to the public in open source. It runs on a Xillinx Vertex 300 (3 times smaller than the ARM team) and runs at 50 - 100 Mhz. The whole thing was made from gate level with no VHDL. Have a look if you like at: http://www.cs.man.ac.uk/~brejc8/
  • Assuming it works, its a move in the right direction. But, the core itself is just a small part of the problem. There needs to be design verification, production test hooks, software debugging hooks, cache memory (the beast takes a 32-bit word from memory every clock, nominally), a standardized bus to interface to the rest of the world,...
  • Their code may be open source, but I don't think this means that anyone out there could use an "open source path" to implement this for themselves. By this, I mean that given only open source tools, the propper hardware and their verilog code, I don't think I could get this thing programmed up and running because some of the critical tools needed along the way are not open source.

    I'd love to hear different from anyone in the know.
  • by __aakpxi9117 ( 248760 ) on Thursday February 15, 2001 @11:06PM (#427753) Journal
    Royalty free chips have been around for quite a long time now... Visit free_ip.com and browse their cores if you like. You see, this is nothing special, nothing new, just the spin pit on the story makes it sound so amazing and incredible... But this is par for the course, it's just another day at slashdot.
  • So what is this ARM processor anyhow? I read through the story and can't seem to find any description of what, exactly, this thing DOES. The post sounds like it involves automotive technologies, but they said it runs applications. What are we talking about here? It's hard to get a grasp of what this means until we have that information. Anyone?


    This has been another useless post from....
  • by Anonymous Coward
    Why is it that no one here ever looks into the social ramifications of technology? This sort of callus disregard for poeple has got to stop.

    By buying cheap embedded RISC devices with high MIPS/die ratios, you're actually supporting the exploitation of overseas Malaysian and Tiwanese workers in horrible condidtions, (long hours, malnutrition) and funding money to hostile governments, and supporting the spread of socialism in the East.

    Much better to use the western Intel-based CISC chips, and give the money back to hard-working americans, and the forces of capitalism. Sure, they might give off more heat, or waste more materials, but socially, it's the right thing to do. In the future, hopefully our technology won't be so embarrassingly wasteful, but for now we just have to bite the bullet, and support Democracy and freedom.
  • It's a relatively common CPU originally out of the UK - now made by a number of manufacturers (Compaq, Intel, Cirrus ...) it's a RISCier RISC than most - but it has just enough goodies to happily boot Linux
  • http://www.empeg.com/
  • It gives the pedellers of hardware yet another option when they design a piece of kit...and if it is open(ish), they can take whatever they like and change it to do whatever they please without a hefty upfront cost.A great reason to start playing It's also a bonus that it happens to play nicely with the penguin...
  • Is there a problem?
    If you can't compile the VHDL code maybe someone will try to make an open-source compiler in the future, but since the chip-makers want's to earn money on the hardware you'll probably get a free VHDL compiler for their chip only. If you have that why would you want an open-source one instead???
    OK, they leave out some simulation tool's so you might get some problems, but the core itself could get checked by someone with a commercial package.
  • I often see students that wants to use some commercial product in an academic project. They contact a company that makes the component, and receive a quote that would be reasonable for a profit making business, but is outrageous for a university. They then turn around and develop a clone of the key piece of technology. The major difference now is that the web makes it possible to share the 'new' results. Software companies are particularly vulnerable to this -- GPL, GPL, GPL.
  • I have no idea how large the design is, but by the time you find an FPGA that is large enough to hold the design, you may be better off just buying an AMD K6-II and chipset. Not to mention that you need device programmer in order to program the chip.
    Or indeed an off-the-shelf ARM 7. While this is a fascinating project and I can see some uses for it I don't think it is going to steal away ARMs business over night. After all FPGA's tend to be expensive, power hungry and slow. ARMs selling points are cheapness and bangs/Watt.
  • Open source hardware? Gasp! This is clearly an attempt to undermine the American Way! We must unite and stand against this Swedish communism!

    So who's up for bombing sweden? I pulled a plan for a H bomb off of the internet. Didn't cost me anything, either...

  • Wait a minute! RMS hasn't written Free Hardware Public License yet!

    Free as ARM, not as beer. Sounds good...

  • Who the hell fabbed BlackArm for them? Too bad even if they release their "Arm instruction set chewer" we could not use that ourselves as individuals as a basis for any real work... UNLESS: Wouldn't it be nice to have an ink jet printer capable of depositing various compounds on a sheet of plastic to create solid state devices? Not for processors initially but for almost any other application... Need a power supply? Print out a bridge rectifier and some capacitors. Complexity could be achieved in layers similar to current printed circuit boards. We could have a "Rawpotatoes" for open source hardware designs to go with "Freshmeat". The ultimate goal would be a simple processor capable of running Linux where you print the hardware and compile the kernel yourself. Need more speed? Try a cluster with pages like a book... a library. Why do I find myself still prototyping circuits with a soldering iron the same way it was done by Nicola Tesla a 125 years ago? Never mind a decent sized logic circuit. Ever soldered together a flip flop? I quit after 100... A hundred bits of memory is quite enough if you are going blind soldering transistors.
  • As far as I'm aware, they don't even manufacture SPARCs themselves, but rely on a third party foundry.

    Yeah, Texas Instruments manufactures Sparcs for SUN microsystems.

    __

Make sure your code does nothing gracefully.

Working...