• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Vivado prefered language?
#1
Hi all, 

I'm new to FPGA's but eager to learn the ins and outs of the Xilinx Vivado design suite for the Alchitry AU FPGA Development Board (realization of 3 custom-made shields as use-cases for a project at work). 

I'm here to seek advice what would be the best language to learn as base knowledge. I have experience in php, java, python and linux, but programming a fpga is a little different I understood Wink ?

For a good foundation is VHDL, or Verilog the best route to take as a language course to follow (next to the examples on this website) or is another language like C a better choice for me?

I work/learn best in a real (live) classroom setting, with an actual teacher, homework assignments and motivated colleague students, instead of an online course. Problem with VHDL or Verilog is that these languages are not very common, at least not in the Netherlands where I live. So to follow such a cource I can imagine an online course will be the solution.

If VHDL or Verilog is the route some of you took?? What course (url) would you advice to take? Udemy has a lot to offer, but what content is good?? I still prefer an actual real company to supply the course even if it cost lots more (if the quality is good). In the tutorial for the Alchitry boards I saw yet another language: Lucid. Is this the route to take, or am I better of doing that extra step with a more difficult language to 'master'?
Is Lucid (the language mentioned in and used in the Alchitry tuturials) the same as the dataflow programming language designed to experiment with non-von Neumann programming models??  https://en.wikipedia.org/wiki/Lucid_(pro..._language)

Hope to hear from someone. Would you go for a mainstream language like C or go straight to the point with VHDL or Verilog or Lucid?? Ps which one would be better for use with the Alchitry AU: VHDL or Verilog or Lucid??? I've heard Verilog is a little easier to understand/grasp then it's counterpart, but I'm taking your advice at heart Smile

Last question (I added/edited this part later to my message) Smile
Is it also possible to use Verilog (as your main programming language) and use iCEcube2/IceStorm as your toolchain for the Alchitry CU???
I'm not certain if the AU is a little overkill for the project I have in mind.
If I programm in Verilog and the CU turn out too 'light' my guess is it would be 'easy' to ugrade to the AU hardware... Or am I mistaken is my assumption?
For my use-case I need lots of FPGA boards (acting as motherboards), a cost of 50+% (compared to the AU) that act as the heart of the system is a lot of money to save Wink

With kind regards and thank you in advance, Jeroen Wolf
  Reply
#2
(12-08-2021, 05:58 PM)Jeroen Wrote: Hi all,

I'm new to FPGA's but eager to learn the ins and outs of the Xilinx Vivado design suite for the Alchitry AU FPGA Development Board (realization of 3 custom-made shields as use-cases for a project at work). 

I'm here to seek advice what would be the best language to learn as base knowledge. I have experience in php, java, python and linux, but programming a fpga is a little different I understood Wink ?

For a good foundation is VHDL, or Verilog the best route to take as a language course to follow (next to the examples on this website) or is another language like C a better choice for me?

I work/learn best in a real (live) classroom setting, with an actual teacher, homework assignments and motivated colleague students, instead of an online course. Problem with VHDL or Verilog is that these languages are not very common, at least not in the Netherlands where I live. So to follow such a cource I can imagine an online course will be the solution.

If VHDL or Verilog is the route some of you took?? What course (url) would you advice to take? Udemy has a lot to offer, but what content is good?? I still prefer an actual real company to supply the course even if it cost lots more (if the quality is good). In the tutorial for the Alchitry boards I saw yet another language: Lucid. Is this the route to take, or am I better of doing that extra step with a more difficult language to 'master'?
Is Lucid (the language mentioned in and used in the Alchitry tuturials) the same as the dataflow programming language designed to experiment with non-von Neumann programming models??  https://en.wikipedia.org/wiki/Lucid_(pro..._language)

Hope to hear from someone. Would you go for a mainstream language like C or go straight to the point with VHDL or Verilog or Lucid?? Ps which one would be better for use with the Alchitry AU: VHDL or Verilog or Lucid??? I've heard Verilog is a little easier to understand/grasp then it's counterpart, but I'm taking your advice at heart Smile

Last question (I added/edited this part later to my message) Smile
Is it also possible to use Verilog (as your main programming language) and use iCEcube2/IceStorm as your toolchain for the Alchitry CU???
I'm not certain if the AU is a little overkill for the project I have in mind.
If I programm in Verilog and the CU turn out too 'light' my guess is it would be 'easy'  to ugrade to the AU hardware... Or am I mistaken is my assumption?
For my use-case I need lots of FPGA boards (acting as motherboards), a cost of 50+% (compared to the AU) that act as the heart of the system is a lot of money to save Wink

With kind regards and thank you in advance, Jeroen Wolf

Hi Jeroen!

I started with Lucid and then moved onto Verilog by going through these examples on HDLBits (https://hdlbits.01xz.net/wiki/Main_Page)....really good for going through the basics and principles of good design etc. For the most part, Verilog does more with less code than VHDL, but I've found that it can produce some subtle bugs which can be a nightmare to find as it is less verbose! I found that Lucid was another great starting point with the tutorials on Alchitry's website (I did these before HDLBits) as it covers lots of basic concepts really well (Lucid isn't the same as the one you've linked). It's also fairly painless to go from Lucid to Verilog (Lucid is compiled into Verilog before it is synthesised). I found that the hardest thing was to get out of a software mindset into visualising what you are building as physical hardware; after that the design process becomes a lot more intuitive.

I've been using the Au with Vivado which has been fantastic; I've not used the Cu but I'm sure both will work for your project! What are you using the separate motherboards for? The Au scales well for larger projects and has lots of IO; there might be scope for you to combine them into one FPGA?

Hope this helps! Fred
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)