All most all CDC doubts are clear to me. Thanks for the videos Karthik..
@boliu99847 ай бұрын
Thank you so much! I have been struggled with this problem for about one month. You totally saved my life!!!🥰
@KarthikVippala7 ай бұрын
Happy to help!
@sunnyyou61694 жыл бұрын
Super brother nice topic
@anilkadiyala3 жыл бұрын
First of all Great work. I support u in making great videos like this !!! As explained pin-pointed 3:40. After metastability, it(A1Q) would go to a stable high but that is not always guaranteed. Right ??. pessimistically it may settle to low also. which I consider that as bad luck and the whole functionality will ruin. please give ur views.
@DmitryS-fu7kv2 жыл бұрын
DATA lines and REQ line can be routed in FPGA in very different paths and lengths. Thats why synchronization work only for one signal - REQ. If you want synchronize DATA, you need "set max delay" between REQ path and all DATA paths (REQ to DATA0, REQ to DATA1 and so on) to less then one clock cycle (of maximal clock).
@mounikaathuluri71964 жыл бұрын
Good video...very informative Can u do any video on how to keep timing constraints related to FPGAs.....pls
@KarthikVippala4 жыл бұрын
Hey mounika , thanks for asking. Do you mean create clock, input delay , output delay. If my understanding is wrong , please elaborate the topics 👍
@mounikaathuluri71964 жыл бұрын
@@KarthikVippala Yes exactly...its all about sdc constraints
@KarthikVippala4 жыл бұрын
Ok I will make it but I will make it in July 1st week
@mounikaathuluri71964 жыл бұрын
Thanks
@pranavgupta45522 жыл бұрын
Hi Karthik What is the drawback of handshake CDC technique , which motivate us to move to FIFO syncronizers.
@MrVerilog4 жыл бұрын
One thing not made clear is that when the sender receives the ack it needs to set the request signal low because the receiver needs to be waiting and watching for it to go low so that it knows when to deassert it's ack signal.
@nabhay5832 жыл бұрын
I don't get it, so the sender doesn't change the data as long as REQ is high and ACK is low, once the receiver gets the data ACK goes high and the sender sees this. After receiving the ACK the sender makes REQ go low? If that's how it happens then how is the next bit sent? Shouldn't REQ be stable for the next bit also?
@manlupiano14313 жыл бұрын
Nice explanation Karthik. Just double check, this handshake synchronizer can be applied on both CLKA > CLKB and CLKA < CLKB right?
@agarwalchucky4 жыл бұрын
Shall depth of flops used for synchronisation should be same for data transfer control and ack ? If no, then how it is decided ?
@KarthikVippala4 жыл бұрын
Hey Chakra , thanks for asking the question, Yes it can vary , we must choose depth such that we don't get metastable state , for data transfer it we may require 2 , for ack we may require 3 , it all depends on the clocks. Good luck, good health 👍
@agarwalchucky4 жыл бұрын
@@KarthikVippala Thanks... I was also thinking of that... It would have been to include this in your video and what is the best way to identify whether your synchronization with ack is functionally correct or not ?
@KarthikVippala4 жыл бұрын
@@agarwalchucky I missed that , I will answer the queries if you have any.👍
@anilkadiyala3 жыл бұрын
@@KarthikVippala I heard this method designed in such a way of irrespective of clock ratios. And coming to question raised by Agarwal ji. Its all depends on the MTBF. And inturn MTBF is inversely proportional to incoming data rate.
@sandhyaramasubramanian23754 жыл бұрын
Thank you for your amazing videos 🙂 1. Why the metastability of the data is not a concern in the handshake method? 2. Why is it that you mention metastability in A1Q but not in B1Q?
@sandhyaramasubramanian23754 жыл бұрын
Please could you reply to my doubt?
@KarthikVippala4 жыл бұрын
Hey sandhya , thanks for asking the question, metastability can still occur in handshake synchronizer but here we able to send data more than single bit. Metastability can occur at B1Q , but for the example I have taken req is coming at time where there is no violation , at A1Q there is violation so metastability is shown . This is just a scenario , while working it can be different. Good luck, good health 👍😊
@seejingyin9984 жыл бұрын
Can we use handshaking method when passing signal from high frequency clock domain to low frequency clock domain (usually use asynchronous FIFO) ? Or is it only applicable from low frequency clock domain to high frequency clock domain just like any other synchronisers (two flipflops) did?
@KarthikVippala4 жыл бұрын
Hi see Jing yin, thanks for asking the question, Yes we can use it for high to low . Good luck, good health 👍
@SouravGoyal-o9y4 ай бұрын
@@KarthikVippala So Normally for AFIFO which synchronization scheme will you prefer to use for control paths of an AFIFO?
@rishikumar.n.g.58543 жыл бұрын
Hi Karthick.we are going for N stage synchronisers to fix CDC.How is N calculated?
@matteoserva86484 жыл бұрын
Thank you for that video
@KarthikVippala4 жыл бұрын
Thanks for the support 🙏
@swapnilmittal80023 жыл бұрын
Hi.. Great video.. Just one doubt.. In the video, A1Q is going high on the same cycle as ACK. But shouldn't it be delayed by one clock cycle.?
@KarthikVippala3 жыл бұрын
Namaskaram Swapnil , Two clocks are different Ack is arriving just before the clock edge of clk A so A1Q looks it is sync with Ack , my drawing is not that clear ,you can try on paper for better understanding , Good luck & Great Health _/\_ , Take care:)
@bennguyen13132 жыл бұрын
When there is slow logic that needs to catch a pulse generated by fast logic.. what are the alternatives to the handshake approach? ( Sender outputs data and THEN asserts REQ Receiver latches data and THEN asserts ACK Sender deasserts REQ, will not reassert it until ACK deasserts Receiver sees REQ deasserted, deasserts ACK when ready to continue ) For example, is there a way the pulse could be stretched, such that to guarantee it would be seen by logic running from the slower-clock?
@arpitgoel8852 жыл бұрын
Hi whats the difference between handshake based pulse synchronizer and simple handshake synchronizer
@zenithchokshi93653 жыл бұрын
Hello Karthik, How receiver gets to know that all the data bits were received or not?
@a.v.varunraj21417 ай бұрын
Can u draw the timing diagram for passing multiple signals....
@varunmajji65143 жыл бұрын
Might doubt is after metastability it might go to zero also right
@saloniraj75642 жыл бұрын
Why can the data not be changed until it recieves ACK signal? Could you please clarify this? If the data is changed after one cycle, even then it could be stable right after it passes through 2 flop synchroniser? Then why is this constraint passed that it should not be changed?
@oscarcastilla32172 жыл бұрын
Hey man great video, I only have one question, how would it be the adaptation to vhdl code?
@KarthikVippala2 жыл бұрын
Namaste 🙏 Oscar , will add two flop syn in code by using always block. Thanks for asking good luck and great health 👍😊
@oscarcastilla32172 жыл бұрын
@@KarthikVippala Thanks man!! New sub here
@KarthikVippala2 жыл бұрын
Grateful 🙏😊
@saurabhsrivastava23704 жыл бұрын
What is the resource you use to make these videos? I want to solve practice problems
@KarthikVippala4 жыл бұрын
Hey Saurabh thanks for asking, I have found these on papers published on synchronization, you can search it on web for it. Good luck 👍
@saurabhsrivastava23704 жыл бұрын
@@KarthikVippala Thanks a lot. Can you make videos on Lockup Latch Concept?
@KarthikVippala4 жыл бұрын
Hey Saurabh thanks for asking, Yes I will make it , can tell me what you need
@saurabhsrivastava23704 жыл бұрын
@@KarthikVippala I never got the timing considerations using Lockup Latch correctly, so it will be great if you can explain it.
@KarthikVippala4 жыл бұрын
@@saurabhsrivastava2370 hey I will try to it by next week , is that ok for you👍
@uday57864 жыл бұрын
Thank u so much
@KarthikVippala4 жыл бұрын
Your welcome 👍. Hey do you need any other topics ,so that I can make a video
@uday57864 жыл бұрын
@@KarthikVippala mux synchronisation
@KarthikVippala4 жыл бұрын
I will do that ,any other than synchronization 👍
@uday57864 жыл бұрын
PLL
@KarthikVippala4 жыл бұрын
@@uday5786 ok I will 👍
@ranjanparnami3 жыл бұрын
Thanks
@KarthikVippala3 жыл бұрын
Welcome
@ranjanparnami3 жыл бұрын
@@KarthikVippala Nice to hear from you. do you have any link/ video/ notes/ article on basic operation/ theory of ADC , their types, worming, selection criteria and interview questions. Please let me know.
@apoorvupadhyay76692 жыл бұрын
please share one example code
@KarthikVippala2 жыл бұрын
Namaste 🙏 apoorv , thanks for asking,Sure will do it upcoming video, good luck and great health 👍😊
@bhuvskaya88982 жыл бұрын
@@KarthikVippala where is the. Code?
@KarthikVippala2 жыл бұрын
@@bhuvskaya8898 no video on code
@bhuvskaya88982 жыл бұрын
@@KarthikVippala do u have any document or text file of code?
@KarthikVippala2 жыл бұрын
No
@naveenagarwal2651 Жыл бұрын
Sirf A1Q should be delayed by 1Tclk wrt ACK right? You've shown both in the same clock edge