Ken's Interview Questions
Ken's Interview Questions
  • 27
  • 131 275

Відео

System Verilog Interview Question: Write SV function to swap two variables
Переглядів 1,1 тис.Рік тому
System Verilog Interview Question: Write SV function to swap two variables #UVM #Systemverilog #verilog #interviewquestions #hardwareengineering #coding #electronicsengineering
System Verilog Interview Question: Write a task to generate a clock with the given frequency in MHz?
Переглядів 6 тис.3 роки тому
System Verilog Interview Questions: Write an SV task to generate a clock with the given frequency in MHz? FYI for this example to work duty ratio can only be 0.5
System Verilog Interview Question: What is the difference between a Verilog/SV Task and Function?
Переглядів 2,1 тис.3 роки тому
System Verilog Interview Question: What is the difference between a Verilog/SV Task and Function?
What is UVM Reporting or Message Mechanism ? UVM Verbosity Part 4?
Переглядів 1,4 тис.3 роки тому
UVM Interview Question: What is UVM Reporting or Message Mechanism ? Part 4. Verbosity
System Verilog Interview Question: Write the code for D-Flip Flop in System Verilog?
Переглядів 4,1 тис.3 роки тому
System Verilog Interview Question: Write the code for D-Flip Flop in System Verilog?
What is UVM Reporting or Message? Part 3 UVM Actions?
Переглядів 1 тис.3 роки тому
UVM Interview Question: What is UVM Reporting or Message Mechanism ? Part 3. Actions,
UVM Report/Message Introduction & Functions Part 2 (Severity, Actions, Verbosity)
Переглядів 1,4 тис.3 роки тому
UVM Report/Message Introduction & Functions Part 2 (Severity, Actions, Verbosity) Part 2 deals with Severity
UVM Report/Message Introduction & Functions (Severity, Actions, Verbosity)
Переглядів 2 тис.3 роки тому
UVM Interview Questions What is UVM Reporting or Message Mechanism? Part 1. UVM Report/Message Introduction & Functions, Part 2. Severity, Part 3. Actions, Part 4. Verbosity
UVM Questions: What happens in the “build phase”? Why is the build phase top-down?
Переглядів 2,5 тис.3 роки тому
UVM Interview Questions: What happens in the “build phase”? Why is the build phase top-down? Explain the “build phase” of a UVM component?
UVM Question: What happens in the “end of elaboration phase”?
Переглядів 1,9 тис.3 роки тому
UVM Interview Question: What happens in the “end of elaboration phase”? Explain the “end of elaboration phase” of a UVM component?
UVM Question: What happens in the run phase of a UVM component? Is run phase top-down or bottom-up?
Переглядів 2,1 тис.3 роки тому
What happens in the run phase of a UVM component? Is UVM run phase top-down or bottom-up?
UVM Questions: Can you describe different phases and sub-phases of a UVM component?
Переглядів 3,7 тис.3 роки тому
List out all the phases and sub-phases of a UVM component? Can you describe different phases of a UVM component?
UVM Questions: What are the benefits of UVM? Is it independent from System Verilog?
Переглядів 2,6 тис.3 роки тому
UVM Questions: What are the benefits of UVM? Is it independent from System Verilog?
What is a virtual sequencer/sequence? What is the difference between a virtual sequencer/sequence?
Переглядів 8 тис.3 роки тому
What is a virtual sequencer/sequence? What is the difference between a virtual sequencer/sequence?
UVM Question: What is the difference between UVM transaction and UVM sequence item?
Переглядів 4,6 тис.3 роки тому
UVM Question: What is the difference between UVM transaction and UVM sequence item?
How and why is configuration database (config_db) used? What are the set and get functions?
Переглядів 11 тис.3 роки тому
How and why is configuration database (config_db) used? What are the set and get functions?
UVM Question: What is a UVM config db ?
Переглядів 9 тис.3 роки тому
UVM Question: What is a UVM config db ?
UVM Ques: Describe the handshake between uvm_sequence, uvm_sequencer, uvm_driver and interface/DUT?
Переглядів 12 тис.3 роки тому
UVM Ques: Describe the handshake between uvm_sequence, uvm_sequencer, uvm_driver and interface/DUT?
UVM Interview Questions: What is early randomization and late randomization in a UVM environment?
Переглядів 3 тис.3 роки тому
UVM Interview Questions: What is early randomization and late randomization in a UVM environment?
What is a UVM sequence (uvm_sequence) ? UVM sequence coding example.
Переглядів 6 тис.3 роки тому
What is a UVM sequence (uvm_sequence) ? UVM sequence coding example.
UVM Interview Questions What is UVM factory? What is factory override and override types?
Переглядів 16 тис.3 роки тому
UVM Interview Questions What is UVM factory? What is factory override and override types?
UVM Questions: What is the difference between UVM create and new() , UVM object and component?
Переглядів 10 тис.3 роки тому
UVM Questions: What is the difference between UVM create and new() , UVM object and component?
UVM Questions: What is p_sequencer or m_sequencer?
Переглядів 15 тис.3 роки тому
UVM Questions: What is p_sequencer or m_sequencer?
Channel Introduction: Hardware Engineering Interview Questions
Переглядів 1,8 тис.3 роки тому
Channel Introduction: Hardware Engineering Interview Questions

