All Activity

This stream auto-updates   

  1. Yesterday
  2. Wings have always been the least popular item I sell which I always found surprising, maybe PMods were just a better execution with more resources behind it... I was trying to get GadgetBox and the concept of eCogs off the ground to appeal to a larger audience. Then I would merge Wings and eCogs together down the road. It's something that I still hope to do, but it will take a little longer to do now as I dig myself out of the hole I found myself in. I'm taking the approach now of really trying to see how I can put something together that provides value as an entire solution. Before I would just focus on making a wing when it was needed by a certain application I had in mind. It was useful to me in that moment but I didn't conceive of it from the beginning as to how I could make something that would be useful to people. Now I'm trying to go the other direction, how can I put a system in place that is useful for people, like implementing FuseSOC and a cloud building service, and then making Wings or eCogs to fit within that framework...
  3. It is definitely tough to compete with the subsidized boards that are out there... It was a sad day when I came to the realization that I couldn't support my family with Open Source FPGA boards anymore and had to get a job doing something else. I'm sorry to hear you are discontinuing your boards, I've been pretty close myself too. It's been a real struggle to pay for inventory, it's turned around now that I have started a job and all profits from sales are going right back into buying inventory. The Papilio Unity is also meant to simplify the product line and make it more affordable to keep stocked. It is meant to replace the Papilio One 250K, 500K, and the Papilio Pro with a single board. It will hopefully be low cost like the Papilio One 250K when bought without memory, using the bootloader and a non switching power supply should really bring down the costs. Then it can also be expanded into the Papilio Pro with SRAM or SDRAM.
  4. This has been discussed in the past but recently I came across a nice little 4:3 aspect ratio QVGA TFT which is very easy to use with just about any FPGA project that produces a roughly SD-TV resolution image, ie most early arcade games and 8 bit computers. This is the LQ035NC111, an older but still fairly widely available display which uses a parallel RGB-dotclock interface that does not require any type of initialization sequence to work, shown here running PacMan from fpgaarcade. These displays are nearly perfect for this application due to the 4:3 aspect ratio and resolution conveniently close to most classic arcade games, they're commonly used in those cheap backup camera monitors from China. The modifications to the code are very simple, all you need to do is feed the 6MHz ena_6 to the DCLK pin, reset_h to the reset pin and RGB/Hsync/Vsync to their respective pins then tie the unused RGB inputs to ground. The photo looks really washed out but in reality the display looks quite nice with good color and reasonable contrast. The only small hassle is that these displays have no built in backlight driver so you need a boost converter capable of producing about 20V and driving 10-20mA for the LED string. I lashed it all up with an ebay breakout board but eventually I'll make something more permanent. The plan is to scale down the plans and build some tiny desktop arcade cabinets but it could also be used to build a handheld or desktop version of virtually any game, console, computer or other application that fits in the FPGA and produces a video signal. If anyone hooks one of these up and has difficulty getting it going I'd be happy to help. arcade tft
  5. Well one of the big advantages of open source hardware is that anyone can build more of them any time they want provided the components are still available. I see two sides to the hardware situation. On one hand it's always nice to have options, but on the other hand the FPGA development community is so small as it is and every additional platform out there creates further fragmentation. In general I would say that it's a better use of resources to work on the collection of projects that run on the FPGAs rather than creating even more competing hardware platforms. An exception to this, and one that I think Gadget Factory could really excel at is producing peripheral modules to work with the FPGA boards already out there. The Papilio wings are the obvious place to start but it may make sense to expand to some of the various little Chinese dev boards that are out there. It would be great to see more widgets in wing format complete with some example HDL to make them do something out of the box.
  6. I can understand that. With boards like the Arty series the market for small hobby board vendors like you and Jack gets a lot tighter. The price for these boards is unbeatable and they are fully integrated into the Xilinx tools with board description files, etc. And they are almost always in stock. But I think it is also a big loss in diversty on the market. Albeit all boards use the same FPGAs the peripherals also matter. If I compare your boards with Jacks and maybe Xess, Numato, etc, they are all different with all their strengths and weaknesses. Maybe I should by a Pepino before it is completely sold out It is also really unique with 32Bit wide SRAM and all its I/O. It is the perfect Retro computing platform. And for the Oberon Fans (I don't know if there are many...) it will be sad. Thomas
  7. I think there is *some* value in the schematic based entry, for a total beginner it provides a way to make the FPGA or CPLD "do something" and helps to drive home the point that you are designing hardware rather than writing a program. It's not a bad idea to do a few simple projects using the schematic, but then move on to HDL as soon as you get beyond stuff like blinking LEDs.
  8. As far as web based stuff goes the UI looks nice, but it still doesn't solve the issue that I am away from reliable (or any) internet access just often enough that I don't want to rely on it for anything that I can run locally. If a proper desktop application is available I will always use it, web based stuff is a backup that is convenient when I'm not on my own PC.
  9. I haven't tried this yet but it looks like it should be straightforward to port it to any of the Papilio boards.
  10. At work we have switched most of our Spartan-6 products to Artix-7 and for the most part the switch-over was painless, the only area that needed a bit work was places in the code where we directly instantiated low level design elements (like serdes blocks, BSCAN_SPARTAN6 etc.) that had to be re-coded using 7 series elements, and the new way of setting contstrains. However, one area that Xilinx keep messing up is LVDS outputs, which we use lots of. On the Spartan-6 part that we used, only 2 of the 4 banks could have LVDS outputs. On Artix-7 all banks can have LVDS outputs but the bank must have VCCIO set to 2.5V! This means that Digilent boards like Arty and CMOD A7 and Avnet boards like miniZed etc. can't do LVDS output at all since all banks are powered by 3.3V! This is pretty lame since LVDS is the future for high speed I/O, just look at UHS-II sd-card standard where 2 LVDS pairs are added for high speed applications. As for my FPGA "hobby" busyness, I have no desire to develop an Artix-7 or Zynq based board and compete with heavily subsidized products from Digilent and Avnet. And there won't be any more Spartan-6 based boards made by me either (Pipistrello LX45 and Pepino LX25 are sold out and discontinued and once the Pepino LX9 boards are sold there won't be any more boards made). End of the road... I totally agree. I have a long history of designing custom chips, starting in the 1980's with schematic-based design entry for ASICs. When we switched to text-based design entry (i.e. HDL) in the 1990's the productivity gain was incredible. We could do much more complex designs and still understand what it did, and we could use all the tools developed for software to maintain the code (like CVS for code repository, using the text editor that we liked most for design entry, and simple things like text compare). Going back to schematic-based design entry is in my mind a huge step back. Magnus
  11. Last week
  12. The new Papilio Unity board tries to solve the memory problem by letting you add different memory modules, depending on what you want to do. For retro projects or easy to use RAM then there is a SRAM module. For lots of memory there is SDRAM module. For even more, we can make a DDR module.
  13. Oh! I had forgotten about Spartan-7... But just checked on Digikey ant they are $50.... Needs to be a cheaper supply available. Yes, I would really love to move to Vivado, that is where everything new is at now... Nice, I'm putting on my list of urls to check for content to post to GF blog...
  14. Just give Cloud9 a quick look, I worked on a web site using this tool recently and it was really great... The big change is that the entire development environment is included with the IDE, so you don't have to install a thing on your desktop to be up and running quickly...
  15. I don't think so, at least when you upgrade in the area what Xilinx call "cost sensitive portfolio", which means Artix and Spartan. Basically a larger FPGA is not more complex, it has just more macro cells. When you think about Retro computing when going from 8 to 16/32 Bit systems (like Amiga/Mac/Atari ST for all them also exist FPGA implementations) you can leverage the 20-50K "cells" devices. Of course devices like Kintex and Virtex have features which are of no use in this area and in best case a waste of money. Place and Route times increase quadratically with the size of the device, also the memory required to run this process, but this will only happen when your design really needs the area. Well I also do not really use them. As somebody mainly interested in processor design I also prefer to run my own soft cores. But the way Vivado integrates Microblaze is for me the "gold standard" on ease-of-use which I also aim for my own designs. You can just place in the Microblaze into IP integrator, drop in your peripherals, memory, etc., edit the address space map and run synthesis. Then jump to the SDK, it reads an automatically created hardware description file and knows what is on your chip and configures everything. If you have an ethernet core on the board, you can just use uIP to establish a TCP/IP connection. There are people out which are not interested in processors, they may do something else with the FPGA. They may have some cool IoT idea and just need a workhorse to connect their idea to the internet. And Microblaze is just this workhorse. My idea of course is that my Bonfire Processor is this workhorse I'm now at least at the point that it is "plug" compatible with Microblaze (of course not Software compatible...). The part doing this is not yet on GitHub... And yes the half automated Vivado IP design requires more resources than its traditional manually crafted VHDL counterpart on the Papilio Pro without necessarily been more powerful. But productivity is much higher and I think the learning curve is less steep. Well I had a chance to discuss this with a Xilinx employee a while ago. FPGAs are different than microcontrollers. There are volume devices, like e.g. the Spartan, where they make the money with selling chips like most chip manufacturers. But there are a lot of customers using the really expensive super high-end FPGAs for things like prototyping and simulation of ASICs, science experiments (e.g. particle detectors). In this type of applications the money is earned with tools, support and professional services. Vivado licensing works in this way: For the volume chips you can use Webpack, for the high-end chips you have to pay a premium price (for the chip and the tools...) But I think FPGAs are inherently niche products which makes them expensive. There are uses case where they are without any competition, but these cases are rare. On volume applications they compete with ASICs, on low-volume and very-low volume applications they compete with Software. Retro-Computing is also such a niche. FPGAs compete with software emulators. Much more people use an emulator to run a retro computer, than an FPGA. Today's computers are so powerful that a Javacsript application in a browser can emulate a Macintosh faster than realtime
  16. There's another great book called Free Range VHDL, I found it to be tremendously helpful once I got started. What I did was read the whole book through from cover to cover without worrying too much about soaking it all in, then I went back and started going through the examples and referring to other sections as needed.
  17. I think for a beginner oriented board like the Papilio series a newer, larger, more powerful FPGA may be more of a curse than a benefit. Amongst my collection of FPGA boards I find that the two most powerful, a PrimeSense with Virtex5 and a DE2-115 with a large Cyclone IV hardly ever get used for anything. None of my designs come anywhere close to needing such a large FPGA and regardless of what I do with it, the larger more complex devices take longer to compile for, in some cases dramatically so. With so many soft core processors out there I've never even bothered to try the Microblaze or NIOS cores, I've just never had a reason. It would be nice if Xilinx would change the licensing terms for the ISE Webpack to match those of Vivado, all it would take is offering a different license file. Frankly I've never understood why they have any restrictions at all, just give away the fully featured software for personal use and have paid support subscriptions for commercial users like all the microcontroller manufactures. Give away the software for free because it sells hardware which is their core business. Aggressively court hobbyists and students because some of them go on to become engineers and they are likely to keep using the product lines they are familiar with. Anyway, back on topic. What the Papilio boards do lack is IO and memory. The Pro has SDRAM but that does not lend itself easily to retro hardware which is my primary interest. Block RAM within the FPGA is a scarce and precious resource and 95% of the time it's a lack of sufficient memory that prevents a design from fitting in a smaller FPGA. Having external SRAM and ROM or sufficient IO pins to add it opens the door to many more projects.
  18. How about Spartan-7? There are now available to. With the Arty-S7 Digilent has the first board with it. It it basically Artix-7 without high speed transceivers. I'm also seeing a lot of relatively cheap Zynq boards reaching the market. Also from smaller companies (e.g. the "Zynqberry" from Trenz Electronic in Germany). I have the feeling that Xilinx markets Zynq very aggressive and when I compare the price of Zynq boards with Artix boards I assume that the smaller Zynq devices (especially the Single Core Zynq-7007) are cheaper than Artix. On one side Zynq adds a lot of complexity to an FPGA board, on the other side it can help to create a more user friendly experience. I have not worked with Zynq on my own (but I'm sure I will not resist the temptation to buy one of those cheap Zynq boards very long...), but my understanding is that the Zynq processing system can configure the PL (the FPGA part of the Zynq). So uploading a design over e.g. network, could be possible. No more complicated JTAG stuff... One of the big advances of Vivado over ISE is that Xilinx has changed the licensing policy. The free Webpack is not limited by features anymore, it is limited by size and type of the device. The devices they don't support are mostly beyond the reach of a hobby user :-) So I have ILO (former Chipscope), full Microblaze+ SDK, full featured simulator and so on. The disadvantage is that classic HDL design is not well supported anymore (no vhi and test bench generation, harder to use syntax check, less informative synthesis messages, no bmm file support for non-Microblaze designs) and at least on my systems Vivado crashes more often. I now use both. ISE for basic HDL design and "unit testing", Vivado for integration and verification on hardware) For CI flows it may help that vivado can easier be used as command line tool with tcl scripts in "non-project" mode. I'm currently in the process of finding out a way to integrate vivado in a classic "make" project where I can say "make all" to compile the boot monitor, synthesize the bit stream, compile eLua and putting it all together into an MCS file which I can load onto Arty. Because I have also a full network stack in eLua I'm considering to allow Update over the network. It should be possible to write that the Soft SOC system write a new bitstream to address 0 of the flash and then restart the FPGA. But still more ideas than I can manage in my limited spare time BTW: Maybe you like to take a look in my just starting youtube channel: Please excuse the async audio, all screen grabbing tools I tried under Linux are horrible (maybe because it is a VM) and my German accent Thomas
  19. The libraries are a fantastic aspect of the Arduino and the key thing that makes it a worthwhile if otherwise rather flawed platform. It took me a long time to warm up to Arduino but I love the way I can grab some widget and very often grab a library with example code to make it do something right away. It provides a great way to test the thing out and explore its capabilities right off the bat. I'd love to see a similar collection of HDL modules form, blocks of code that do the grunt work like initializing the device and communicating via whatever interface it uses and bring the controls out to sensible interfaces that can be tied into other modules in the top level file. Ideally these modules should be well commented, especially at the top level explaining what all the inputs and outputs do and what sort of signals they expect.
  20. I may be showing my age but I absolutely loathe nearly any kind of web based software. There are certain things it is convenient for, checking email when I'm away from my own PC with a proper desktop client, occasionally a simple tool, but for any kind of productivity software I find it frustrating. It's always slower, invariably I seem to have to do a lot of scrolling, it never seems to work equally well in all browsers, then for reasons I've never been able to fathom many browsers interpret the backspace key as navigate back to the previous page causing you to lose all the data. I'm forced to use a lot of web based crap at work and I never have taken to liking it. Especially these days when vastly powerful PCs with massive hard drives and gobs of RAM cost peanuts I'm baffled by the trend to return the the mainframe-dumb terminal paradigm. I guess what's old enough is new. That said, I suppose it doesn't really matter to me, I'm pretty content using ISE for my Papilio boards. I'd much rather spend any time I have writing code rather than learning a new tool. VHDL and Verilog are industry standards, code written in a standard language can be synthesized on any suitably large FPGA with minimal changes. With so few developers in the community it's essential to minimize fragmentation.
  21. Haha, yes I actually wanted to use Vivado when I started making DesignLab... Wish it supported Spartan 6 chips. I would jump on a series 7 chip and deal with the BGA issues in a heartbeat. The problem is that the prices are still very high and its not easy for my manufacturers to get them... Right now the cheapest Artix-7 chip on Digikey is $35. I jumped on the Spartan-6 chips for the Papilio FPGA when I saw them on Digikey for less then $20 and I would do the same for the Artix-7. I've been itching to make an Artix-7 board. Ok, this is on my todo list to check out. I would also like to see about getting your Bonfire project setup with continuous integration too. Need to look closer at both of them again. Yes, want to avoid complication for sure. DesignLab was guilty of that, don't want to do it again. Agree completely, the IDE is terrible, but the libraries and ecosystem are great. We could eliminate the Arduino IDE entirely and go with a web based IDE like Cloud9 or a non-web based IDE like Atom and have a much nicer environment. The challenge is to find a way to program the board. Alvie and I are working on a new Papilio board called Unity that is entirely serial based and has a bootloader like the Arduino. This would be easier to integrate into a cloud IDE... Well, given enough time I would redo what I have already done using Packer. Then you can use vagrant to quickly start it up in virtual box, AWS, Parallels, or VMWare. Or go with a docker image... I mention AMI because I already have it up and running. The thing I forgot to mention in my initial post is that it is very cheap to run the AMI as a spot instance. I'm paying about 1 to 10 cents an hour for a AWS instance that synthesizes the ZPUino bit file in around 2 to 4 minutes. That's faster then my development box does... If I left it running all month it would cost ~$7 dollars. The trick is to terminate the instance when you are done so you don't leave disk space laying around unused. That is where they get you with the fees, if you shut down instead of terminate you continue to be charged a hefty fee for the hard drive space that is still allocated. Do a terminate and it frees up the hard drive space and avoids continuous charges.
  22. Well, I think that people find FPGA development hard and difficult has is root cause that they don't understand the difference between hardware and software. Because HDLs borrow many syntactical constructs from programming languages and the code looks like a "program" (this is especially true for VHDL) people think in the wrong direction and get very frustrated. In the moment you realize that it describes hardware and think about expressions as a bunch of gates and signals set in a synchronous process as flip-flops it becomes easy. I personally can write and debug VHDL code as fast and productive as C code. Ok thinks get much harder in the moment you go off-chip. It is possible to write software without ever really understanding how it is really executed in a computer. I know developers who have difficulties to understand what is really the difference between an integer and a float or why it sometimes go wrong when you assign a short to a long :-) It is possible to write software with this limited level of understanding (in fact most JavaScript, php or python code is written by such people ), but it is not possible with Hardware. Even worse, without understanding the concepts it is even impossible to recognize the value of FPGA.
  23. Hi Jack, first of all I'm glad to hear that you continue your work. It sounds a bit ironic that you move away from desgin lab, while Xilinx Vivado goes in the opposite direction. The Vivado IP integrator is like "Designlab on steroids". It is just microblaze and AXI4 instead of zpuino and wishbone. I never tried designlab but recently bought an Arty board to port my Bonfire project (RISC-V on FPGA, see my forum post...) from Papilio Pro to Arty. At first I was disappointed from Vivado because it has less VHDL support then ISE. But I learned quickly that IP integrator steps in for this. You can integate any HDL as "RTL module" in IP integrator, and use the block design to wire the toplevel together. With this I had my processor running together with DDR3 RAM and Ethernet in two weeks. Of course this is far away from the open source idea, but with all the core synthesis work done by propietary Xilinx tool FPGA development is never true open source. But this is all more a side note. What personally I really like on the GadgetFactory is your hardware. I ordered a second Papilio Pro a few weeks ago, because it is the most "hacking friendly" FPGA board on the market (at least for Xilinx chips). It can be leveraged completely with comparable easy to understand open source HDL, e.g Hamsters SDRAM controller. Compare this with the Arty, the DDR3 RAM can only be managed practically with a Xilinx MIG which consumes 25% of the slices and increases synthesis times a lot. And for many usages patterns it is even slower then SDR SDRAM. An upgraded Papilio with a series 7 FPGA would be a dream, of course I have read about the difficulties of BGA... It would also open the path to Vivado, and Vivado could be helpful with your HDL library idea. Especially because Vivado IP cores are based on IP XACT. With FuseSOC there is also an open source package manager supporting IP XACT. I have not used it, but I think it goes in the direction you are aiming for. I have doubts that additional tools like you mentioned in your roadmap really help, they make things more complicated then easier. Some, very subjective words on Arduino: While Arduino is a fantastic idea, the Arduino IDE itself is really crap. It is on the level of Turbo Pascal for CP/M in 1983. While this was a great idea in 1983, it is not in 2017. Regarding your idea with an AMI image: why not making the same with a virtual box VM? Cloud is fine, but quickly cost a lot of money:-) Thomas
  24. I didn't take any pictures but it's pretty trivial to load it onto a Papilio Pro and fire it up. It just looks like Centipede, the only major issue it still has is the sound not working and I'm not sure why that is because I didn't mess with that part.
  25. Sounds cool, can you post any pictures or video of it in action?
  26. A lot of good advice and ideas. I like Multicomp too, maybe it is a perfect candidate to put up on the new GitLab space and get it doing CI for all the Papilio boards. I've been thinking a lot about the libraries idea, it just needs some common way to connect all the pieces together. Maybe wishbone could do the trick, if we make a wishbone connector without a processor that can just send sequential commands to the wishbone bus to set components up and basic tasks... I envision something like how Alvie has ZPUino setup with wishbone slots so you just connect each wishbone component to a slot and then something simple to control it all. Something like the wishbone testbench that Alvie setup too... But I think the key thing is that I want to work on stuff that people can use... Jack.
  27. This has more or less been my opinion for a while, DesignLab is a neat idea but IMHO it is a huge amount of work to create and maintain while in the end being a dead end that will serve as a crutch enabling people to avoid ever learning HDL and that will become a huge limiting factor down the road. I'm not going to try to tell you what to do but I think it would be great to focus on collecting a library of code a bit like OpenCores, processors, support chips, sound chips, and other interesting widgets that are tested working, and then attempt to clean them up so that they're somewhat consistent and well commented. One of my favorite FPGA projects is the Multicomp by Grant Searle because it is modular and provides a great tutorial on "wiring" up VHDL components into simple but functional computers. Then there is the larger issue that despite the efforts of many including myself, there seem to be very, very few hobbyist FPGA developers, especially the really talented ones who have developed entire projects. I've tried and largely failed to recruit nearly every technically minded person I know and just haven't succeeded in getting much interest and this frustrates me. Part of this is that FPGA development *is* difficult and there is a very steep learning curve but I think an even bigger obstacle is the perception that it's hard when in actuality putting together a project out of existing modules is not much harder than writing an Arduino program. There is a lot of fragmentation, a number of different FPGA platforms out there, each with their own community and largely the same collection of code, much of which has been circulating for years. Too many people who do create interesting new projects seem reluctant to share their code which is something I find baffling, why bother to create something and show it off if you're not willing to share it? Anyway I think we need more people involved, more basic tutorials, more Multicomp-like projects, think something like a kit where the main components are already coded and a tutorial is provided to write the code that glues it all together and results in something cool to play with. Maybe drum up some interest in local hackerspaces? A ~2 hour entry level presentation/class? A YouTube channel that presents FPGA exercises? Reverse engineering an existing FPGA project and explaining in detail what each section does? A tutorial to port projects from other FPGA platforms to the Papilio? I've learned a lot by porting various projects from Xilinx to Altera and vice versa. Something to get more people over the initial hump and writing some code, the more people we have contributing, the more interesting stuff there will be for everybody to draw from and contribute to. It's been far too quiet around here recently, I would love to see more people engaging.
  28. Load more activity