Example Interview Questions for a job in FPGA, VHDL, Verilog

Поділитися
Вставка
  • Опубліковано 24 лис 2024

КОМЕНТАРІ • 186

  • @jordanhardy3719
    @jordanhardy3719 4 роки тому +180

    Thanks Doug Demuro of Embedded Systems

  • @muhammadkhan8949
    @muhammadkhan8949 3 місяці тому +8

    They literally asked questions straight from here and I got the internship position. Thank you so much!

  • @joer7151
    @joer7151 5 років тому +45

    80% of the questions we covered in the last month and a half (sophomore year) in EE! Thanks for giving us the insight on what to look for and to keep on the tip of the tongue

  • @turkishjedi2195
    @turkishjedi2195 3 роки тому +12

    Using this to study for an RTL design internship interview in 2 days. Ever since I started watching your videos 5 months ago, I've fallen in love with FPGA design. Thanks for all you have done for me!

  • @varunnagpal2258
    @varunnagpal2258 5 років тому +116

    This is really nice. Good questions and I learned new things today.
    But At 7:50. Are you sure DRAM is faster than SRAM ?
    1. SRAM uses multiple CMOS transistors to store a bit(typically 6-8 CMOS FET's) while DRAM is made up uses single transistor plus a capacitor. So memory cell of SRAM occupies more area than memory cell of DRAM. DRAM is thus more dense and can fit more memory bits in same areas as SRAM cell.
    2. However, DRAM needs to periodically refresh (hence dynamic and not continuous power supply) the charge on the capacitors of its memory cell which tends to leak with time while SRAM cells remember their logic due to cross-coupling(feedback) and continuous power supply from VDD/VSS power rails (which makes it power hungry).
    3. Data can be read from SRAM at lower latency (order or more) and higher bandwidth (several orders) compared to DRAM. So SRAMs are faster than DRAM.
    4. SRAM is used for very small (KB to few MB) fast on-chip L1/L2/L3 instruction and data caches on cpu's/gpus or or scratch pad memory in embedded socs while DRAM (GBs to TB) is used off chip to store high amounts of data.
    5. SRAM per bit is more expensive in terms of area, power, and money compared to DRAM so SRAM is only used in small sizes (on chip or off chip) and to store data whose access time is critical to speed.DRAM us used when higher capacity is needed but speed of access is not important.

    • @Nandland
      @Nandland  5 років тому +18

      Thanks for this! Your answer is much more complete!

    • @imadbachiri2204
      @imadbachiri2204 5 років тому +22

      SRAM is much faster than DRAM

    • @duymanhnguyen8302
      @duymanhnguyen8302 2 роки тому +4

      it is nice bro, in architecture system, SRAM is also called "Cache". And Cache is quickest memory in architecture system. It used to optimize the execution time of processor. Then, it is the best way to make processor runs faster.

    • @varunnagpal2258
      @varunnagpal2258 2 роки тому +2

      @@duymanhnguyen8302 The quickest memory is the registers and latches in CPU. Cache built from SRAM is second fastest

    • @jemert96
      @jemert96 2 роки тому +1

      @@duymanhnguyen8302 generally, you're correct, but you're confusing function and implementation. Cache is a type of memory (function), while SRAM is a technology (implementation). You could just as well implement a cache using DRAM or some other memory technology. The speed also depends on the size of the memory of course!

  • @pfrankis
    @pfrankis 5 років тому +66

    I was always taught that the difference between Moore and Mealy was not about what state to go to next but more about the outputs at each state. In Mealy, the outputs are dependent on the current state and the inputs, but in Moore the outputs are only dependent on the current state only.

    • @rays14ful
      @rays14ful 4 роки тому +2

      Peter Francis that’s how I remember it. In Moore the state decides output, in Mealy state and inputbdecides the output.

    • @science_electronique
      @science_electronique 3 роки тому

      Yes I started learning this month

    • @4explore
      @4explore 3 роки тому +1

      you're right

    • @philipabbey1
      @philipabbey1 3 роки тому +1

      And "Mealy" is not spelled "melee". This erroneous answer seems to have caught out candidates I have interviewed, so Nandland really need to get this changed. Start with the answer the Nandland web page as its easier to fix text. But please get "model answers" right!

    • @MisnomeredHandle
      @MisnomeredHandle 2 роки тому +2

      The way I have remembered Mealy and Moore machines is that the Mealy machine will typically require less states to implement. The input and output are shown next to each other during the transitioning state. Because the output depends on input and present state, the output will see perturbations from the input. This means we must register the output into another DFF to stabilize that output. The introduction of another DFF will cause a 1-cycle delay, but you will at least be stable.
      The Moore machine, if I am not mistaken, will have "moore" states typically, but its output will always be stable because its output is only dependent on its current/present state. I hope this helps!

  • @diamoncoat225
    @diamoncoat225 3 роки тому +3

    I think that
    SRAM is faster than DRAM, and both flip flop and latch can have clock, the difference between them is that the output flip flop happens when the clock is going up or going down, meaning in the transition from up to down or from down to up ( 0 to 1 or 1 to 0 ) however in latch the output happens when the clock is up or down depending on the design of the latch

  • @matthewllarena148
    @matthewllarena148 4 роки тому +25

    "Pretend like you're interviewing with me for your job, pause the video, give your answer to me. I'm not going to hear it obviously, we're not there yet with the internet but.. maybe some day". Haha, looks like we're at that day

  • @krunch3696
    @krunch3696 4 роки тому +36

    I graduated recently and decided I wanted to work with fpgas after some experience with them during an internship, just after applying for a graduate role I watched this video and used your site to prepare for the interview and I'm happy to say it paid off and I got the job! Thank you very much for helping me achieve my goal of becoming an fpga engineer

    • @akeemlouigarde4946
      @akeemlouigarde4946 3 роки тому +2

      how is the job going now?

    • @krunch3696
      @krunch3696 2 роки тому +3

      @@akeemlouigarde4946 sorry for replying 10 months after the fact 😅 I'm still with the company and I've had a promotion, it's been an extremely satisfying job and I can easily see myself working with fpgas for the rest of my career

    • @uhmody5796
      @uhmody5796 2 роки тому +1

      @@krunch3696 Hey! May I ask, what were projects or things that allowed you to land the internship in the first place?

  • @kdjohnson321
    @kdjohnson321 5 років тому +32

    Appreciate the video. I had an interview for digital design (with spacex) even though I'm a computer engineer. The questions that got me are the following:
    how do do know cdc data is ready when using dpram?
    explain some timing constraint experience
    how familiar are you with making build scripts (in vivado, libero, quartus, etc.)
    explain a fpga design you have been the lead of (schematic, worst case analysis, timing analysis, embedded c, etc.)
    just wanted to give you an idea of what I see in the modern workspace. I always send co-ops to your videos. keep up the good work!

    • @russellmerrick9761
      @russellmerrick9761 5 років тому +3

      Cool! I'm surprised that as a comp eng they were asking you these types of questions, unless you were applying for an FPGA job?

    • @kdjohnson321
      @kdjohnson321 5 років тому +1

      It was specifically for a firmware engineer position. At my job there are a good mix of people that are senior level digital design engineers that can do engineer 1/engineer 2 level skill set C programming work and vice versa for software engineers doing VHDL. VHDL modules like discrete io control, SPI, I2C, etc. may be given to a software engineer like me who knows VHDL from school if staffing resource constraints are an issue. It's usually the timing closure, top level architecture design, etc. that would be out of the SW engineer's skill set.

    • @jemert96
      @jemert96 2 роки тому

      @@kdjohnson321 I'm also a CE graduate interviewing for RTL/Digital Design, so it's not that strange! I also think basic programming skills should be expected even if your job is to design hardware

  • @FPGAPS
    @FPGAPS Місяць тому

    Thank you for your great video! we have different job positions regarding FPGAs like: RTL designer, FPGA specialist, Embedded DSP designer. Each one can have different questions ❣

  • @jemert96
    @jemert96 2 роки тому +2

    These videos (and also your site) are extremely helpful. Just had several RTL design interviews the past week and they asked similar questions, so thanks so much man!

  • @duanhaoming9279
    @duanhaoming9279 3 роки тому +2

    I think the answer for the difference of latch and ff is ff is triggered by edges of signals, and latch is triggered by signals.

  • @fabulous_peanut
    @fabulous_peanut 4 роки тому +3

    Starts at 5:36 basically, great video

  • @deshawncervi9354
    @deshawncervi9354 2 роки тому +1

    I knew most of the answers to these, but I always flop on interviews because I get tripped up on terminology. This video has been extremely helpful in giving concise answers for an interview format. Thank you!

  • @brockfg
    @brockfg 5 років тому +3

    been listening to this vid on repeat all morning before my phone interview. thanks nand man

    • @TF-km2ls
      @TF-km2ls 4 роки тому

      How did it go

    • @brockfg
      @brockfg 4 роки тому +1

      @@TF-km2ls Lol they were doing everything in high level synthesis and the questions revolving HLS and hardware abstraction caught me off guard. so it didnt go well. I dont blame this video tho, its my fault for putting all my eggs into RTL concepts

    • @kedharguhan
      @kedharguhan 3 роки тому

      @@brockfg tell us more

  • @vishal4502
    @vishal4502 4 роки тому +1

    I got the job as a design verification engineer in the VLSI domain. Thanks to Nandland your video helped me to crack it.

    • @VinaySingh-mn6bq
      @VinaySingh-mn6bq 2 роки тому

      Can you give some suggestions to me for design verification ? How can i get a job in verification design .and i am an ECE students doing btech .

  • @eveHabanaro
    @eveHabanaro 3 роки тому +3

    I think the questions are reasonable, some answers are fine, but not all. Some answers are wrong enough to give you a bad outcome in an interview. Here are some corrections:
    q3: diff flop latch
    A better answer is the difference has to do with how the output gets updated. When a latch is open it is 'transparent.' Changes on the input D show up on the output Q (after some tprop). In a flop the output does not change until the flop is clocked. So changes on the input before the clock are not visible on Q. When a latch closes D will no longer effect Q, until the latch opens again.
    q4 choose an fpga
    FPGA's are _always_ slower and bigger than an equivalent std. cell design. It is fundamental to how FPGAs provide the re-programmable feature. E.g. a 14nm FPGA will achieve ~+500MHz in logic/processors, a 14nm std. cell design will achieve ~++2GHz, all other things being equal. This is because FPGAs implement some logic indirectly (luts, muxes, etc.) while std. cell designs implement logic directly (nand, nor, etc). This speed difference is the reason FPGAs have to provide hardened DSP blocks and the like to mitigate the performance degradation.
    The main points are: ASIC/std cell's are costly to manufacture, can not be changed without re-manufacture while FPGAs have a better cost model, can be iteratively designed and can be modified even in the field.
    i/o has nothing to do with fpga vs std. cell.
    high mem b/w requirements have nothing to do with fpga vs std cell
    tons of math operations, these are always as fast or faster, smaller, less power in a std cell design
    all the applications you mention are easier to implement in a std cell design than FPGA.
    q6 diff between sram dram
    You should skip this answer completely and go find your own. If you gave me this answer it tells me the candidate does not understand the difference.
    There is a difference between access time and bandwidth. DRAM is not faster than SRAM, do you see any cache tags or TLB's built from DRAM? Nope, all SRAM. All things being equal SRAM has more available bandwidth than DRAM due to refresh overhead and due to the row activation, column activation semantic required by the multiplexed address pins of DRAM.
    DRAM bit cells are fundamentally smaller (3 or 4T cells) than an SRAM bit cell (6 or 7T cells). That is why you need to refresh DRAM, it's charge will degrade, not SRAM. 3/4T makes DRAM great for bulk RAM.
    q9 what is meta-stability
    Again, good question but go find another source for the answer, using this answer will not help you.
    Anytime you violate the setup and or hold time of a flip flop you risk putting the flop output into a meta-stable state, i.e. it is not reliably a logic 0 or a logic 1. The flop's physical design determines how long it takes for the flop to stabilize.
    The signal source, internal or external, has nothing to do with the likelihood of inducing meta-stability. If the signal is asynchronous to the clock used by your flop there is a probability of inducing meta-stability.
    The risk of meta-stability is statistical, the more asynchronous the driving clock to the capture clock the more the risk of meta-stability. This is the reason dual flops are used to capture source asynchronous signals, including those crossing a clock domain. The dual flops reduce the probability of a meta-stable event to near infinitesimal.
    q16 clock crossing
    Fast vs slow is not the issue. Two clocks of the same frequency but not synchronously related still require meta-stable filtering techniques.
    q18 melee(sic) vs moore
    This is text book stuff, good question for junior people, if you are one you should have this exactly memorized:
    Mealy: outputs determined by current state and current inputs.
    Moore: outputs determined only by current state

  • @begod4cod
    @begod4cod 4 роки тому +3

    Mixed up things a little while talking about mealy and moore state machines. It's the output which depend either on the state and the input (Mealy) or only on the state (Moore). You were talking about state transitions, which depend on both variants on state and input. Maybe add a comment to the video to not confuse some newbies watching :-)
    Besides, great video! :-) Liked it.

  • @jackyzou2376
    @jackyzou2376 5 років тому +11

    DRAM is not faster than SRAM because DRAM requires constant refresh to retain data and CPU cannot retrieve data from DRAM while it is being refreshed. In contrast, SRAM, since it's static, it can be accessed anytime without waiting. And because of the smaller size of SRAM, walking through the cache pages is much faster than the bigger DRAM.

  • @chrism7574
    @chrism7574 5 років тому +18

    "Melee machine!" HAHA, that's a good laugh. It's "Mealy", "melee" is a fight.

  • @quahntasy
    @quahntasy 4 роки тому +1

    *This was so helpful thanks a lot. Who else is here in 2020*

  • @timdipayanmazumdar1089
    @timdipayanmazumdar1089 2 роки тому +2

    I have been writing Verilog Code since at least 1994. I finished my MSEE in 1990. I have now been coding Verilog and Matlab for almost 30 years. Its very good that you made this Video. Good questions too. I wish you add more content - one common area would be
    1. Clock domain crossings - in Verilog.
    2. FIFO design with Grey coded counters in Verilog - Cliff Cummings - 1994
    3. AXI-4 streaming Interface - which requires 4 signals.
    4. AXI-4 Slave design.

  • @ishwarbannur7228
    @ishwarbannur7228 5 років тому +9

    I believe that Sram are much faster than SDRAM, nad main difference is that Dram is much more volatile than Sram so we need to refresh periodically but in sram its automatically refreshed as there is crossed couple inverters pull the data continuously with out recharging , and can also diffrentiated by the construction of these memory

    • @Nandland
      @Nandland  5 років тому

      "It depends." For large sequential memory reads/writes, DRAM is faster. SRAM is faster for non-sequential "random" reads and writes. So it depends on the application.

    • @vasiliynkudryavtsev
      @vasiliynkudryavtsev 4 роки тому +3

      SRAM are usually smaller compared to DRAM, but SRAM can give the word in several nanoseconds and it is easy to use with FPGA, because SRAM is very similar to FPGA’s BRAM. As for DRAM, remember timing settings in BIOS for memory modules? That is quite complicated to implement in FPGA, but possible. Some FPGAs have hardware DDR SDRAM controller for this case.

    • @vasiliynkudryavtsev
      @vasiliynkudryavtsev 4 роки тому +2

      Also, nowadays there are PSRAM chips, which are pseudo-SRAM. Internally they based on DRAM, but have SRAM-like interface, combining ease of use and big size.

  • @timdipayanmazumdar1089
    @timdipayanmazumdar1089 2 роки тому

    Synthesis tool - can be provided by an Independent CAD tool Vendor Such as Synopsys or Cadence. Commonly FPGA vendors can provide two options a). Their own tool like LSE for Lattice and b. third party tool e.g. Synopsys Synplicity.
    Occasionally a student can try to switch between two Synthesis tools in the same FPGA setup. But Xilinx Vivado will use its default tool and this is most recommended. when you switch tools sometimes you need to provide a different timing file - TCL script. Running an RTL code in two tools is not necessarily the smartest thing to do.

  • @andrewmackay2001
    @andrewmackay2001 Рік тому

    Thank you a great introduction to FPGA I have a lot of discrete logic family experience mostly the 74 ABC families and some 4000 series (I got as far as treating them as analogue parts). I was surprised that I actually new the answers plus more detailed knowledge about how the digital blocks worked and what they are used for.

  • @mariagromysch6274
    @mariagromysch6274 5 років тому +5

    Thank you for your video! It is really helpful as I am preparing for my interview tomorrow for internship at FPGA company :)

  • @electromatic2014
    @electromatic2014 5 років тому +2

    Best channel about learning in depth FPGA's Ive seen this far, thanks for all your con tent!

  • @mahmoudfathy2074
    @mahmoudfathy2074 4 роки тому +3

    "Being wrong is most of being an engineer"
    Man .. you got it there 😁

    • @tainicon4639
      @tainicon4639 3 роки тому +1

      That’s just true for life haha... I am a neuroscientist and it’s the same lol

  • @timdipayanmazumdar1089
    @timdipayanmazumdar1089 2 роки тому

    So the flow in an FPGA is Synthesis-> Map and Place and Route. The Netlist at the time of mapping does not have the RC Interconnect information.
    But its very useful in terms of the DSP resources and LUT count and DFF usage and Block RAM usage. This is why doing a three part synthesis flow
    provides one information in a "timed " way compared to all in flow Synthesis flow. I commonly check the Map resources Table to see if the RTL is really using too many DSP resources and BRAM.

  • @boo9523
    @boo9523 3 роки тому

    Your answer to the difference between Latch and Flip-flop,
    Another more prominent interpretation is the Latch is level triggered and Flip-Flop is edge triggered.

  • @icestormfr
    @icestormfr 6 місяців тому

    "Getting rid of metastability" - to be exactly:
    never, but you can reduce the probability to extremely unprobable (probability reduces by a factor by each FF stage), see also MTBF.
    Or to never cross clock domains of asynchronous clocks🙃

  • @Davidlahall
    @Davidlahall 5 років тому

    I WISH YOU HAD A CHANNEL TEACHING FPGA FOR BEGINNERS. YOU ARE REALLY GOOD AT TEACHING. YOU CAN HAVE A CLASS ON TEACHING EVERYTHING ON FPGA'S . Like what is a FPGA ,real life examples of why a person would use one , what are all the pins for ,,how to program them and basic manufacture design of FPGA. I personally would be on that channel every single video...no one has that ...i have been checking for a while now. you are good are teaching

    • @Nandland
      @Nandland  5 років тому

      Hey thanks! But you know... this is my channel. I have a lot of videos!

    • @Davidlahall
      @Davidlahall 5 років тому

      @@Nandland i just realised i have started i will watch all if possible. thx you are awesome

  • @MrHeatification
    @MrHeatification 3 роки тому +1

    GREAT VIDEO that summarizes very important info

  • @fernandoi8958
    @fernandoi8958 2 роки тому +1

    4:00 A melee machine beats the hell out of you lol

  • @TheSpiffiest1
    @TheSpiffiest1 4 роки тому

    I know about zero of these questions today, but it's great to have a good study guide. :)

  • @keithmiller4358
    @keithmiller4358 5 років тому +2

    My background isn't electronics, so this is a very useful guide for highlighting my knowledge gaps. One question I have - is the assertion that DRAM is 'larger and faster' than SRAM correct? I always thought that SRAM was faster, due to the lack of need for refresh cycles which delay read/write, and use of directly driven flip flops, rather than gate capacitance to store the bits, hence it's use in cpu cache. As a software engineer, I find the whole topic of being able to design hardware at the HDL level of abstraction fascinating. It's high enough level to not require lots of phsical knowlege, yet low enough level to understand how it maps to real hardware (or rather how it could be mapped to real hardware, outside a clever device like an fpga).

    • @Nandland
      @Nandland  5 років тому

      "It depends." For large sequential memory reads/writes, DRAM is faster. SRAM is faster for non-sequential "random" reads and writes. So it depends on the application.

  • @joelressell9871
    @joelressell9871 3 роки тому

    Awesome video. Great reminder of my college VHDL courses.

  • @timdipayanmazumdar1089
    @timdipayanmazumdar1089 2 роки тому

    Bus arbitration and methods of arbiter operation might be an area where you wanna add questions. Such as what is the difference between round robin arbitration and priority coded arbitrations.

  • @suryakanth5370
    @suryakanth5370 2 роки тому

    Awesome....time well spent here learning

  • @artemgumirov8959
    @artemgumirov8959 5 років тому

    Thank you for your job! people like you inspire me to self-development

  • @himanshurinke2952
    @himanshurinke2952 3 роки тому

    Visited first time on this channel....Loved the question very informative

  • @NiranjanDixit23
    @NiranjanDixit23 5 років тому +5

    Thank you for this video! I love having interview questions with Jim Halpert :D

  • @jacklo32
    @jacklo32 3 роки тому

    Very helpful when you need to prepare an interview!

  • @grigorypolushkin7151
    @grigorypolushkin7151 5 років тому +1

    It was really useful to hear it in English. Thanks!

  • @michieshiroma1251
    @michieshiroma1251 4 роки тому

    Great video... I have a tech interview in couple days. This gave me some confidence.

  • @muhammedimdaad
    @muhammedimdaad Рік тому

    thank you so much for this excellent resource

  • @warp_skip
    @warp_skip 3 роки тому

    Great video, I have an interview coming up and it's nice to have a bunch of the topics I need to review in one place

  • @jimmybuu3179
    @jimmybuu3179 3 роки тому

    Excellent Questions to learn. If you are an interviwer than I would never got the job, lol

  • @GrandNecro
    @GrandNecro 9 місяців тому

    i think you made a mistake on the sram dram part. i thought sram is faster than dram because sram uses transistors primarily for storage rather than the capacitive storage that dram uses, which takes time to charge and discharge.

  • @bbsingh7554
    @bbsingh7554 4 роки тому +1

    Appreciate the effort, you were helpful there sir......
    But u look like doug demuro of electronics and i can't unsee it

  • @i12roksaggio41
    @i12roksaggio41 4 роки тому

    Excellent and very useful discussion - I am impressed

  • @thepixelw4rrior644
    @thepixelw4rrior644 2 роки тому +1

    “Name a few flip-flops”….uhh crocs and Birkenstock….
    Hired!!!

  • @varunrain8763
    @varunrain8763 5 років тому +8

    I recently landed a job as an FPGA engineer. They asked pretty much the basics. However, I wasn't able to answer a couple of them. Could you help me with that?
    1. Using IPs(microblaze), HDL wrapping and writing C programs using the Xilinx SDK vs Doing everything using VHDL from scratch to finish - Which method is more efficient in terms of timing, area, and resources?
    2. Simulation looks good, synthesis and implementation look good, a bitstream is generated and FPGA is programmed. However, the FPGA doesn't function as per requirements. How do you go about debugging starting with your bitstream?
    I think these two questions are critical.

    • @bobesfanchi
      @bobesfanchi 5 років тому +1

      for Q2) what about timing? did the design meet timing?

    • @lomaxisation
      @lomaxisation 5 років тому +1

      1) Writing VHDL will likely be more efficient, but more time consuming.
      2) I'd look for ways in which my simulation was deficient. How good is my test coverage? Are there situation I haven't covered? Does my simulation correctly represent my clocks? How well have I simulated my resets occurring? I'd try and infer possible issues from the precise way in which my design doesn't function, can I figure it out by looking through my code? Failing that I'd debug my design live on a device by adding debug in various forms, counters, capture streams etc, and hope my build time isn't too terrible.

  • @PamSesheta
    @PamSesheta 3 роки тому

    They should change the name to melee machines because of how confusing they can be to work with. Great video

  • @sam-kx3ty
    @sam-kx3ty Місяць тому

    Hey buddy, it's a Fantastic video, but I think you made an error somewhere. at 8:03, you said, "DRAM is larger..." If you are talking about a single DRAM cell vs a single SRAM cell, then the SRAM cell is much larger than the DRAM cell.

  • @2string861
    @2string861 3 роки тому +5

    As someone who got into FPGAs just a few days ago, I can confidently say I will not be getting the job

    • @kedharguhan
      @kedharguhan 3 роки тому +1

      Hahaha pull me in as well brother

  • @刘博铭-v9q
    @刘博铭-v9q 4 роки тому +2

    could you do a tutorial of DDR PCIE Ethernet or something like that? i think it is widely used and very helpful for me

  • @williesolomon614
    @williesolomon614 3 роки тому

    Thank you for sharing this awesome video.

  • @yepnah3514
    @yepnah3514 4 роки тому +1

    I like how after he asks a question, he goes 'yeah this is basic, if yo don't understand it..you better learn it' lol

  • @carriersignal
    @carriersignal 5 років тому

    This is actually pretty good. Thanks. Great videos.

  • @hauluongquy8873
    @hauluongquy8873 6 місяців тому

    That is a great speech and very helpful for my next interview. But at 8:14 you said that DRAM was much faster than SRAM ? I think that is SRAM faster than DRAM ? Is it right ?

  • @perakojot6524
    @perakojot6524 Рік тому +1

    Even though these questions seem relevant, they are really like a university course exam. I'd never hire a candidate based on answers (on pretty simple) random questions. A minimum requirement today is a coding interview (and not just a typical FIR filter BS), and an actually good interview is of a problem-solving type. So giving a candidate a real life problem to think of possible implementation, to sketch a microarchitecture and to write some code example. Or find a problem in an existing design code example.

    • @sj9184
      @sj9184 4 місяці тому

      Would these questions be sufficient for an intern?

    • @perakojot6524
      @perakojot6524 4 місяці тому

      @@sj9184 Yes and no, I also wouldn't structure an interview with an intern in that way either. First, some of the questions are too basic for an electrical engineering student, some are not too relevant (you don't need to know what BRAMs, DSPs or PLLs are, you can learn that). Ofc some would make sense, but an intern should still be able to demonstrate basic coding skills (no necessarily in VHDL/Verilog), ability to think algorithmically, ability to do some basic problem-solving, ability to read documentation, etc.

  • @leozendo3500
    @leozendo3500 5 років тому +1

    I am a high school student trying to figure out some FPGA for ADC to RAM dump for a science fair project. Feel like ready for a job.

  • @timdipayanmazumdar1089
    @timdipayanmazumdar1089 2 роки тому

    One other really important thing you should have mentioned is . There are three major classes of timing paths on an FPGA.
    a. Paths which start at a CLK pin of a flip flop and go CLK-> Q + Logic Delay and terminate on the D input of the destination DFF.
    b. Timing paths which start at a Primary input and end at a D input of the first DFF it encounters - PAD delay included.
    c. Timing paths which start at the CLK pin of a final DFF and end in a primary output.
    All Static timing analysis works with these three classes of timing paths.
    The difference between and ASIC STA and FPGA STA is the following the ASIC STA is run at slowest process, maximum and minimum VDD and maximum and minimum operating Temp. For a proper FPGA timing analysis one must run it almost like a ASIC STA.
    The .sdc file is common between Synthesis and STA tool.

  • @vsilte2
    @vsilte2 4 роки тому

    Great video man, thanks for sharing!

  • @plastilinovbly
    @plastilinovbly 2 роки тому

    Thank you for great content!

  • @wongprince7626
    @wongprince7626 3 роки тому

    I think there is a mistake on the question about moore and mealy FSM. I think the the main difference is the whether the output depends on the input or not, not next state.

  • @naheelazawy
    @naheelazawy 5 років тому

    Appreciate your help! I really needed something like this.
    But now I have couple of questions for you,
    1- What companies, from your experience, can be good examples of a working environment in this field?
    2- What do you exactly do in such a job? In boring details please..

    • @Nandland
      @Nandland  5 років тому +2

      1. Every company is different. Hard to generalize. But being an Engineer in general means that you have a lot of responsibility and control over your job.
      2. You code! Lots of RTL and Testbench writing mainly. Working in the lab sometimes, design reviews with other disciplines, etc. It's fun!

    • @naheelazawy
      @naheelazawy 5 років тому

      @@Nandland sweet!

  • @youtubegoogle4163
    @youtubegoogle4163 2 роки тому

    The types of flipflops i remember now is D flipflop, SR Flipflop, T flipflop and JK flipflop.

  • @timdipayanmazumdar1089
    @timdipayanmazumdar1089 2 роки тому

    For the Shift register question this would be my answer - " A very nifty DFF based structure which is useful in any place where SIPO and PISO data operations need to be performed". Usually with no feedback loop. If it has a feedback loop, then its forms the core of a lot of encoders and is referred to as a LFSR.

  • @hrissan
    @hrissan 5 років тому

    Turns out I knew answers to most questions (except SERDES), though I made 0 FPGA designs... Probably time to create one.😸

  • @nguyentaihai2845
    @nguyentaihai2845 4 роки тому

    I have a little bit confused in Q22. What is a DSP tile in FPGA? Can you give me a simple way to understand that? ^^ I hope I will get as soon as answer from you ^^

  • @sss2393
    @sss2393 4 роки тому

    very informative, you earned a sub. Thanks a lot

  • @andydelle4509
    @andydelle4509 3 роки тому

    I think you missed a very basic differences between SRAM and DRAM - DRMA need refresh, SRAM does not. This is significant because refreshing DRAM will tie up more clock cycles and FPGA complexity.

  • @TheArnoldification
    @TheArnoldification 5 років тому

    Granted I'm an EE student and likely won't be working with FPGA's when I graduate but these questions were a lot simpler than I expected, and I didn't like my FPGA course :P

    • @chrism7574
      @chrism7574 5 років тому

      You'll notice when you get to the industry, a lot of the interviewers are older guys who don't have a solid grasp of what FPGA's really are. They're either in too much of an administrative job to care about learning, or they're close enough to retirement so they don't really have to learn it. Either way, you're the next generation of knowledge. Having a basic understanding and being able to talk about digital design is what they want to hear.

  • @mehwishbhatti6207
    @mehwishbhatti6207 Місяць тому

    What’s the name of the previous video he’s mentioning at the start, can’t find it!!

  • @abbasszahreddine386
    @abbasszahreddine386 Рік тому

    That's very helpful...

  • @cameronsullivan8179
    @cameronsullivan8179 5 років тому

    I thought synchronous meant that was timed with the rise or drop of the clock and a synchronous could have a clock from an external signal but was not in line with the timing...

    • @Nandland
      @Nandland  5 років тому

      I've heard both. I think saying Async is "not aligned with any clock" is more accurate. I find for beginners it's easier and more understandable to say sync = clock, async = no clock. But yeah maybe I should be a bit more careful here.

  • @loganj6203
    @loganj6203 4 роки тому

    Your video are so good and helpful. I appreciate that you made it!
    I have a question.
    I studied electronic engineering in university and got my masters degree in Korea but when I graduated I got a job as a software engineer and worked for 1 year.
    I moved to the US and I realized I want to start over my career as a FPGA engineer or anything related about that position.
    What do you recommand for me to study? Or for interview.
    It's been a long time i haven't studied about digital so I think I should start over all basic major knowledge and a small project by myself.
    Actually, I have no idea how to start a project in FPGA field if you can recommand it as well it will help me too.
    I have no experience any studying or interview in US.
    I will really appreciate your advice.

  • @saifaldeenalbusultan9888
    @saifaldeenalbusultan9888 5 років тому

    Wonderful! Many thanks. :)

  • @anthonyrocha8075
    @anthonyrocha8075 4 роки тому

    Concept questions are more suitable for phone screening.

  • @vasiliynkudryavtsev
    @vasiliynkudryavtsev 4 роки тому +1

    Almost nothing was said about ASYNCHRONOUS LOGIC. The very first example is combinational logic, the latches mentioned are asynchronous as well. Of course, asynchronous logic should be avoided, because synthesis tools work better with synchronous logic (RTL=Register-Transfer-Level), and asynchronous logic can provide bugs, metastability and cancer (just joking).

  • @KiranKumar-yn3qy
    @KiranKumar-yn3qy 3 роки тому

    its very helpfull video thank you:)

  • @ishanrai8090
    @ishanrai8090 2 роки тому

    bawa yaar. phoda. Gori gori gori

  • @mcalex4747
    @mcalex4747 3 роки тому

    I used for in verilog to cycle through something.
    Not to duplicate it, so I don't know if that's valid.

  • @xmotoFF
    @xmotoFF 5 років тому +1

    Great video! How much time do you expect the interviewee spend answering each question?

    • @Nandland
      @Nandland  5 років тому +2

      About as long as I did would be fine. A few sentences to show that you know what the interviewer is asking. You can always ask the interviewer if they want you to go into more detail. It's a conversation!

  • @joshuam8863
    @joshuam8863 3 роки тому

    hey awesome video.

  • @MilanKarakas
    @MilanKarakas 5 років тому +1

    Oh, I can answer maybe less than 50% of the questions.

  • @giridharprabhu2337
    @giridharprabhu2337 3 роки тому

    haven't replied about how to prevent metastability

  • @manoojkumaarbalasubramania3878
    @manoojkumaarbalasubramania3878 4 роки тому

    Guys who is watching this video should Google the difference between sram and dram.

  • @markusthill5571
    @markusthill5571 3 роки тому

    Not an expert, but is DRAM really faster than SRAM? Would have guessed that it is the other way around....

  • @willji45
    @willji45 5 років тому

    Great video! Do you ship the GO-Board to Australia?

  • @DevaDeva-oq3kv
    @DevaDeva-oq3kv 4 роки тому

    I want to become an fpga engineer. All I know is C and digital logic design basics. Kindly guide me.

  • @94D33M
    @94D33M 5 років тому +1

    at 19:24 DSP is to fast multiply accumulate operations? i'm not sure it i heard it correctly

    • @parkerd2154
      @parkerd2154 5 років тому +1

      Yes, multiply accumulate or MAC instructions are how DSP filters like an FIR filter are executed efficiently in hardware. Essentially you are multiplying the filter coefficients with the samples and accumulating the results likely using a circular buffer

  • @paranoidyoshman
    @paranoidyoshman 4 роки тому

    I believe Q6 answer was quite wrong. Also, the mealy vs moore answer wasn't explained correctly.

  • @swapnaraniachary2545
    @swapnaraniachary2545 5 років тому

    Thank u.. So much..

  • @刘博铭-v9q
    @刘博铭-v9q 4 роки тому

    i am working on a fault injection system

  • @ayushgupta8344
    @ayushgupta8344 4 роки тому

    dram is slower than SRAM, and it also has a low size as compared to SRAM

  • @AdarshChandruofficial
    @AdarshChandruofficial 4 роки тому

    Can I join your patreon and choose the highest package available so you can teach me and clarify my doubts? 🙈 Damn you are good at teaching ! Please let me know if you would be able to do that 🙏🏻

    • @Nandland
      @Nandland  4 роки тому +2

      If you support my patreon at the top level I'm happy to talk you about anything you like!