КОМЕНТАРІ

  • @JonahArthur-o1r
    @JonahArthur-o1r 15 днів тому

    Cicero Rapids

  • @NellyBurton-t2l
    @NellyBurton-t2l 15 днів тому

    Nathan Junction

  • @TuttlePartridge-z4e
    @TuttlePartridge-z4e 16 днів тому

    Doyle Alley

  • @nhanhuynh1863
    @nhanhuynh1863 21 день тому

    Thank you! Very clear to me.

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

    sir can factory also be consider as a global data base?

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

    Thanks, it is very useful!

  • @MimKhan-t2f
    @MimKhan-t2f Місяць тому

    Stehr Bypass

  • @sreekeerthichandar4568
    @sreekeerthichandar4568 2 місяці тому

    Could you also solve problems on umm?, more practical examples?

  • @celinayu2056
    @celinayu2056 2 місяці тому

    what is my_seq_item?

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

    How does the driver handles if the DUT is giving more then one or out of order responses back, how the driver send same response back to original sequence and not any other sequence?

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

    Hi ken If there is no config db in system verilog and we don’t set or get virtual interface there what would we do there and what is advantage here please explain

  • @name.is_chiru
    @name.is_chiru 5 місяців тому

    Use non blocking. a<=b; b<=a;

  • @name.is_chiru
    @name.is_chiru 5 місяців тому

    Use non blocking. a<=b; b<=a;

  • @siddharthjain5376
    @siddharthjain5376 8 місяців тому

    Kenneth Sean "Ken" Carson Jr. is a fashion doll introduced by American toy company Mattel in 1961 as the counterpart of Barbie, who had been introduced two years earlier.

  • @Wander_freak
    @Wander_freak 10 місяців тому

    Can’t we directly use array sort method and return array[1]? Which will basically be second smallest after sorting

    • @rishabhmishra2906
      @rishabhmishra2906 8 днів тому

      yes we can but complexity would be nlogn where this solution is O(n)

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

    Hi, But as per LRM function can have outputs.

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

    Driver needs run_phase()

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

    Why not to use #(1ps*half_period_in_ps) clk = ~clk;

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

    Have you seen successful use of the sub phases? Is that normal to define subphases along with run_phase?

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

    What was the idea behind having sequencer? In most cases it looks like an extra layer without good purpose. Most of sequencers implementations I saw were plain proxy between sequencer and driver. Sequencer layer weren't doing any work. I would say it only make sense if you actually have an arbitration based on priority or you have to control sequencer e.g. by purging FIFO when reset or end of the test comes.

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

      there are multiple reasons, the first as you mentioned providing a arbitration for sequence request and grand. second, sequencer provide a hierarchical component for sequence, if you wanna pass some config setting, sequence can retrieve the seqr handler to config your transaction in running time. Then if you are trying to implement some complicate sequence like layer sequences, sequencer offer a convenient way to implement that.

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

      @@kuangquan08 1. what do you mean by layer sequences? 2. I don't see why configuration idea is good unless that is runtime driver specific configuration (there are better uvm ways, imo for other configurations). Then, again, why don't use driver for that type of configuration? I believe arbitration argument is good other arguments not so much convincing.

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

    Good!! Tks

  • @prajishp.j1180
    @prajishp.j1180 Рік тому

    Everywhere it is mentioned that UVM sequence is a collection of sequence items.So suppose I have 2 sequence items ,one for write , one for read..does this mean a single sequence can have both the sequence items..in all examples there s one sequence for one sequence items..then how is sequence a collection of sequence items??

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

    Promo'SM

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

    Hi, Default values of smallest and second_smallest will be 0. So, this function will return only 0. (assuming the array has + numbers)

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

    Integer have four state?

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

      yes "integer" data type has 4 states, where as "int" has 2 states.

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

    Is it possible to set config db in lower hierarchy and get it in upper hierarchy?

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

      Yes, it is possible to set the config db in a lower level and obtain it in a higher hierarchy. One way to prevent issues is to do config db set in an earlier phase in the lower level hierarchy and get it from config db in later phase.

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

    Thanks for a great video.

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

      Glad you liked it!

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

    does ovm have late randomisation

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

      Yes, similar to UVM.

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

    I hope you come back to make more of these videos Ken. They were very helpful in my interview prep. Thank you

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

      More to come! :)

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

    Nice video

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

    Thank you, very useful

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

      Glad it was helpful!

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

    Hi Ken. I have few queries, 1)What is the argument passed in item done function? 2) when we use item_done () with and without argument in our environment?

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

      Hi Naseem, 1) Item done take a ref of the sequence item that has finished running. 2) Item done is typically called without an argument, when you call it from within the sequence item itself and is called with an argument when called from outside the seq item

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

    1) While using second option of handshake(using get and put method in driver side), whether finish_item() in sequence is non blocking func? If yes, then how its blocking for 1st approach and non blocking for 2nd approach? 2) During 2nd approach, what will happen to rsp port? Can you please explain how port will work in both approach?

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

    Good video... Need more to learn this channel

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

    Hi Ken, Is run_test is blocking or non-blocking?

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

      Yes, it is a blocking call as it blocks the calling thread of execution until the test finishes.

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

    Very nicely explained..👏.I have one doubt ,you told that instance override is only applicable to components and it is not applicable to uvm_transaction,uvm_sequence etc as component consists of hierarchy but uvm_transaction,uvm_sequence don't have this hierarchy.Could you please explain how the above doesn't have any hierarchy.As I am new to this Uvm.so I need to know this.

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

      It comes down to the diff between uvm components (drivers, scb, monitors, etc.) and uvm objects (transactions, seq items, etc). Uvm transaction / seq items are dynamic , transients and as thus their constructors only has name as an arguments whereas, components are static and exist throughout the simulation and their constructor has both name and hierarchy.

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

    Great explanation. Very helpful. Thank you

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

      Glad it was helpful!

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

    Is p sequencer is only associated with virtual sequencer concept?Can you please also tell me what is the use of p_sequencer ? when will you use p_sequencer ?Here, I want to know the general use case like using p_sequencer for axi_sequencer.

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

      To put it simply, a P-sequencer (port-sequencer) is to drive transaction to a specific port interface on the DUT.

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

    Is p sequencer is only associated with virtual sequencer concept?Can you please also tell me what is the use of p_sequencer ? when will you use p_sequencer ?Here, I want to know the general use case like using p_sequencer for axi_sequencer.

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

      This exploit polymorphism, which are of uvm_sequencer_base class.

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

      m sequencer does have any other handle(cannot add) and if you want some handle you need to go with p_sequencer pointer.

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

      To put it simply, a P-sequencer (port-sequencer) is to drive transaction to a specific port interface on the DUT.

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

    Isn't end_of_elaboration() and start_of_simulation() essentially doing the same thing?

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

      The end_of_elab phase is called after all of the TB components have been instantiated and connected, but before any simulation activity has begun, whereas, start_of_sim mark the start of the simulation activity like resetting, registers, DUT, etc

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

    Why don't you recommend using virtual_sequencer, can you elaborate the disadvanatages ? What is the alternative method to using virtual_sequencer?

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

      Virtual_seqeuncers add complexity to the TB, as you need to implement and connect both a virtual sequencer and a p_sequencer, also it has a little harder to debug because there is an extra layer of abstraction.

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

    But exactly, what is the issue with early randomization? would be useful to elaborate possibly with an example

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

      Early Randomization can result in the object being configured or connected in an inconsistent or invalid state. Take a testbench with a driver and monitor as an example. Both of these components have a configuration parameter that sets the largest transaction size they can support. The driver might be configured with a bigger maximum transaction size than the monitor if the driver and monitor are both produced at random with early randomization, which would prevent the monitor from correctly processing the transactions from the driver.

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

    Nicely explained

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

      Keep watching

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

    Thanks for good content

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

      My pleasure

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

    Hi Ken, If we have a test class and if we call ::type_id::create in its build phase to create an environment class, than the environment class will be created. My questions is which part triggers the build phase of the environment class - the end of build phase of test class or the ::type_id::create function call? Is it the built phase of the environment class automatically called and what happens to the built phase of the environment class when we don't create the environment class in the build phase in test class? Thanks

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

      When a UVM class is created, its build phase is invoked after all of its fields have been initialized but before any simulation work has started. When ::type_id::create is invoked in a test the build_phase of the environment class will be called automatically as part of the process of instantiating the environment class.

  • @yotams.8969
    @yotams.8969 2 роки тому

    In case you are using "my_rsp", should you create it as well as "my_trans"?!

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

      Yes because response is from the DUT with update fields.

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

    Correct me if I'm wrong, final phase is top down and not bottom-up?

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

      Yes , I have read it that its top down!!

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

      It is a top-down phase

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

    What is the main role of build phase ? we are having new() function which can do the same as build phase .. I mean the instantiation of class

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

      Hi Majji, the build phase is part of a series of phases like run, end of elab etc which helps in segregating instanton of tb components (typically in build)phase, the connection happen in connect phase, and so on. Whereas new() is used to construct an object without using the UVM factory. In UVM we typically use create() so that we can leverage factory. In conclusion, build is just a task which groups instantiations of various tb components/objects, whereas, new() or create() commands are used for instantiation. Check out the diff b/w new & create here --> ua-cam.com/video/aC-J9QuPLSA/v-deo.html.

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

    Thank you.

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

      You're welcome!

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

    Thank you.