4 ms·
I am working right now on bare metal websockets implementation on Xilinx Series 7 FPGAs. Currently it’s ZynQ SoC, but final product will probably have Kintex 7
by lnsru 6y ago
I am working right now on bare metal websockets implementation on Xilinx Series 7 FPGAs. Currently it’s ZynQ SoC, but final product will probably have Kintex 7 inside, so no Linux. The tools make me cry, no examples, application notes from 2014 with ancient libraries. I hope, vendors will fix tooling. But I see, Xilinx has released Vitis, so their scope is elsewhere, no interest in old crap. Using Git with Vivado is already enough pain. So I keep my text sources in Git and complete zipped projects as releases. Ouch!
- tails4e 6y agoI posted this elsewhere, there are a lot of good resources and examples for the tools: https://github.com/xupgit/FPGA-Design-Flow-using-Vivado/tree/master/slides https://github.com/xupgit/FPGA-Design-Flow-using-Vivado/tree... https://www.xilinx.com/support/university.html https://www.xilinx.com/support/university.html https://www.xilinx.com/video/hardware/getting-started-with-the-vivado-ide.html https://www.xilinx.com/video/hardware/getting-started-with-t... There are others thst cover the SDK side of things, but the HW side/Vivado is well documented.
- mindentropy 6y agoHave you looked at open source solutions? Tim Ansell is managing some great projects on open source solutions. Check out Symbiflow, LiteX, Yosys etc.
- lnsru 6y agoAre these mature already? It took some time for KiCad to get to current usable state and I don’t want to be early adopter. In fact, I want to have my private hardware MVP next year with current tools. On the other hand I can’t imagine my slacker colleagues using anything else than Vivado. Learning Vivado for them was already mission impossible.
- IshKebab 6y agoI wouldn't say KiCad is usable yet. I've made multiple attempts to use it and it just is fundamentally user hostile. Unfortunately the devs see any attempt to improve user friendliness as "dumbing down". Fortunately there is (finally!) an open source PCB design program that doesn't suck: Horizon EDA. I've only made one PCB with it but honestly it was pretty great and the author fixed every usability bug I reported in a matter of hours, which is an insane difference from KiCad's "you're holding it wrong". The only think I don't like about it is it has an unnecessarily powerful and confusing component system (there are modules, entities, gates, etc.). But really it is the best by far. Anyway, on FPGAs, I think the tools are only vaguely mature for iCE40 and even then you basically need to already be an expert unfortunately.
- amock 6y agoWhat have you found wrong with KiCad? I've only recently starting designing PCBs and I started with KiCad, but I've found it to be very easy to use after watching one video of someone going through a simple board design.
- IshKebab 6y agoSo many things. It was a few years ago that I tried so I don't remember the specifics but it's just generally very unintuitive and makes questionable UI choices. E.g. when you move a component in the schematic the wires don't stay attached to it. I didn't need a video to figure out how to use Horizon.
- GeorgeTirebiter 6y agoHave you tried LibrePCB? https://librepcb.org/ https://librepcb.org/
- IshKebab 6y agoI actually haven't yet - that does look quite good! Will definitely check it out next time I do a PCB.
- lnsru 6y ago
- mindentropy 6y agoIt is still in dev but I think it is way more usable than the Xilinx tools I guess. I am curious to know if you are using Qemu by any chance to prototype your hardware. I am doing some work on Qemu to make prototyping easier of a custom hardware and would love the pain points.
- beefok 6y agoI feel you completely. The Vivado IDE/toolchain is absolutely atrocious and the designers should be shamed for the horrifying bloatware they push as the STANDARD. Sometimes I have better luck doing everything in tcl/commandline there.
- tails4e 6y agoVivado is amazing compared with the ASIC counterparts: Design compiler is for RTL synthesis only and you need years of experience to get any decent qor out of it. In ASIC land you have separate tools for every step, synthesis, STAs, PnR, simulation, floor planning, power analysis, etc. Vivado does all that in one seamless tool, and allows you to cross probe from a routed net right back to the RTL code it came from. Try doing that with ASIC tools. So to me it's a matter of perspective, once you understand how difficult the problem of hardware design is to solve, and what some of the existing de facto industry standard tools are like (for ASIC), you come to appreciate vivado for just how well it brings all of these complex facets together. Of course if you come from a SW background you make think vivado is terrible compared to VScode or some other IDE, but that's an unfair comparison. I guess to reframe the question - show me a hardware design environment that is better than Vivado. Also, I separate vivado fron the Xilixn SDK, as they are different tools, and Vivado is expclitly got the HW parts of the design
- jlokier 6y agoI added one small Verilog file to a Vivado project. It froze the IDE for 45 minutes before I could do anything else. This was on a beefy machine at AWS too, not some cheap home desktop thing. That wasn't compiling, no synthesis, P&R, nothing. There was no giant netlist I'd been working on either. Most of the FPGA was empty. That was literally just adding a small source file which the IDE auto-indexed so you could browse the contents. In Verilator, an open source Verilog simulator, that same source file loaded, completed its simulation and checked test results in less than a second. So it wasn't that hard to compile and expand its contents. Vivado is excellent for some things. But the excellence is not uniform unfortunately. On that project, I had to do most of the Verilog development outside Vivado because it was vastly faster outside Only importing modules when they were pretty much ready to use and behaviorally validated.