mam explain how to access the automatic ,,, increment_static.count_b
@susheelapatagar3 күн бұрын
Generally, we can't access local variables outside their function or task directly. However, if the variable is static, as explained in the video, it can be accessed. For automatic variables, hierarchical references are not allowed. To work around this, you can declare a variable in the module (outside the function/task) and assign the local automatic variable to this module-level variable inside the function/task. This way, when you need to print or use the variable outside the function/task, you can simply use that module variable.
@naveenchakali28018 сағат бұрын
Thankyou mam
@ec-213narendrareddy55 күн бұрын
Upload the example program for fork join
@susheelapatagar5 күн бұрын
@@ec-213narendrareddy5 already uploaded(Members only video) kzfaq.info/get/bejne/n7yKrZyUvbSod3U.htmlsi=2SNSC7jySD8ov9RH
@srinivaskokkonda29996 күн бұрын
Can you generate 2 multiplication table
@susheelapatagar6 күн бұрын
Sure. Here you go: (Change N value to get any table) `define N 2 class packet; rand bit[31:0]a; int b=1; constraint c1{a ==`N * b;} function void post_randomize(); $display("%0d * %0d = %0d",`N,b,a); b++; //incrementing b value endfunction endclass module pattern; packet p; initial begin p=new(); repeat(10)begin p.randomize(); end end endmodule
@mark_RRR126 күн бұрын
GOOD EXPLANATION 👏👏👏
@susheelapatagar6 күн бұрын
@@mark_RRR12 Thank you .♡
@mark_RRR126 күн бұрын
Thanks!
@susheelapatagar6 күн бұрын
@@mark_RRR12 You're welcome✨ and Thankiew :) You are the first subscriber to send Super thanks.🤝
@ShwetaSPujeri6 күн бұрын
Best explanation with relevant example ❤️👏
@susheelapatagar6 күн бұрын
@@ShwetaSPujeri Thank you ❣️
@rohitshet20796 күн бұрын
After a long time new video
@susheelapatagar6 күн бұрын
@@rohitshet2079 yeah.🙋
@vishalgowtham8967 күн бұрын
I watched all of your system verilog ------very very helpful mam
@susheelapatagar7 күн бұрын
@@vishalgowtham896 I am happy to hear that :)
@uditgohil75477 күн бұрын
What if it is not time consuming? In order to that we can call directly??
@susheelapatagar7 күн бұрын
@@uditgohil7547No. tasks cannot be enabled inside the function.(But synopsys and questa simulator allows it with warning)
@Srikarthik11 күн бұрын
Excellent explanation madam
@susheelapatagar10 күн бұрын
@@Srikarthik Thank you:)
@Srikarthik10 күн бұрын
Concept helps a lot! Godgifted madam 🙌
@uditgohil754712 күн бұрын
It's working for the pre_randomize function as well, why ?
@susheelapatagar12 күн бұрын
its because of randomization.if not zero, other value would have been printed right, so in this case 0 only printed thats it. It is also tool dependedent. try with aldec/questa it wont work for pre_randomization.(only in synopsys u will get 0.)
@Hari_krishnaa13 күн бұрын
We can do with non_blocking statements. But It's another way to swap Good 👍
@susheelapatagar13 күн бұрын
Yes.
@Eshwarigummadidala199515 күн бұрын
table is wrong which i compare with ur explaing plz check and correct it
@susheelapatagar15 күн бұрын
Yeah.Thanks for noticing it. Its not possible to modify the uploaded video. So I have pinned my comment regarding this.
@shaikfaheed735319 күн бұрын
We_Lsi verify
@susheelapatagar19 күн бұрын
+Chip verify!
@AshokKumar-pm5vw23 күн бұрын
please upload videos for remaining topics of IPC event regions, Assertions and coverages
@susheelapatagar22 күн бұрын
@@AshokKumar-pm5vw Sure
@dibyendusarkar496726 күн бұрын
😭🤣👬pomnbuio
@KiranKumar-tp3ri26 күн бұрын
We can call by using fork join_none
@gireeshgowda618127 күн бұрын
Very helpful for the interviews
@susheelapatagar27 күн бұрын
Yeah.
@susheelapatagar29 күн бұрын
Example for format specifiers: www.edaplayground.com/x/BEc3
@gauravy997Ай бұрын
Using “always@(*)” , I am getting b = 5
@susheelapatagarАй бұрын
I guess you have used synopsys VCS, thats why u are getting 5. Use other simulators and you will get x.
@prasannakumarpatil7243Ай бұрын
Hi mam,can you make one session on,how to use %0p,%0d..and /t...etc..please
@susheelapatagarАй бұрын
I will make one shorts video for that. U can watch that in my "interview questions" playlist ps: kzfaq.infoikghcTU3H20?si=-lh1xBhPPnHjEMt7
@rekhanaik8262Ай бұрын
Thank you 🎉
@susheelapatagarАй бұрын
🥰Thank you!
@mounicasegu195Ай бұрын
Nice explanation. Doubt : Is there any way to delete the particular element in specified index in an array bcz delete method is deleting entire array elements?
@susheelapatagarАй бұрын
No. For dunamic array there is no way.(Thats why we have queue for addition and deletion)But for associative array we can use array.delete(index_num); You can use this if you really want array element to be deleted:(applies for both fixed and dynamic) int array []; int queue[$]; //-----initial block-----// array = new[5]; array = '{5, 10, 15, 20, 25}; queue=array;//assign array to queue queue.delete(3);//call delete method of queue with desired index value. //---------------------------------------// Thank you.
@boodidasadguna1836Ай бұрын
Is there any possibility to call the task in the function and how?
@susheelapatagarАй бұрын
Please check out my 1st shorts video. link: kzfaq.infovJKIPTXtdw0?si=8-mJl_kAAE1O1xl9
@ganeshkiran6232Ай бұрын
👍👍👏👏
@susheelapatagarАй бұрын
Thank uhh!
@rekhanaik8262Ай бұрын
Thank you ❤
@susheelapatagarАй бұрын
Welcome:)
@susheelapatagarАй бұрын
Can you do it using arrays or any other methods?
@susheelapatagarАй бұрын
Can you do it using arrays/bitwise/** operator?
@ganeshkiran6232Ай бұрын
Your short content is awesome.. kindly make more videos
@susheelapatagarАй бұрын
Sure.Thank you:)
@rekhanaik8262Ай бұрын
Thank you 🎉 waiting for more videos
@susheelapatagarАй бұрын
Bro💜👍
@Prasannakumar-jn7qnАй бұрын
Can you provide the eda playground link? Thanks
@susheelapatagarАй бұрын
All EDA links will be available in the respective video description.
@akshayakumars2814Ай бұрын
Daily post many videos
@susheelapatagarАй бұрын
👍
@Hari_krishnaaАй бұрын
Helpful for a quick learn..😊😊
@susheelapatagarАй бұрын
Yeah.Thanks
@rrmusic9074Ай бұрын
What is difference between structure and enum?
@susheelapatagarАй бұрын
Struct: -Can contain multiple data types (e.g., integers, reals, arrays,strings). -Used to group related variables of different types into a single entity. -Members can be individually initialized. -Useful for modeling complex data structures. -Use the dot(.) operator to access individual members of the struct. -The memory allocated for a struct is the sum of the sizes of its individual members. Enum: -Represents a single data type with a set of named values. -Used to define a variable that can take one of a specified set of constant values. -Values are assigned automatically or can be manually assigned. -Useful for defining states, modes, or other sets of constant values. -Use the enum value directly, optionally prefixed with the enum type for clarity (enum_variable::enum_element). -The memory allocated for an enum is typically the size of an integer that can hold the largest value of the enum.(By default, SV uses a 32-bit integer to store enum values.) Watch my Enumaration video.. Part 1: kzfaq.info/get/bejne/psmTZbia29_LfmQ.htmlsi=SVx8fWej0Xj0GqGO part 2: kzfaq.info/get/bejne/lcVdoqelzbuXhqs.htmlsi=Z17oWdtWnyONL0RB
@susheelapatagarАй бұрын
Correction: 5:11 By default, no keys are created.The new() method returns semaphore handle or null if it is not created. By default, one key is returned by calling get() if no value is specified.
@srini.....Ай бұрын
Hi Can you tell me how to see the string variables on the waveforms
@susheelapatagarАй бұрын
We can view the ASCII values of the corresponding string type variables in the waveform, but their names are not displayed and I am currently unsure about how to display the names.
@srini.....Ай бұрын
@@susheelapatagar thanks
@boodidasadguna1836Ай бұрын
2. constraint to generate unique numbers between 99 to 100 module tb(); class packet; rand int a; real y; constraint c1{a inside {[990:1000]};} function void post_randomize(); y=a/10.0; $display("\t\t\t uniquw valus is %2f", y); endfunction endclass initial begin packet p1=new(); repeat(20) begin p1.randomize(); end end endmodule
@susheelapatagarАй бұрын
Correct✌
@boodidasadguna1836Ай бұрын
3. without inside operator generate random values for the range 34-43 class packet; rand logic [7:0] a; constraint range { (a > 34) && (a < 43); } endclass module tb; packet p; initial begin p = new(); $display("value of a (>34 and <43) is:"); repeat(15) begin p.randomize(); $display("a = %0d", p.a); // Display the value of 'a' end end endmodule
@susheelapatagarАй бұрын
constraint range { (a >= 34) && (a <= 43); } because 'inside' includes 34 and 43 too.
@boodidasadguna1836Ай бұрын
@@susheelapatagar thanks for correction
@pruthvimelagiri3856Ай бұрын
Super 🎉
@susheelapatagarАй бұрын
Thank you!
@boodidasadguna1836Ай бұрын
Very clear explanation. Thank you 🎉
@susheelapatagarАй бұрын
Welcome!!
@AshokKumar-pm5vwАй бұрын
Please can you send the example link
@susheelapatagarАй бұрын
You can find all the code links in the video description.
@AshokKumar-pm5vwАй бұрын
Tq mam
@rekhanaik8262Ай бұрын
Thank you 🎉
@susheelapatagarАй бұрын
You're welcome:)
@ramyamarrapu4823Ай бұрын
Need more videos on Coverages
@susheelapatagarАй бұрын
uploading soon!
@ramyamarrapu4823Ай бұрын
@@susheelapatagar thank you
@ANILKUMAR-pj7woАй бұрын
How to override constraints without using soft keyword?
@susheelapatagarАй бұрын
use constraint_mode and turn of that class constraint check it: www.edaplayground.com/x/wuXH