close-circle
Close
0%
0%

'Flea Ohm' FPGA Project

My attempt at making an FPGA experimenters board in a popular form factor :)

Similar projects worth following
close
FleaFPGA Ohm/Ohm+ are my own attempts at making a powerful FPGA-based development board in a raspi zero form-factor. This time however, I use the new ECP5 FPGA from Lattice Semiconductor! ;-)

Read more »

  • FleaFPGA 'Ohm' now launched on Indiegogo! :-D

    Valentin Angelovski09/28/2017 at 16:08 22 comments

    Hello Everyone!

    First off, I want to give a huge thanks to everyone who liked or have been following my Ohm project with interest to date! I also want to thank those of you waiting on production news for your patience.. 

    Now for the good news: I am pleased to announce the launch of my FleaFPGA 'Ohm' board as an Indiegogo campaign!  Exciting times! :-)

    Please do check it out (including the embedded video). Those of you who are interested in obtaining an 'Ohm' board, now is your opportunity to register your interest in my own take on an FPGA-based platform through the above link. Thank you!

    Kindly stay tuned for further updates. Should you have any questions regarding the production run, kindly post those either here or over at Indiegogo. Thanks again!

    Sincerely,

    Valentin Angelovski

  • First production-level 'Ohm' boards.

    Valentin Angelovski08/29/2017 at 14:13 13 comments

    Hello again,

    In last month's project update, I wrote about the redesign and testing of my 'Ohm' FPGA platform. This month, I am pleased to present some pictures of my first newly-assembled and tested (of what I now consider production-level) Ohm boards:


    Here are a few close-ups of my Ohm in the rather slick-looking (in my humble opinion) transparent Adafruit case :)


    So, this effectively concludes the (re)design and prototype test phase of my Ohm project (yay!). Things left to consider are:

    1.) How many boards to make initially (which will in part help determine the final unit price)

    2.) Finish off my User Guide for the Ohm platform (already begun, but not yet completed)

    3.) Uploading of a new Youtube video of my re-designed Ohm board in action! :-D

    Kindly keep an eye out for answers to the above in my next project update. Glad to finally get things to this point as it has been a long time coming. Thanks again for reading. :-)

    Valentin

    PS: Also last month, I hinted at the possibility of a releasing a second board based on my larger Ethernet-based variant. I have decided to create a separate .io project page for it in due course (time permitting)

  • Rise (again) of the 'Flea zero' board!

    Valentin Angelovski07/19/2017 at 14:36 6 comments

    Hello again :-)

    Apologies for my late reply. Winter can be a challenging season for those with inept immune systems.. :-(

    While I overcame my health hurdles, in my last blog update you may recall I was to make attempt at building Ohm pre-production boards? Well, turns out the PCBs that I had received were indeed of an inferior quality :-( So I am now in the process of moving my Ohm board design to another PCB house..

    Now, while that was all going on, another major thing happened.. I basically had another crack at building a pi zero sized FPGA devboard again. Here's the result - (re)introducing my 'Flea Ohm' board! :-)

    .. and here it is running a test configuration in the shape of the Minimig core:

    So.. now it looks as though I now have two possible designs to explore further (ie. Ohm and as-yet-unnamed Ethernet variant :-) Time permitting, I hope to do a small run of one or both boards (depending on interest) in the near future.

    Thanks for reading! More to follow..

    Valentin.

  • Pre-production 'fun' and more..

    Valentin Angelovski07/01/2017 at 12:29 2 comments

    Hello again,

    A fair lot has happened since our last blog post. Unfortunately that included getting a chest infection put me out for at least a fortnight - but I am feeling much better now :)

    First attempt at assembly of pre-production Ohm PCBs:

    So I received my Pre-production Ohm boards and had some fun assembling them. I say 'fun' because it seems I may need to tweak my soldering process for these pre-production ready PCBs. Following is a picture of a slightly overdone pre-production Ohm board (notice the slight charring along the top of the PCB near the main GPIO header):

    Luckily for me, this board wasn't a total writeoff (only one DRAM failed during functional testing), which is great because I've got a 45KLUT FPGA installed on it.. :) Illness forced me to 'take a break' from any further project work before I could attempt to make any more -

    Hopefully I will be more successful in my 2nd attempt tomorrow :)

    My first Ohm 'hat' (yay! :-)

    Also, I managed to assemble my retro game 'hat' for Flea Ohm! Not 100% tested yet, but at least the PS/2 and Game ports worked fine with the overcooked Ohm board in the previous pic ;) There are even more interesting hats to create (and even the retro gaming hat can of course be improved on..) but hey everything has to start somewhere heh :-D


    I did not have any ESP-12E modules on hand, so I slapped on a plain old ESP-12 instead. I will need the 12E variant if I want SDIO, but I may instead move on to an ESP-32 version as I previously wanted to - time permitting of course.


    Re-rise of the pi zero variant??

    Another thing that happened before I got sick: Now all of you may remember this project of mine started out as a pi zero sized board? Well I have definitely not forgotten about it! About a month ago I had decided I was going to have another go at making a zero-sized fpga board - this time using the physically larger FPGA package as used in my current Ohm:

    (To be continued.. :-)

  • Pre-production Part 3:

    Valentin Angelovski06/05/2017 at 04:24 2 comments

    Hello again! :)

    While I eagerly await on (what I hope to be) the final revision of my Ohm board, thought I'd drop one more update here..

    1.) OV7670 module testing went well :)

    2.) Fixed a few more minor errors with the PCB, as well as tweaked the following specs:

    • Stepped up the user GPIO breakout to 62 pins total..
    • Added a user push button (really needed one for things like system reset etc.. so I bit the bullet :-).
    • Added some additional circuit protection bits that were missing on the original Ohm zero..
    • To get the maximum possible use out of my board (ie: implementing multiple video inputs), I may need to offer the 45k variant ECP5 for the FPGA.. For many things however, the 24.5k variant seems to be acceptable. It can (for example) accept the minimig core, albeit at ~80% slices and 100% PLL blocks usage..

    3.) Started work on my very first (and relatively simple) 'hat' for the Ohm board - a 'retro ports breakout' hat containing:

    • 2 x C64 style game ports (for joystick and game paddle support).
    • 1 x PS/2 combo port (for keyboard and mouse support via a Y-splitter cable).
    • 1 x Audio output jack.
    • ESP8266 (was ESP32, see update below) module provision (several possibilities here, needs more work ;)

    Looking forward to seeing the final boards when they arrive (hopefully) by next week's end (I hope I've covered everything..) More to follow!

    **** EDIT 09/06/2017: For reasons mainly relating to time, I have decided to use the ESP-12E module (ie. ESP8266) for Revision 'A' the retro breakout hat (and possibly move to ESP32 for later versions when I am in a better position to support it). I have the following interfaces wired up from the ESP to the FPGA:

    1. SDIO and UART interface pins wired up.
    2. Control signals required for ESP module control and/or firmware update (ie. RST, EN, GPIO0, GPIO15, etc.) are upported.

    Both expansion hats and pre-production Ohm boards are almost ready to be shipped back to me. Next week will be an eventful one.. ;-) ****

    1. Pre-production Part 2:

      Valentin Angelovski05/11/2017 at 06:30 1 comment

      Hello again! :-)

      Well a few things have happened since my last update. Since that time, I ended up having two second-round prototypes built: one with 10/100 Ethernet and another with Gigabit Ethernet. Pictured below is the Gigabit Ethernet version (with and without user accessory modules plugged in):


      Ethernet tests: This one was a pleasant surprise - wasn't expecting my Gigabit variant to work (was still happy to release the 10/100 variant if it did not work..), but work it did! :-D Gonna do some more testing on it, but I have decided to upgrade the spec. to include it in the final board..

      CSI port testing: Didn't go so well.. After finally getting around to diving into this in a major way, I discovered my solution to be unsatisfactory due to problems with shared i/o pins for csi and parallel camera support :-/ Therefore, I decided to delete the CSI port and instead focus on parallel CMOS camera module functionality (but with the possibility for CSI support via 'SLVS' configuration of suitable GPIO pins)..

      Deleting the CSI header did free up more user GPIO pins (which are always welcome.. :-), so I added an extra single-row header strip above GPIO-B to access the extra GPIO (see below):

      This now leaves parallel CMOS camera and some GPIO-related tests to carry out. To be continued.. thanks for reading! :-)

    2. Pre-production Part 1:

      Valentin Angelovski04/11/2017 at 08:26 5 comments

      Hello again! :-)

      Quick update on my Ohm project: Prototype testing is now almost complete. Only thing not tested to date was the CSI header, thanks to a silly error that slipped under the radar..

      Based on these tests (among other things) I've updated my PCB design to include all fixes and/or tweaks arising from it:

      One of the things that really bothered me was the lack of user GPIO breakout. So I increased the GPIO count to 55 user pins total, thanks to the inclusion of a 20-pin 'GPIO-B' header, as well as increasing the pin-count of the 'GPIO-C' header :-D

      There were also other changes and tweaks as well - I will write a more comprehensive list of the changes when I have more free time.

      Next step: Review the above as soon as possible and see if I can knock one up quickly.. ;-) Thanks for reading!

    3. 'Ohm' Mk2 is alive!

      Valentin Angelovski03/25/2017 at 11:56 4 comments

      Hello again!

      Just a quick update to report I finally have a new Ohm Mk2 prototype assembled and undergoing testing:

      Apart from a few minor snags, testing of my first Ohm Mk2 prototype has been going well. As part of the test process I've ported both minimig and Next186 softcores to this board (successfully). I've also exercised the onboard ADC inputs using my FPGA scope demo.

      Among the remaining tasks, I need to provide some means of a loopback test of the Ethernet port from the FPGA. Also at some later stage I will need to validate (as a minimum) USB HID capability from those ports, not merely PS/2 pass-through as has been tested thus far.. Stay tuned! :-D

      Cheers, Valentin

    4. New year, new direction - Part II

      Valentin Angelovski02/23/2017 at 10:55 2 comments

      Hello again!

      Sorry about the delay in my last reply. Non-hobby matters, along with the added frustration over long part lead-times etc. did slow things down here quite a bit..

      Rather than wait an unknown lead-time on an FPGA part that I need, thought I'd try for a redesign of my Ohm board using larger (but more readily available) parts. While this might result in a larger (and more expensive) board, thought I'd also take this opportunity to make it a bit more useful..

      So, whilst I was in the process of exploring FPGA alternatives, (where nothing is really jumping out at me right now - apart from maybe Max-10) I gave Lattice and another variant of their ECP5 series one more spin..

      Anyway, here's my result (did I mention it's a bit bigger than before? :-) :

      I've retained all the existing Ohm board functions, but added a flexible lvds header (for display or camera modules, potentially) and also 10/100 Ethernet.

      Regarding the external DRAM: I have completed several versions of the above-mentioned design with different external RAM chips loaded, from SDRAM through to DDR3..

      I realize this is a major deviation from the original (pi zero form factor) design. However cool that was (and still is, I've not forgotten), I've decided that I always wanted to do something in-between a zero and a full-blown pi. Through this renewed effort, it will be as close as I'm ever going to get. :-)

      Next step: To decide upon the external RAM, review and then try fabricating one (or more) of these guys..

      Thanks for reading! :-)

      Cheers,

      Valentin

    5. New year. New direction.

      Valentin Angelovski01/08/2017 at 13:20 6 comments

      Hello again (and Happy New year to all! :-)

      Over the holiday break, I've been pondering what I could do to possibly revive this stalled project of mine..

      So, given I cannot obtain the parts I need for my current design I have therefore decided to look at redesigning my Ohm board using an FPGA from another manufacturer..

      Okay, we'll see what I can come up with now. Suggestions are also welcome! ;-)

      Cheers, Valentin

    View all 18 project logs

    Enjoy this project?

    Share

    Discussions

    Lars Brinkhoff wrote 10/11/2017 at 09:02 point

    Hello,

    Is Lattice Diamond the only option for programming the EPC5?  My preference is for tools that 1) runs well in Linux, and 2) have command line interfaces.

    The nice thing about the iCE40 devices is that they're supported by the IceStorm toolchain.

    Good luck!

      Are you sure? yes | no

    mikolaj24 wrote 10/10/2017 at 08:03 point

    How faster is this processor? Can You run bogomips or other benchmark?

      Are you sure? yes | no

    Valentin Angelovski wrote 10/10/2017 at 13:22 point

    It's not a processor, it's an FPGA. You can put whatever processor (or even multiple processors) you want on it - as long as it fits inside the FPGA's logic capacity..

    As for 'processor' (which I assume you mean CPU), fastest CPU core I have ever run on my board was F32C (MIPS/RISCV compatible):

    https://github.com/f32c/f32c

    There, you will find the speed benchmarks in the readme. At a guess, I estimate that I could possibly fit four such cores, each running @ 100MHz+ on my board and still have room for peripheral or other modules.

    Potentially even faster (VLIW) cores could also be done, in theory. However, writing a suitable c compiler backend for such a core would be challenging..

    Cheers, Valentin

      Are you sure? yes | no

    Akira wrote 10/02/2017 at 14:29 point

    Indiegogo is blocking me for using a VPN. How lame is that? Not a cool thing at all.

      Are you sure? yes | no

    Valentin Angelovski wrote 10/03/2017 at 01:49 point

    Interesting. No VPN issues here. I am not sure that it's Indiegogo doing the blocking. Seems ironic they would actively block VPN users, particularly when they're hosting several VPN-related product campaigns on their site..

      Are you sure? yes | no

    Akira wrote 10/03/2017 at 23:10 point

    Must have been a glitch. It works now!

      Are you sure? yes | no

    Valentin Angelovski wrote 10/04/2017 at 02:21 point

    @Akira Cool! :)

      Are you sure? yes | no

    Bartosz wrote 09/29/2017 at 09:03 point

    add bitcoin, etheneum mining, the campaining increase ;-)

      Are you sure? yes | no

    t.abts wrote 09/27/2017 at 06:35 point

    I think this looks perfect to built it into a keyboard to make your own little retro gaming machine. All you need is to solder two D9 connectors to the GPIO.
    One question: Since I like my Amiga as much as my C64... will there be the possibilty to switch cores easily?

      Are you sure? yes | no

    Valentin Angelovski wrote 09/27/2017 at 08:04 point

    Hello! 

    Short answer: Without an external PC connected? Yes, it is possible but not easily so..

    Longer answer: Notice a small 6-pin header on the right hand side of my Ohm board? That is for connection to an external JTAG programmer. You would need a custom 'hat' to control that header using a microcontroller and an SPI ROM with multiple FPGA config bitfiles loaded into it. Add a push button(s) to said hat to allow selection of said core and have the microcontroller on the custom hat transfer the desired bitfile directly into the configuration SRAM array of the ECP5 FPGA on the Ohm board upon power-up..

    By far the easiest method uses the one created for the Ohm by default: Using a USB cable and a host PC running the flea jtag utility ;-)

    Cheers, Valentin

    *EDIT*: Using the SD card to update the Ohm board's onboard SPI ROM is really only suitable for configuration updates, not multiple HDL bitfile selection..

      Are you sure? yes | no

    t.abts wrote 09/27/2017 at 08:17 point

    Thanks for your quick and detailed answer! I was more thinking of a simple software solution, like a menu to switch cores?
    But maybe this is a naive wish, since I don't have any deeper knowledge about FPGA...

      Are you sure? yes | no

    Valentin Angelovski wrote 09/27/2017 at 08:47 point

    @t.abts,

    "I was more thinking of a simple software solution, like a menu to switch cores?" You would still need an external microcontroller to take control of the FPGA via JTAG, regardless of whether you're using external push-buttons from an external hat, or some kind of on-screen-display menu to select your desired custom config bit-file for the FPGA. So yeah not quite so simple.

      Are you sure? yes | no

    mikolaj24 wrote 09/22/2017 at 09:22 point

    Tell my why not 4 fpga and goog adn fast magistrale?

    FPGA is for speed, more trouble is with communication core. Create a machine with 4 core to learn and programming interaction with more than one fpga.

      Are you sure? yes | no

    Valentin Angelovski wrote 09/23/2017 at 14:36 point

    Hello and thanks for your question! 

    I have given some thought to what you've described when I designed my Ohm board. Beause the USB/PS2 host ports are wired to the ECP5, may be possible (as well as a nice weekend project to try :-) to link multiple Ohm boards together via those host ports using some custom comms logic to implement whatever network topology may be possible using those two ports. Over very short distances it should be fast, certainly faster than normal UART speeds I would think..

    If that isn't fast enough, there are also twelve LVDS pairs available in the GPIO.. :-) Cheers, Valentin.

      Are you sure? yes | no

    Bartosz wrote 09/26/2017 at 12:06 point

    I thing Mikołaj sed about device similar transputer. Multiple core on one board and fast magistrale between it. (multiple fpga on one board)

    Because realy trouble is with programming/configuring more than one fpga.

      Are you sure? yes | no

    Valentin Angelovski wrote 09/26/2017 at 13:25 point

    @Bartosz,

    Sure. On the topic of adding multiple FPGA chips on one board: Technically the ECP5 (LFE5U-25) used on my Ohm board is not only faster, but also has nearly four times the logic capacity of any of my previous FPGA boards using the MachXO2-7000 device. So from that perspective one could argue that it is almost literally four FPGA chips on one board! ;-) Cheers Valentin.

      Are you sure? yes | no

    mikolaj24 wrote 10/10/2017 at 08:08 point

    No, 4 fpga and meybe normal ARM for linux. I need a faster machine and scalable

      Are you sure? yes | no

    Bartosz wrote 09/21/2017 at 15:04 point

    Epiphany is faster, and cost 99$ = linux ARM + 16 procesor + FPGA

      Are you sure? yes | no

    Valentin Angelovski wrote 09/21/2017 at 15:27 point

    Thanks for liking my project! :-)

      Are you sure? yes | no

    Bartosz wrote 09/22/2017 at 16:24 point

    are you thinking about 2 fpga and kickstarter campaining?

      Are you sure? yes | no

    Valentin Angelovski wrote 09/23/2017 at 14:38 point

    @Bartosz,

    Yes, starting with my zero-sized Ohm board. I hope to finish the Ohm campaign video in the next few days :-) Cheers Valentin.

      Are you sure? yes | no

    Blecky wrote 09/20/2017 at 01:46 point

    This is a damn beautiful project.

      Are you sure? yes | no

    Valentin Angelovski wrote 09/21/2017 at 15:34 point

    Thanks for your encouraging words. It has been a lot of fun so far :-)

      Are you sure? yes | no

    zardotagore wrote 09/19/2017 at 17:14 point

    Compliments for fantastic project, i follow your description and possibility to update with ethRJ45. Permit to suggest: i think is better more and much more USB plug. Inside USB can put inside all we need it. Happy Hacking. : )

      Are you sure? yes | no

    mikolaj24 wrote 10/10/2017 at 08:05 point

    Yes, ethernet is important for cpufarm. Many people using fpga to count ingenering or phisics projects

      Are you sure? yes | no

    Akira wrote 09/18/2017 at 13:43 point

    This is super exciting! Please let us know how to support you. Minimig ECS and C64 is all I need, really, so anything else you add is just icing on the cake :)

      Are you sure? yes | no

    Valentin Angelovski wrote 09/21/2017 at 15:46 point

    Thanks for your positive comments! Given that I had successfully ported both (admittedly the FPGA-64 port is far less refined but working as more than a proof-of-concept). My next blog update will reveal my production plans - stay tuned! :-) Valentin

      Are you sure? yes | no

    geoffmanser wrote 09/14/2017 at 19:21 point

    this is awesome can i buy one yet i cant wait to own one , what a clever brilliant idea i love it thanks for making it.

      Are you sure? yes | no

    Valentin Angelovski wrote 09/21/2017 at 15:50 point

    Thanks for yor encouraging words! My next blog update will reveal my production plans - stay tuned! :-) Valentin

      Are you sure? yes | no

    James wrote 09/07/2017 at 19:15 point

    This is brilliant...and if you can make it lower cost than the competition it will definitely sell out a production run. My suggestion would be to have at least one core fully optimized on release, with a plan (published) for more. Obviously the Amiga looks like that core but the AGA core and fast CPU should be there preferably.   Q: With 2 micro USB ports (and one for power?) one would do keyboard, one mouse but what about joystick? From GPIO or from USB hub?

      Are you sure? yes | no

    Valentin Angelovski wrote 09/09/2017 at 03:39 point

    Hello James!

    Thanks for your positive comments and suggestion. Would be inclined to agree with you around a 'killer app'. Currently I have two possible candidates ported to Ohm: 1.) Minimig ECS (which could be later upgraded to AGA and '020 w/cache) and 2.) Next186 (now with OPL3 FM + Disney sound). Also ported (and extended) for fun were old builds of FPGA64 (C64) as well as my own Sweet32 CPU powered computer..

    Regarding your question around the joystick inputs: That is what the GPIO is intended for, yes. Also, those two micro USB host ports are also designed to be PS/2 backwards compatible, allowing existing projects to run nearly unmodified on Ohm. Also cool to try would be adding USB joysticks/gamepads support for some future console project.. :-)

    Cheers, Valentin

      Are you sure? yes | no

    James wrote 09/10/2017 at 19:29 point

    AMIGA!!! (please).. and release the board soon (please). 

      Are you sure? yes | no

    Marq Watkin wrote 09/20/2017 at 06:51 point

    Do you have any more information on your Sweet32 CPU system? Sounds interesting
    Also, any more information about your "giga" version? or is that waiting until after this one?

    Regards

      Are you sure? yes | no

    Valentin Angelovski wrote 09/20/2017 at 15:16 point

    @Marq Watkin 

    Further details about my Sweet32 CPU can be found here: https://github.com/Basman74/Sweet32-CPU 

    As for my Giga project, I've decided to make a separate project page for it, time permitting (both 'Sweet32' and 'Giga' projects should have their own .io pages, really..). Cheers, Valentin.

      Are you sure? yes | no

    Marq Watkin wrote 09/20/2017 at 20:34 point

    Thanks. I'll keep my eye open for the other project pages :)

      Are you sure? yes | no

    James wrote 10/02/2017 at 16:41 point

    I'm gonna back the IG campaign... so we plug a micro USb to full USB adapter and a USB keyboard and mouse into the two micro USB ports. Where can we find specs for the GPIO pins needed for DSub9 joysticks x 2 to connect?  And more importantly... are we definitely going to get 020/AGA Amiga out of this? 

      Are you sure? yes | no

    Valentin Angelovski wrote 10/07/2017 at 00:39 point

    @James

    Apologies for the late reply. Thanks for backing my Indiegogo campaign and also for your questions!

    To clarify *exactly* what currently works on my board with respect to Minimig: 

    Minimig (as ported here) is a straight-up port of Minimig ECS with the 576p or 576i video converted to digital video (with audio) out. Minimig ECS uses PS/2 host interfaces for Keyboard and Mouse, meaning only composite USB devices (ie. peripherals that can also talk PS/2) or PS/2 devices (via an adapter) will work with Flea Ohm minimig. It implements an '020+ECS with 2MB chip and 8MB fast RAM, four virtual floppy and two HDD bays. I have run Gloom and ECS Doom successfully on this setup but both run slowly due to chunky-to-planar routine latencies and also the lack of a CPU cache..

    I will release a pinout for the Minimig-specific Joystick + serial port from the GPIO header. These will be included when I release the binary bitfiles/sources of my minimig port up on github. 

    Regarding future improvements ie. AGA: 

    There is *a lot* of work that needs to be done to get Ohm Minimig up to the level of say, MiST board capability with respect to AGA and USB keyboard / mouse support. (MiST costs what it does for some good reasons, IMHO). 

    I suppose one current strength of my Ohm board (running Minimig) is the digital video output.

    Do I think it is possible to add AGA and USB on FleaFPGA Ohm? Yes I do. Are they trivial matters to resolve? No, they are not.

    Given my time is limited (this is a hobby project, after all), my plan is to finish the user manual for FleaFPGA Ohm (which is intended as a general-purpose FPGA development platform) and then get boards into the hands of as many people as possible (including those who know the Amiga hardware a lot better than I do..). 

    Regards, Valentin

      Are you sure? yes | no

    Marcos Gennaro wrote 05/27/2017 at 05:56 point

    Hello Valentin!

    I'm glad your project is back and alive! It's amazing, thank you so much for it!

    Do you intend to sell the Ohm Board anytime soon?

    Thank you!

      Are you sure? yes | no

    Valentin Angelovski wrote 06/05/2017 at 04:39 point

    Hello Marcos!

    Thanks so much for your interest and kind words :) Do check out my latest project log - if my latest PCB revision arrives working as intended I will consider that a production-ready board :) 

    At this point, I am considering doing an immediate limited run to see if there's some real interest - will reveal more details in the next project log. Thanks again!

    Valentin

      Are you sure? yes | no

    Antti Lukats wrote 05/11/2017 at 11:08 point

    what is MK2 form ?

      Are you sure? yes | no

    Valentin Angelovski wrote 05/11/2017 at 11:19 point

    Hello Antti! 
    My 'Mk2' reference relates to the fact I moved away from a raspberry pi zero form factor (and towards something with a more readily available FPGA and also a bit more growth potential :-). 

    Cheers, Valentin.

    PS: Interesting.. thought I had registered my 'like' for your C65 project but that doesn't seem to have occured - fixed! :-D

      Are you sure? yes | no

    jonathanscottjames wrote 02/24/2017 at 23:19 point

    what's the max 8 bit input rate of the gpio on flea ohm? and where can i guy one?

      Are you sure? yes | no

    Valentin Angelovski wrote 02/28/2017 at 03:28 point

    Hello! Good question. I've not tested maximum *input* data rates via the GPIO header yet, but suspect it may be in the ballpark of 100MHz (or possibly more, need to test). This is assuming the following:

    1.) Data transfer occuring via a direct board-to-board connection, not via a ribbon cable..

    2.) Single-ended data only i.e. not using the available lvds differential signal pairs which are also available via the main header and should provide much faster data transfer rates (again, needs further testing).

    As for buying an Ohm board: Unfortunately I've had to completely redesign my board, due to non-availability of the FPGA I had previously used in my initial prototypes :-/ Feel free to check out my latest blogs about it. Cheers.

      Are you sure? yes | no

    Lars R. wrote 11/15/2016 at 11:03 point

    How much data can you squeeze out of the HDMI?

    FHD@60Hz?

    FHD@90Hz?

    ...

      Are you sure? yes | no

    Valentin Angelovski wrote 11/15/2016 at 11:20 point

    Hello Lars and thanks for your question.

    Highest screen mode I've successfully attempted with the Ohm's video output was 1080p30 (i.e. 30Hz progressive). Of course, this means that anything below that i.e. 480p, 720p, 1024x768@60Hz etc. etc. should also work as well.

    I did make an attempt to output test video at 1080p50 (50Hz). Unfortunately the image quality did not appear entirely stable, presumably due to FPGA timing limits being exceeded by a significant margin. 

      Are you sure? yes | no

    D H wrote 11/05/2016 at 11:46 point

    A great project - two usage ideas

    (a) use the board to recreate sound chips such as NES, SID or a OPL3 for distinctive sounds - attach a music keyboard to the usb or the io pins

    (b) convert the cores from the MIST project (https://github.com/mist-devel/mist-board/wiki) for a wide variety of reimplemented consoles and computers

    Two questions:

    (i) can an audio jack be attached to the io pints?

    (ii) Can it load HDL fpga cores from the sd card (for easy conversion to another project) or can it only be converted using a pc?

      Are you sure? yes | no

    Valentin Angelovski wrote 11/09/2016 at 04:23 point

    @D H

    Thanks for your interest in my Flea Ohm project. 

    Regarding your suggestions: (a) I would love to see OPL3 added to Nicolae's Next186 SoC (alas I have not yet done it myself as I only know VHDL well). Apart from Amiga and x86, I did successfully attempt a port of an old build of C64 softcore (with SID) to my Ohm board. (b) My own personal free time is rather limited however, so any outside help in this regard would be welcome.

    My answers to your questions: (i) You would need to add an RC (or LC) filter circuit between the GPIO pin and your proposed audio jack. (ii) Currently, the FPGA's config ROM can only be altered via an external PC. By PC I also potentially mean a Raspberry Pi (zero?). I *think* the flea JTAG utility app. could be recompiled for ARM but I would need to confirm that.

    While it may be theoretically possible (assuming the user's hardware design allows it) to transfer a new config ROM image to the FPGA in "background mode" from the SD card, it would be somewhat tricky and cumbersome to implement. You would also need to cycle power to the FPGA in order for it to accept the new ROM configuration. 

    Cheers, Valentin

      Are you sure? yes | no

    dobredanielstelian wrote 10/04/2016 at 19:32 point

    Hi,

    Your board looks nice.

    I want to design one myself using Xilinx FPGA. I want to use Spartan 6 xc6slx25 or some equivalent Atrix 7.

    If you have any suggestions on what i should add on it, something that maybe you forgot and you wanted to add.

    Best Regards,

    Daniel

      Are you sure? yes | no

    Fredrik.c.johnsson wrote 09/18/2016 at 22:21 point

    hello,

    Love your work and need an FleaFPGA Ohm+ for a future Amiga projekt. Amiga in a joy (like the C64 in a joy butt WAY better).

    Any ideas on what it will cost? I reeeeeealy whant one ;-) 

      Are you sure? yes | no

    Valentin Angelovski wrote 09/20/2016 at 02:02 point

    Hello Fredrik!

    Thanks for your interest in my project and question. I also like the idea of an Amiga-in-joystick, but instead I built an "Amiga-cube" ;-) Picture of my "Amiga-cube" can be found in the gallery.

    Currently focussing on Ohm (not Ohm+) board production due to the following things it has going for it:

       1.) List of working HDL projects already ported to it.

       2.) Possibility exists for a "sub-USD$40" FPGA development board (still working this one out currently. More soon).

    Cheers Valentin

      Are you sure? yes | no

    Erik Piehl wrote 08/31/2016 at 06:36 point

    Great project! A quick question on the assembly: if I understood properly you self assembled the boards, is that right? I am just wondering how you dealt with the BGA packages? I am planning to make an FPGA board, and it would be great to be able to use BGA packaged chips - but I suppose it means going to a 4 layer board... And I don't have a reflow oven...

      Are you sure? yes | no

    Lars R. wrote 08/31/2016 at 07:08 point

    4 layer is not much more than 3 layer. And this is already tough for BGA: Vias consume the space below the package on the bottom layer. Assuming the 2nd layer being GND, your 3rd layer is for at least two VCC-voltages that connect to various balls, need to be routed to the package and require decoupling. So, it is hard to have a reference plane for signals on the 4th layer (bottom), which leaves you with one good layer for signals: top layer.

      Are you sure? yes | no

    Erik Piehl wrote 08/31/2016 at 08:41 point

    Thank you for the comments! I guess I am wondering how many layers in practice would be required for a board like this - is it doable with 4 layers or you think one needs more?

      Are you sure? yes | no

    Lars R. wrote 08/31/2016 at 08:59 point

    Erik, this highly depends on how 'intelligent' the pinout of the BGA is and what you need. I don't know the ECP5. In theory, with a very good BGA pinout, it is possible to connect LPDDR... with 4 layers. However, with the ICs I used so far, it was a pain even with 6 layers. If you are also satisfied with SDRAM with a reduced pincount interface or with Hyperram, you are probably fine with 4 layers or even less. However, for both options (reduced pincount SDRAM and Hyperram), there are no Hard IPs on current FPGAs.

      Are you sure? yes | no

    Valentin Angelovski wrote 09/07/2016 at 08:26 point

    Hello Erik! You are correct in that I assembled my flea Ohm prototypes by hand, but not without difficulties associated with various things.. including placement skill. I found that accurate hand-placement of a 0.5mm pitch BGA package or type 0201 SMD capacitors requires taking into account things like hand tremors as well as one's own heart beat! Tricky stuff...

    My advice would be to go with something like 1mm ball-pitch BGA imho. In addition to the easier assembly, these are normally a much cheaper option when you factor in the PCB tooling cost as well.

    Also, Lars was fairly accurate with his reply. Anyways, best of luck with your project. 

    Cheers Valentin.

      Are you sure? yes | no

    Erik Piehl wrote 09/08/2016 at 05:50 point

    Hello Valentin, thank you for your comments! I think it is impressive that you we're able to put the boards together by hand. I guess difficulties are to be expected when dealing with those fine pitch parts. I was previously thinking that BGAs are pretty much out of the question for hand built hardware, but clearly that is not exactly the case. Anyway for my next step I will probably stick to TQFP parts, as the Xilinx part XC6SLX9 I'm planning to use is available in that package. Going to bigger parts would automatically mean going to BGA, hence the question.

    Cheers, Erik

      Are you sure? yes | no

    Similar Projects

    Does this project spark your interest?

    Become a member to follow this project and never miss any updates