Thank you sir for this. I have had some experience writing HDL code and running it on FPGAs. Looking at the design process in the industry, through avenues like KZitem and LinkedIn, a lot of designs do incorporate HDL design but also block/IP design on schematics. Here is where I get lost. I have a basic understanding of computer hardware architecture but seeing how people design using IP, whether vendor or custom, looks quite advanced and frankly unknown to me. They mostly focus on how to use the software to design eg "click here to access this IP" or "click here to assign addresses", but never an explanation of "why we connect this signal among these blocks for this specific design" or "why this block is needed for this design". This information is contained in the vendor IP catalog manuals and I have looked at Altera's manual where they detail their IP, interfaces logic and timing associated with each. I however still can't say that "for this project I need this block/IP in the memory design part and this is how to configure it" Perhaps I am not as analytical as is required, or not as knowledgeable in computer architecture as I thought or haven't done enough embedded design to understand something like "DMA is used to bypass control unit for data transfer but we require a controller for it or maybe a bridge of some sort". Is there an advanced hardware architecture course/book to familiarize myself with this, something that I would engage in or read and for example come out knowing that "we connect the CPU and memory controller using this logic circuit because of this reason" after detailing the connections required between CPU and memory?
@adaptivedesign8795
2 күн бұрын
Hi Martin, We all went trough the same frustrations over time, learning how to use FPGAs efficiently requires a lot of prior knowledge on more than one subject. I'll take them in turn. The usage of existing IP makes sense in some case when the problem is too complex to solve quick and the time budget is limited. Just because you know how to code a simple uart of slave i2c doesn't mean you should code one when is available for free in the tools. Or if you want to see some signals in the frequency domain you don't write your own FFT when available for free. These choices are different when you want to learn and spend time coding to push yourself to the next level. Both choices are right (to use or not use IP) in the right context. Second one about what the IP does and how is connected and when needed (DMA example) has more to do about understanding computer's architectures (many books out there) and is decoupled from FPGA design. I assume you are younger than me, for us it was a bit easier because we learned these things gradually (as they came along) in the right order, with the right timing, younger generations needs to find the right order or to learn and progress with all these subjects concurrently in small steps. This process requires time, patience and discipline. I hope I answer your question(s)
@martinnjoroge6006
Күн бұрын
@@adaptivedesign8795 That last point is where I might find my solution. How to follow that order, which is why my main concern is I have found little to no resources that go deeply into these topics. The advanced architecture resources tend to really hang on the software side of things so there's lots of assembly and algorithms whereas I have little knowledge of how the clocks for all those IPs is actually implemented and controlled in hardware. It seems like someone might have to go into Digital VLSI for ASICs first to understand how all those logic blocks in an ASIC or GPU are interfaced. My issue is if such resources exist and my assumption is that for someone who designs with FPGAs regularly, is there some reference material that would be recommended which informs on how building a computing system should be, detailing important aspects like clocks, resets, buffering etc
@martinnjoroge6006
Күн бұрын
@@adaptivedesign8795 Are there specific resources, books, courses, that you would point to to "Walk the same path you did"?
@behnammadadnia3410
Күн бұрын
Would you please introduce a reference course or book for beginners to learn verilog and vivado?
@xybersurfer
11 ай бұрын
nice video. i appreciate how you put everything together. i'm more busy with programming right now, but i might take a closer look at FPGAs in the future. they are really interesting machines. thanks
@adaptivedesign8795
11 ай бұрын
I'm glad you like it! Have fun with your programming
@powerHungryMOSFET
4 ай бұрын
Sir, how can i get a job if companies asking 4,5 years of experience? Do i need to make projects ? I dont have work experience
@adaptivedesign8795
4 ай бұрын
Making your own projects (not replicating) is always the best way to learn. Work somewhere else (not necessarily in a FPGA position) ideally digital, and keep building expertise. Another way is to be franc with the employer and tell them you don't have 4,5 years you have only X but you are willing to learn, you never know maybe they have a junior position they never advertised. Good luck!
@powerHungryMOSFET
4 ай бұрын
@@adaptivedesign8795 thanks for the reply. I live in the U.S. and over here very few jobs avaialble in the electronics/hardware field. I have 5+ years of expereince working in the software development field, worked on Object orirented programming. I belive I can transfer my coding skills and other skills like Git, Agile methodology, Bug fixing etc.? If I have projects like SPI,I2C, VGA, Ethernet , will company consider it as experience? I can explain it in the interview. Thanks
@coding_vlsi_vietnam
7 ай бұрын
Learning vlsi is easy but master is very hard.
@adaptivedesign8795
6 ай бұрын
if it was easy the world would full of experts.
@akkarawat
11 ай бұрын
I like this video for beginner like me. but I have some question I use software Mvtech Halcon . and can export to C Language . I would like to know can use with Xilinx FPGA ? I ever found some video but long time talk can use mvtech halcon can use with Xilinx FPGA. if you know how to do it . please share experience. Thank you
@adaptivedesign8795
11 ай бұрын
Mvtech Halcon seems to be some machine Vision software library (from what I can tell by browsing the internet) it would be a bad idea to export that top C and then attempt an FPGA implementation directly from C (a lot of ropes and pulleys for a suboptimal result) - for machine vision application you can find many blocks already written for OpenCV standard which might be the way to go I think.
@akkarawat
11 ай бұрын
@@adaptivedesign8795 Do you have video write OpenCV with Xilinx FPGA Basic or Beginner ? and I found this video I think use Mvtech Halcon with Xilinx FPGA but I don't know how to do it kzitem.info/news/bejne/o6ebuKNvn6WWf44
Пікірлер: 16