Formerly my own raspi-zero style FPGA development board, my Ohm (in Mk2 form) has grown up a bit since then.. :-)
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! :-)
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!
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
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! :-)
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! ;-)
EDIT: *** 09/01/2017: This project is being considered for possible revival ;-) See Blog post titled "New year. New direction" Thanks!
**** EDIT 12/12/2016: Due to the fact I still have no ETA on availability of certain key parts (like the FPGA) for this project, I have decided to put my Ohm and Ohm+ projects on-hold indefinitely and do other things with my spare time. This includes my newly-completed Ohm+ board with DDR3 RAM. Apologies to those of you who were waiting for positive news, but I am afraid without parts I cannot do much - Valentin ****
Just a thought I'd post a quick update on my Ohm project. Last weekend, I managed to successfully assemble and test my 'pre-production ready' revision Ohm board (yay!). My initial function tests show the board is behaving largely as expected but my tests are ongoing. Following is a 'happy snap' of the final assembled board:
So far, I've successfully configured the above with Next186 (x86) and Sweet32 SoC softcores. With luck, I should be able to set aside some time to complete the functional testing on the board in the coming days. More to follow..
It's been a long while since our last project news update. Progress had unfortunately stalled due to issues ranging from component availability to non-hobby matters.. :-(
While I waited for matters beyond my control to resolve, I thought I'd have a decent crack at adding a 2nd USB host port to my Flea Ohm board. Didn't think it was possible.. but somehow I made it fit (yay! See below):
Now, I had always intended my Ohm board to be a worthy successor for my earlier FleaFPGA Classic boards. This meant some means to add a PS/2 Keyboard and mouse as desired (thus making it backwards compatible with nearly all of the existing HDL projects implemented on the older board). Not having a 2nd USB host port with PS/2 secondary capability was something of a lament for me, hence my (successful) attempt..
Now that my above-mentioned issues have now been resolved, I can now pick up where I left off two months ago.. :-)
So here's my announcement: As soon as I have confirmed the above PCB to be functional (approximately 2 weeks from now), I will begin small-scale production of my Ohm board immediately thereafter. Pre-production Ohm boards may be ordered directly from me. Price will be set at USD$33 per board. Sales of pre-production Ohm boards will be limited to a maximum of two boards per customer.
As for my Ohm+ board: I have yet to bring my Ohm+ board up to the same standard as my latest Ohm design. This is mainly due to the extensive modifications needed to include the second USB host port. Therefore I will make a separate announcement about Ohm+ at a later date.
More to follow (and soon.. :-)
Well folks, it's been a few weeks since my last post. So I am posting an overall update on my hobby project(s) now..
'Ohm' board development status: Ready for a small-scale production run!
After adding numerous fixes to the PCB artwork, I believe the resultant new revision is good enough for a pilot production run!
There are sufficient (as well as cool) HDL examples for potential users to 'kick the tires' on the 'Ohm' board, so to speak. More cool examples would be nice, but those can be added later.
Only thing left to do now is wait for a reply from component suppliers and then work out the final board pricing. Good times! :-D
'Ohm+' board development status: Board tested OK but needs a 'killer' HDL application example..
Successfully tested the 128MB LPDDR RAM on the Ohm+ prototype @ 100MHz max. using CAS=2 (yay!). However, it does not meet timing at that rate nor does the test code support burst mode transfers (yet). Tweaked ram controller HDL needs more work before it will be viable for use in system application. Another (probably better and faster) alternative would be to use Lattice's own LPDDR controller IP, but apparently that is not free..
After adding numerous fixes to the PCB artwork, this board revision is also good enough IMHO for a pilot production run! Apart from RAM, it is 100% backwards compatible with the standard 'Ohm' board (which uses 32MB low-power SDRAM instead of 128MB LPDDR).
Summary: My 'Ohm' board is now ready for a small-scale production run. My 'Ohm+' PCB artwork is also ready but needs worthy working HDL examples to make it a viable platform. Therefore I will focus on taking the 'Ohm' board on to the next level, but also see what examples could be brought to Ohm+ as well as the Ohm...
Well, that's all for now. As soon as I know how much these boards will cost to make, I will post another update (hopefully soon). Watch this space! ;-)
Before I continue on with RAM testing on the Ohm+, thought I'd do some more testing of the Ohm board's ADC and PWM capabilities.
For this test, I knocked up a 'quick and dirty' Video overlay, with the FleaFPGA Ohm providing a 256x64 bitmap overlay for a video signal from a reverse parking camera. Here is a picture of the test setup:
As you can see, there isn't really much to it! :-)
In the above pic, RCA plug into the mini 'hat' is feeding into one of Flea Ohm's ADC inputs from the reversing camera (shown left). While the other RCA connection (bottom right) is connected to a PWM output pin with overlaid video driving a TV monitor (shown in the next picture.. :-).
Anyway, here's our test result... and the result was better than expected:
Admittedly, there is some noticeable loss in image quality as I am running the ADC and PWM @ approximately 6-7 bits resolution. However, I did not believe it would work as well as it did. While I am running the ADC and PWM sample clocks at 20% above normal (effectively over-clocking the ADC), I suspect there may be room for improved performance via tweaks to the hdl - tweaks that may allow the ADC to meet the FPGA's timing requirements at the faster sample clock. Still, it is good to see what Flea Ohm's humble ADC and PWM pins could be capable of..
Well, that's it for now - back to more testing! :-)