+++ Patrick Doyle [2011-04-11 12:49 -0400]: > Can anybody point me at a "Getting Started with BaloonBoard" resource? It sounds like you've found most of it. Exactly what is most appropriate depends on what you are trying to do. (fill up a new board with code vs. talk to a pre-programmed board with a serial port, vs. programming the ASIC) > As background, I would like to use a BalloonBoard as a testbench to > control a custom ASIC. I have a pile o' Verilog code that I use > currently in simulation for testing the ASIC. I would like to drop > that code into an FPGA and control it with an external processor. I > would also like to talk to that external processor from some desktop > (or laptop) PC. Cool, relatively few people have made serious use of the ASIC functionality, so any action on that front would be great. > I've poked around the wiki a bit and have learned a few things. > > 1) It seems that I can plug into J14, apply power & ground, and talk > serially to the board. correct > -- as an aside, http://www.balloonboard.org/balloonwiki/Software > states that I need to apply power via "the main molex connector > J10,..." I believe that should be "J14" (at least according to the > schematics). Yep. I think you're right. Fixed. (do feel free to fix up such things yourself - it's a wiki) > -- as another aside, is the BOM for the BalloonBoard online anywhere? > It would be much simpler for me to look up J14 on the BOM and find the > mating connector at Digikey than it would be to try to guess what > "PH200_4WAY_RT" means. There is this: http://balloonboard.org/hardware/300/Loon3_Manufacture_0V1.zip (from the 'Hardware' page) But I see that just specifies PH200_4WAY_RT anyway. You'll get one of those with a loon anyway, but yes we could usefully provide more info on that sort of thing. > -- as yet another aside, for any security folks who happen to be > monitoring this email, "BOM" refers to "Bill of Materials", and not > homophones that might come to mind when pronouncing it out loud. I'm > not even going to touch "Pinko connector" here. :-) > 2) It would be nicer if I could plug a USB cable into the board, plug > the other end into a PC and speak TCP/IP to the board from a random > Windows based PC. Does the USB OTG or USB client work well enough to > do this? Does Windows support this (via USB "gadget" or some other > other mechanism). Yes, that works, but there are complicated if's and buts about doing this on Windows as opposed to Linux (where it's easy). You used to have to rebuild the USB ethnet gadget with RNDIS support on for windows, and off for linux, but I _think_ that's sorted in latest kernels. I just can't remember if pxa270 limitation means it can;t take advantage of the fix. > 3) It just dawned on me yesterday that the FPGA on the board might be > required for correct operation of the board and that I may not be able > to program it with my own arbitrarily custom code. Can I put > arbitrarily custom code in the FPGA? Part of it is used for flash access and the somosa bus and a few other bits of logic, so you do have to be a bit careful putting your own code in. However the board-support stuff is logically separated in the build system, so it's not hard to put inyour own dollop. The main limitation is actually available pins - you need to work out which bits of functionality you want to sacrifice. Normally the 16-odd pins of the samosa bus are a good target to dedicate to your private FPGA interface bits. > 4) I read in 1.0-stable/vhdl/README: > > You are strongly urged to read "L3 Hardware" before altering these files > > where would I find the "L3 Hardware" document? In here: http://www.balloonboard.org/files/balloon3/distro/test-v0.1/docs/ (under a different name - but I think one of those corresponds). And yes that was almost entirely undiscoverable. Those docs need linking from somewhere useful (and updating!) > -- BTW, http://www.balloonboard.org/balloonwiki/BalloonFPGA says that > the FPGA code can be found at: > > $ svn checkout svn://www.balloonboard.org/balloon/trunk/vhdl/ balloonboard-vhdl > > Some spelunking suggests that it might really live at: > > $ svn checkout svn://www.balloonboard.org/balloon/balloon/tags/1.0-stable/vhdl There are snapshots in those http://www.balloonboard.org/files/balloon3/distro/ dirs and 'latest' in http://balloonboard.org/trac/browser/balloon/trunk/package/vhdl > I'm happy to sign up for a wiki account and make these changes as I > find them. Is there some sort of review process that will ensure that > I don't change them incorrectly and thus direct people in the wrong > direction? No, we assume that anyone interested enough to change things in here has a reasonable idea of what they are doing. A fresh eye is always very useful, because that finds the glaring omissions. > 5) Assuming I can place my own code in the FPGA, can anybody point me > at an example of using the FPGA to do something simple, say blink an > LED or something, by running code in userland on the processor, > communicating with the FPGA via a device driver (perhaps even > something as simple as opening /dev/mem and writing to registers via a > memory mapped interface)? What if I wanted something a little more > complex than that with interrupt generated events? There is a ledblinck example for using a GPIO directly off the board. For doing FPGA reality checks you need someone hardwarier than me. The 'wishbone.vhdl' stuff is intended as an example of putting in your own module, I beleive. > Thanks for any tips and pointers folks can give me. I am asking all > of this in the spirit of "If I don't ask, I won't find out" and not in > the spirit of "can you do this for me". If I designed the board > myself, I'd have to do all of this myself. If other folks have done > this already and it's just a matter of finding the right pages in the > wiki showing what they've done, I'm glad to stand upon the shoulders > of giants and learn from them/you. Yep, that's how it's supposed to work. We've used the FPGA for on-board stuff and the samosa bus implementation, (and CJ put a 1980s arcade machine pacman implementation on it once (video essentially straight off the FPGA - very cool), but that's about it, and nothing much is documented on that front beyond what you've found (and those docs in the test-v0.1 release (whcih will help). So please ask lots of questions, then write down the answers in a 'how to use the FPGA page' :-) Wookey -- Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM http://wookware.org/