I have not much FPGA experience, but a decent amount of microcontroller, board design, math, and silicon design in my background (I'm a physicist by training).
How can I most efficiently get to the point where I can become competent with the Vivado/Vitus flow? Thanks in advance for any pointers.
I often have found (from other learning experiences) that a good way for me to proceed is to understand the basic concepts, implement/follow an example, and then grow from there with reference documentation to support new functions/features and help with the understanding and fixing of bugs.
I'm finding this unusually difficult with the Xilinx/AMD infrastructure, even though I've bought both a Zedboard and an Arty A7, and spent quite a bit of time on the endeavor. I have successfully implemented some designs (microblaze, small code examples, etc) but I am often running into frustration where I sometime am questioning whether the tools are at fault. Here's what I have found.
1. Examples, though appreciated, do not generally have much explanation of the "why" something is done, and how one might be expected to know that this particular IP block might benefit from this particular tweak, for example.
2. The infrastructure is large, and tends to change. Examples and explanations become stale and broken rather quickly it seems. For example, the UI in Vitis 2023 is completely different. Maybe it's "better" by some metric, but it brings another significant barrier/overhead to a learning process.
3. So far, I don't find the Documentation Navigator to be very helpful and a lot of the documentation is quite "Microsofty". "to Spiffle a Splurge, select Spliffle->Splurge". Okaaay, but an explanation like that doesn't add much value.
For example, I just looked at "Zync-7000 SoC: Embedded Design Tutorial" which has the subheading "A Hands-On Guide to Effective System Design". Sounds good! It turns out to just be a one-pager saying that the tutorial is available on GitHub, and then gives a broken link...
So, I guess, I'm looking for a good book or set of explanatory articles, or even videos I suppose. I don't really want to go to formal training because, at this stage, it's hard to justify the time and I feel I ought to be able to make better progress on my own.
As they say "Build a man a fire, and he'll be warm for an evening. Set a man on fire, and he'll be warm for the rest of his life". I want to get to the point where I can debug my own problems more effectively.
Question
DougM
Hello,
I have not much FPGA experience, but a decent amount of microcontroller, board design, math, and silicon design in my background (I'm a physicist by training).
How can I most efficiently get to the point where I can become competent with the Vivado/Vitus flow? Thanks in advance for any pointers.
I often have found (from other learning experiences) that a good way for me to proceed is to understand the basic concepts, implement/follow an example, and then grow from there with reference documentation to support new functions/features and help with the understanding and fixing of bugs.
I'm finding this unusually difficult with the Xilinx/AMD infrastructure, even though I've bought both a Zedboard and an Arty A7, and spent quite a bit of time on the endeavor. I have successfully implemented some designs (microblaze, small code examples, etc) but I am often running into frustration where I sometime am questioning whether the tools are at fault. Here's what I have found.
1. Examples, though appreciated, do not generally have much explanation of the "why" something is done, and how one might be expected to know that this particular IP block might benefit from this particular tweak, for example.
2. The infrastructure is large, and tends to change. Examples and explanations become stale and broken rather quickly it seems. For example, the UI in Vitis 2023 is completely different. Maybe it's "better" by some metric, but it brings another significant barrier/overhead to a learning process.
3. So far, I don't find the Documentation Navigator to be very helpful and a lot of the documentation is quite "Microsofty". "to Spiffle a Splurge, select Spliffle->Splurge". Okaaay, but an explanation like that doesn't add much value.
For example, I just looked at "Zync-7000 SoC: Embedded Design Tutorial" which has the subheading "A Hands-On Guide to Effective System Design". Sounds good! It turns out to just be a one-pager saying that the tutorial is available on GitHub, and then gives a broken link...
So, I guess, I'm looking for a good book or set of explanatory articles, or even videos I suppose. I don't really want to go to formal training because, at this stage, it's hard to justify the time and I feel I ought to be able to make better progress on my own.
As they say "Build a man a fire, and he'll be warm for an evening. Set a man on fire, and he'll be warm for the rest of his life". I want to get to the point where I can debug my own problems more effectively.
Thanks
Doug
Link to comment
Share on other sites
10 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now