
PicoEVB – Artix-7 FPGA board with M.2 interface - bem94
https://picoevb.com/
======
rwmj
Please let's kill off Vivado once and for all. Awful, massive, unintuitive
proprietary software.

There are open source tools for programming FPGAs, and they are really great
too: [https://rwmj.wordpress.com/2018/03/17/playing-with-
picorv32-...](https://rwmj.wordpress.com/2018/03/17/playing-with-picorv32-on-
the-ice40-hx8k-fpga-breakout-board-part-1/)

The Virtex 7 series has been reverse engineered, but we're not quite in the
situation where you can use the open source tools yet:
[https://github.com/SymbiFlow/prjxray](https://github.com/SymbiFlow/prjxray)

~~~
TomVDB
I hate to rain on the open source FPGA parade, but I do a lot of hobby FPGA
stuff using both closed (Quartus, ISE) and open (yosys, arachne) source, and
when I have the choice, I go closed source every time I have the chance.

It’s not the the open source doesn’t work, it usually does, and the small size
of it is really nice, it’s that it doesn’t come close in terms of debugging
functionality when things go wrong.

My current workflow is to always develop using Quartus first, and only when
things work perfectly I move it over to ICE40.

But even then I sometimes have an identical mid sized RTL design that works
perfectly on my small Altera and Xilinx boards, and it just doesn’t work on my
ICE40 board.

How do I debug this?

There is no easy signaltap or chipscope route. I just have to guess and hope
for the best.

Unfortunately, what also doesn’t help is that all those cheaper Lattice FPGAs
are woefully outdated. And their newer ones aren’t supported by open source
tools yet.

I hope things improve fast, but for now, I’d advise hobbyists who are getting
their toes in the water to use closed sourced tools.

~~~
rwmj
> How do I debug this?

We (or more likely, Clifford Wolf) writes the code to do it. Maybe not today,
but proprietary software wasn't replaced by open source software in a day.

I'm not saying that yosys is a replacement for Vivado, it's obviously not, but
here we have a nice Artix-based board and with not too much effort we could
also offer a completely free, easy to use toolchain for it, perhaps not one
which does everything, but definitely enough to download designs, compile a
bitstream and program it onto the board.

Instead we have this huge barrier to entry - download 40GB [sic] of
proprietary crap and register for a time-limited account which is tied to the
particular chip you're using.

~~~
adwn
> _I 'm not saying that yosys is a replacement for Vivado_

Actually, you kinda did:

>>> _Please let 's kill off Vivado once and for all. [...] There are open
source tools for programming FPGAs, and they are really great too:
[https://rwmj.wordpress.com/2018/03/17/playing-with-
picorv32-...](https://rwmj.wordpress.com/2018/03/17/playing-with-
picorv32-...*)

------
peterburkimsher
I have a Virtex-II on a dev board that's the size of a desktop PC's
motherboard. I found it in the trash several years ago, and couldn't let it go
to waste! I didn't want to buy a programmer for it, so I decided to use
guzuntyPi instead.

I'm familiar with how FPGAs work, and I did a project writing Verilog and
using Xilinx chips to make a basic CPU while at university. I still think the
technology is really cool.

The problem is, after 4 years, I still haven't found a good use for my Virtex-
II dev board. I'll give it away for free to anyone in Taiwan, or if you pay
shipping to elsewhere. You could also try to suggest fun projects (e.g. I
really want HDMI input to my laptop), but the physical size of the board is
just too cumbersome for my itinerant needs.

------
FPGAhacker
Nice. Adding this to my watch list. Another project I've been looking into is
the snickerdoodle.

[https://www.crowdsupply.com/krtkl/snickerdoodle](https://www.crowdsupply.com/krtkl/snickerdoodle)

~~~
aseipp
It's been taking quite a long time to deliver many of the parts,
unfortunately. I was watching it for a time but a lot of newer boards seem to
be coming out and at this point unless you need the extended addons, you may
be able to get more for less.

The snickerdoodle is probably better if you want to do _a lot_ of electronic
breakout. Otherwise, for straight FPGA work, at this rate, the new Avnet
Ultra96 simply looks like a superior base platform in most respects, and will
be shipping in volume quite soon.

~~~
mng2
The Snickerdoodle got a lot of attention for its price point (which turned out
to be unrealistically low... I commend them for following through though).
It's an odd platform. They were going for an ecosystem of carrier boards, but
ended up with 0.050" pitch connectors. Which are good if you've got flying
leads, but I can't see myself using a Zynq for that kind of work. The mating
connectors are ~$7 in small quantities which is comparable to the smaller,
tighter pitch connectors other dev boards use, so there isn't really a cost
savings if you build your own plug-in boards. It might even cost more for wide
I/O in terms of connectors and board space.

You're right that technology has continued to march along. $250 for a Zynq
Ultrascale is very tempting, but I have enough dev boards collecting dust...

------
phendrenad2
This is by far the cheapest board to test out a PCIe FPGA design BTW. It’s so
much cheaper than other PCIe boards it’s worth it to buy a used laptop on ebay
with M.2 and you’d still save money :o

------
zamadatix
With how often laptops have a single wireless m.2 slot (always?) I've always
thought it odd they chose that as the m.2 slot to use.

~~~
friendlydude12
Agreed, why not attach it to the internal USB bus? Maybe it’s a sourcing /
business deal thing. I’m theorizing most laptop manufacturers have made a deal
with m.2 pcie wifi producers and not the usb WiFi producers.

~~~
duskwuff
> Agreed, why not attach it to the internal USB bus?

The FPGA has a PCIe endpoint peripheral. Making that available opens up a lot
of possibilities.

------
djsumdog
I feel like this would be better suited to those with NUCs or other small PC
dev workstations, rather than laptops. Otherwise, wouldn't you have IO cables
hanging out of your lappy?

~~~
ktpsns
The digital I/O allows to implement custom wireless signaling (SDR). To avoid
crappy cables hanging out of the notebook, what about a custom jack connector
as a frontend shield? ;)

------
VectorLock
How useful would this be for a total beginner who wants to start messing
around with and learning FPGAs? Looks super skookum.

~~~
microcolonel
It would be pretty great, but I've actually never been able to get Vivado to
work, despite having a license for the given board, I activate it and install
everything, and sometimes it seems like it activates for some other system in
the family instead of what I have, and I'm left with the cutest little silicon
brick.

I got a couple iCE40 boards and fired up yosys/icestorm (never touched the
[more feature complete, I'm sure] proprietary toolchain for these), instant
satisfaction, and I was able to do exactly what I wanted (and on any host CPU
architecture or operating system I wanted). The only limitations were a lack
of big IO, rather small memory, limited system size.

Frankly I think Lattice should just hire a couple people endorsed by Clifford
Wolf (since I know Clifford is a very busy dude) to package up his brilliant
toolchain with a bow, fill in the desired analytical features, and ship it as
the official iCE40 toolchain. Maybe they could try to get something similar
going for their larger FPGAs (which are unrelated to the iCE40, which they got
as part of an acquisition) as well.

~~~
VectorLock
Do they make any iCE40 boards like the PicoEVB? I wouldn't mind something that
didn't sit inside an M.2 slot inside a laptop for my tinkering, but I do think
it is an intriguing form factor. I know zero about any of these toolchains.

------
merinowool
Would it be fast enough for mining?

------
baybal2
>Artix-7

Prepare to have fun with setting up drivers for it on Linux.

Oh yeah, Artix 7 is not programmable by anything other than vevado...

~~~
slededit
Vivado actually works a bit better on Linux than windows FWIW

