Domain: fpga4fun.com
Stories and comments across the archive that link to fpga4fun.com.
Comments · 26
-
Re: Memristors
Lattice has(had?) a $20 fpga dev board with several thousand gates and free-as-in-beer software to run vhdl/verilog projects, open CPUs, or hybrids of the two without much effort. Someone with some basic programming and logic experience could have an FPGA project running over a weekend following easy tutorials.
Getting efficient speeds and gate usage takes quite a lot of experience, but getting started and tinkering does not.
Agreed. Not to toot my own horn, but I once released a pretty groundbreaking project (one of the first Bitcoin FPGA miners) after 3 weeks of owning my first FPGA board. I did have programming and electronics experience, but not exactly professional in either. I mostly used tutorials from fpga4fun to get started.
-
fpga4fun
I didn't read the summary or the article, but I see these comments about overwhelming toolchains. To me, the important bit is understanding some general concepts (it helps to have some electronics experience first) and the language (Verilog is probably easier than VHDL). Fpga4fun and its tutorials were a great introduction to these.
For those of you who think FPGAs are a waste of time compared to small/fast/low-power CPUs, there are plenty of reasons to learn them anyway. The key idea is that you design your own circuit, instead of running your code on someone else's CPU design. If you have any electronics background, you'll appreciate the idea of basically writing your circuits in code, instead of the painstaking and error-prone manual assembly. It really bridges the gap between software and hardware in many ways.
One interesting side effect to me is that FPGAs helped me write and understand parallel code better. In an FPGA, you often write genuinely parallel circuitry, and you need extra care and thought to make it work at all. That kind of thinking will carry over to your software projects too.
-
FPGA Scope
Here's a 100 mega samples per sec digital scope that can be built for $92.70. It's based on a floating point gate array.
http://www.fpga4fun.com/Hands-...The parts for it can be purchased here.
http://www.knjn.com/ -
Some assembly required:
-
Re:"Open source computer"????
There's basically NO open source hardware out there. And if there were nobody would be in a position to do much with it, because it would take a fab to make any change.
- 1. There is the good old solder-it-yourself scene, ham radio style, hardware with a hard H.
- 2. There is a lively FPGA scene, with the complication of mostly closed-source synthesis tools (like compilers). I don't regard this as a huge problem, as long as I can make hardware do what I want. If you're new to the scene, I recommend fpga4fun.
-
Re:Bit off-topic
Back when I was wee lad, little electronic kits consist of discrete transistors, LEDs, op-amps, etc. You can make little toys with blinking lights and such, and perhaps gain some rudimentary but empirical experience with electronics.
I realize today's a different, whole lot more sophisticated (in terms of technology) era, but what would be the equivalent today?
FPGAs. Instead of programming a chip someone else designed, you make your own circuits, just like in the good old days. Except you don't have to solder much, and you have all sorts of macro programming tricks (e.g. for repeating a circuit block 100 times, each with different parameters) you'd expect from software development.
-
Re:Electronics
I was about to say the same thing, specifically about FPGAs. I've played with computers and electronics since I was a kid, and there are two major things that have rekindled that childhood sense of wonder about them during my adult years: Linux and FPGAs. The magical thing about FPGAs is that they are the ultimate combination of programming and electronics; not just designing a circuit with a programming language, but also another kind of programming in itself. As a side benefit, I think I have learned tons about parallel programming, because in FPGAs you are building real circuits with real parallelism.
Of course, you need to have some goals in mind what to do with them. fpga4fun is a good starting point with some toy projects that will probably get you interested further.
-
FPGAs
1. Get an FPGA devkit
2. Learn Verilog
3. Live on the bleeding edge between hardware and software. Dream of being a hardware guy that dreams of being a butterfly in the software world, and vice versa.
4.
5. Get chicks
6. Profit! -
Re:Learn an HDL - vrey challenging.
Seconded. If you don't have much electronics experience, you'll probably want to learn some on the side. Both for interfacing practical things, and to understand your designs better. I got started from fpga4fun and it's still a nice reference on some things, even after moving on to more challenging designs.
-
fpga4fun
This is where I started about a year ago:
Got a Xilinx dev kit, and it didn't take me too many weeks to get my project up to a stage where other people started using it.
Besides programming, a background in general electronics does help. Even if you're coding in a somewhat C-like language, it's nothing like a sequential program, but a description of hardware with real, physical parallelity. To me, it often helps to look at a circuit diagram to understand some debugging issues.
Data sheets from chip manufacturers are essential for some of the trickier points. If you need to choose between the two largest players, I recommend Altera over Xilinx, as they are somewhat more open, but mostly there are no huge differences.
-
Re:I'd rather have a modern Amiga
Something that could make computing fun again like it used to be 20-30 years ago.
My initial thought was "Linux", but I guess we've all been there for years already, and the novelty is starting to wear off. But talking about custom chips, I have recently taken up FPGA design, and it's been great fun. Though in that case you may have to forget about the idea of a "computer" for a while, and think more generally about digital circuits. Forget about programming a given piece of hardware, and instead design a piece of hardware to do it much faster. Or if you like, you can include a Free CPU design and make your computer from scratch, without any soldering.
I must admit I'm not very far in this field yet, so here are some fun links from other people:
-
Re:I think they made a movie about this...
I'm an ASIC engineer, rather not say the name of the company, however here is a name of companies that employ lots of people who do this:
Intel, Marvel*, Qualcomm*, Broadcom*, Imagination Technologies*, Nortel, Synopsys, Cadence, Cisco, Xilinx. Look up the languages of Verilog and VHDL. Take a look at some of the projects on opencores.org. Some good starter stuff on http://www.fpga4fun.com/ too.
Any company doing ASIC design will need lots of software engineers who can work with this parallel hardware too. I'd love to say more but I'd be breaking NDAs. Have a look at any of the companies I've marked with a * above and look at some of their chip architectures, many of them have dozens of different processors/hardware blocks all needing to run at the same time - and that's just the control software, the underlying hardware on every company mentioned above is written in wither vhdl or verilog and each chip is millions of lines of code producing parallel operation. -
FPGA4Fun and KNJN Altera boards under $50
Read through some of the tutorials at http://www.fpga4fun.com/ and then head over to the sister site http://www.knjn.com/ to find some FPGA boards. You can get a very good introduction to FPGA concepts for less than $50. The Pluto boards with Altera Cyclone FPGAs are perfect for getting your feet wet.
-
link
This is a great site with a good bit of introductory information. I implemented their LED flasher tutorials when I was playing with my Xylinx Spartan board. fpga4fun.com
-
Depends on the product and industry.
VHDL is used by defense contractors still. Although its ADA based, it requires strong typing, making it less prone to error. Although its hard to learn at first, you eventually notice its a lot like working with a virtual breadboard of sorts. Verilog is used in mostly consumer devices, and ASIC design. Intel, AMD, and other chip companies use verilog to design their newer architectures, although it can be more prone to bugs than VHDL, neither language is absolutely perfect. This is why we have verification and test engineers write test benches for the code to find any errors in the design.
In this day and age, its best to know both languages. They are pretty much alike, just that some of the keywords and syntax is different. Most FPGA design tools come with soft processors made in VHDL or verilog, and the user will typically use C to create the for the processor to run your task, this alone also makes knowing C a requirement. VHDL and verilog in such projects would be then used to special tasks, like fast image or audio processing, since the VHDL or verilog module would be tuned for that task and be able to complete it in a very short order of time compared to a general purpose processor. If I can make any recommendations, the sites http://www.asic-world.com/ and http://www.fpga4fun.com/ are two places I would look to first when start learning about verilog and VHDL. -
Don't forget Opencores & FPGA
Probably not as practicable, but isn't http://opencores.org/ kinda missing from this list.
Also, a lot of fun to be had with FPGA-based boards (http://www.fpga4fun.com/, http://hackaday.com/2008/05/22/fpga-projects-roundup/)
-
Re:Verilog
The best site I've found on them so far is http://www.fpga4fun.com/
Some of the cooler things I've seen built with them are data analysis tools, such as a compact digital oscilloscope, another was a decryption tool that was fast enough to capture decrypt and analyze data traveling across an encrypted system bus in real time (IIRC it was demoed on an Xbox 360).
The impression I get is that they're super powerful for performing straight forward repetitive tasks at high speed. This makes them capable of managing lots of high speed data such as Ethernet, video signals, or even system buses, it also makes them useful for encrypting/decrypting data streams in real time. It also makes the perfect for doing high speed conversions or switching.
Part of why I want to get into FPGAs is that unlike a Microcontroller or CPU that simply execute instructions in order, an FPGA is literally a logic array and can execute dozens if not hundreds of threads at once (you can of course make an array of FPGAs and have them function like one big FPGA as well). This also makes it really useful for robotic applications where lots of things need to be handled at once and executing commands sequentially can be quite a bottleneck in situations where speed is essential. -
Re:OOOooooYou can buy a decent FPGA development board and turn it into a DSP for the price of a high-end graphics card. It isn't a trivial project to get started with, but it might be easier than using a GPU. Plus, the skills and hardware from this project will take you much farther than GPU skills.
-
Resources for Makers/Builders/hightech DIYers
The first thing to realise there are plenty of technology related hobbyists around the world, although most are not high profile and some may be different very different demographics than yourself.
Some (hobby) groups to consider looking towards for ideas and help include: woodworkers, metalworkers (hobbyists using micromills and mini-lathes from TaigTools and Sherline, etc.), model railroads, model aircrafts (static and RC), robotics, amateur radio (ham), 2600, LUGs, and Artist Run Centres/Communities
Random list of some I use or know of:
Make magazine http://www.makezine.com/
Instructables http://www.instructables.com/
ARRL http://www.arrl.org/
http://www.sparkfun.com/ (check out their tutorials)
http://www.fpga4fun.com/ / http://www.knjn.com/
QRP-L http://mailman.qth.net/mailman/listinfo/qrp-l/>
GQRP http://www.gqrp.com/
http://www.pololu.com/ (cheap stencils laser cut, e.g. 3x4 for $32)
http://www.diyaudio.com/
http://www.digikey.com/ (if you're still buying electronics from Radio Shack, get these 3 catalogs now!)
http://www.mouser.com/
http://www.jameco.com/
the ton of various surplus/NOS dealers online
http://www.frontpanelexpress.com/
http://www.seattlerobotics.org/
http://www.chibots.org/index.php
DorkBot
http://eyebeam.org/production/production.php?page= tools
MIT CBA FAB http://fab.cba.mit.edu/
http://www.leevalley.com/
http://www.smallparts.com/
http://www.danssmallpartsandkits.net/
http://www.wmberg.com/
http://www.acklandsgrainger.com/
http://www.grainger.com/
http://www.onlinemetals.com/
http://www.amqrp.com/
http://www.princessauto.com/
http://www.sherline.com/
http://www.taigtools.com/ -
Re:Homebrew CPUsSo, if a guy wanted to build a more "modern" homebrew CPU, what options are there? Are there any decent CAD tools that don't cost a thousand million dollars? And once a layout is done, is there anywhere you can get just one single chip made for a reasonable price?
Yes -- Xilinx and Altera (and probably others as well) will let you download toolkits for free. They allow you to work in Verilog/VHDL or schematics (though most people use the latter primarily to see what the V* has produced).
If you only want one chip, you're probably best off using an FPGA or CPLD. Xilinx has a development kit (using a Digilent board) available for $100US. It has a 200 Kgate Spartan 3, which is plenty to build a variety of CPUs. If you really want to low-ball things, they have a $50US kit with something like a 50 Kgate CPLD. While that should be plenty for something like a Z80, it's still half the price for a quarter the gates...
Of course, Altera has some cheap development kits as well, but at least the last time I looked, their low-end kits didn't look (to me) like nearly as good of deals.
If you really want custom hardware made: well, the cheapest I know of for a one-off chip is around $10K. That's a lot better than the $100+ K just for maskwork to do conventional fabrication, but still way too high for most hobbyists. Below that, you're more or less stuck with an FPGA/CPLD or else hardwiring from individual gates.
Elsethread there was mention of the "big guys" with their Verilog tools not being able to do things like this. While opencores.org certainly isn't Intel, it also certainly has enough IP that putting together something on this order wouldn't really be a particularly huge challenge. They have a number of CPU cores, including some that emulate things like MIPS, so compilers aren't a major problem. Using the Wishbone SoC bus, connecting one of those to their Ethernet core should be fairly simple, and you're already about 90% done. Alternatively, you might want to look at the 10M Ethernet circuitry at fgpa4fun. The Ethernet core on opencores.org is only a MAC (so you'd need a separate PHY), but this outlines an on-chip PHY.
Those who are sufficiently serious that they don't like fpga4fun very well might prefer to look at the FPGA CPU site instead.
As you'd expect from the name, opencores.org is devoted to open source. The IP on the others varies, but IIRC, most of them are open to at least some degree as well.
-
some resourcesthe wikipedia article on FPGA: http://en.wikipedia.org/wiki/FPGA
great list of resources from WP on FPGA if anyone's interested in reading more:- comp.arch.fpga Google archive of Usenet groups, where people interested in FPGA hang out.
- Opencores A set of free IP cores that can be implemented in FPGAs
- Comprehensive tutorial on FPGA
- A comprehensive list of FPGA CPUs
- A good FPGA tools overview
- FPGAworld news, jobs, forums, demos etc.(http://www.fpgaworld.com)
- FPGA Basics by Ray Andraka
- Fpga4Fun various fpga projects
- FPGA Boards
- AP100 PCI Platform FPGA Development Board
- Information about signal processing on FPGA by RF Engines
- FPGA manufacturers
- Xilinx Xilinx has traditionally been the FPGA leader. Their general philosophy is to provide all the features possible, at the cost of extra complexity.
- Altera Altera is the second FPGA heavyweight. Their philosophy is to provide the features that most people want while keeping their devices easy to use.
- Lattice Lattice's focus is on low-cost, feature-optimized FPGAs and non-volatile, flash-based FPGAs.
- Actel (http://www.actel.com/) and QuickLogic have antifuse (programmable-only-once) products.
- Cypress
- Atmel
- Debian FPGA.
-
Re:Acronym Hell
Read this page to find out what FPGAs are. VHDL is one of the languages used to program them. The rest of the acronyms don't really matter unless you're serious about getting into the subject.
-
fpga4fun
A great site I've run across is fpga4fun.com. The guy who runs the site has designed and built several really neat little FPGA prototyping boards, and has some great step-by-step tutorials for doing things like generating video signals, reading optical encoders, using Ethernet, etc. You'll probably be sad you got a Spartan IIE just to play around, since he has a great little Altera board for just $50. However I do have a Spartan IIE from Digilent and the code principles are virtually the same.
-
FPGA
FPGAs can do what you're suggesting. Check out opencores for some examples of processor implementations already written. Assuming a large enough FPGA, you could implement any processor out there (and throw an Ethernet controller, VGA controller, etc onto the same chip).
That said, there's a huge performance difference between a real processor and a "soft" processor. The soft processors can't be clocked anywhere near as fast as an Intel/AMD chip. I think Xilinx is boasting a 200MHz Microblaze on their newest FPGAs. -
Re:A bit OTT
You can get started for a WHOLE lot cheaper than that:
Cheap dev board ($40 or so)
Xilinx and Altera both have free versions of their synthesis tools for the low-end parts. -
Re:Educational device
A 465 is good, but a 465B is better. The Tek 465 is about 30 years old now, and the 465B is only 20 years old. I was able to pick up a nice 465B with all manuals and accessories on eBay for $100 recently.
If the poster really wants a digital oscilloscope, head on over to fpga4fun.com. There's some neat little FPGA projects, based on a little FPGA board the guy designed and is now selling for $50. One of the applications is a digital sampling oscilloscope; it actually looks pretty neat. With the FPGA board and ADC board, it's pretty cheap too.