Handshake synchronizer (clock domain crossing)

  Рет қаралды 18,307

Karthik Vippala

Karthik Vippala

Күн бұрын

Hey guys in this video I have discussed about handshake synchronizer, with timing diagrams for illustration ,
Thanks for watching the video .
please do subscribe it will help me a lot

Пікірлер: 68
@boliu9984
@boliu9984 2 ай бұрын
Thank you so much! I have been struggled with this problem for about one month. You totally saved my life!!!🥰
@KarthikVippala
@KarthikVippala 2 ай бұрын
Happy to help!
@sriharikumargoud
@sriharikumargoud 2 жыл бұрын
All most all CDC doubts are clear to me. Thanks for the videos Karthik..
@DmitryS-fu7kv
@DmitryS-fu7kv Жыл бұрын
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).
@sunnyyou6169
@sunnyyou6169 4 жыл бұрын
Super brother nice topic
@manlupiano1431
@manlupiano1431 3 жыл бұрын
Nice explanation Karthik. Just double check, this handshake synchronizer can be applied on both CLKA > CLKB and CLKA < CLKB right?
@anilkadiyala
@anilkadiyala 3 жыл бұрын
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.
@matteoserva8648
@matteoserva8648 4 жыл бұрын
Thank you for that video
@KarthikVippala
@KarthikVippala 4 жыл бұрын
Thanks for the support 🙏
@MrVerilog
@MrVerilog 3 жыл бұрын
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.
@nabhay583
@nabhay583 2 жыл бұрын
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?
@rishikumar.n.g.5854
@rishikumar.n.g.5854 2 жыл бұрын
Hi Karthick.we are going for N stage synchronisers to fix CDC.How is N calculated?
@pranavgupta4552
@pranavgupta4552 Жыл бұрын
Hi Karthik What is the drawback of handshake CDC technique , which motivate us to move to FIFO syncronizers.
@varunmajji6514
@varunmajji6514 3 жыл бұрын
Might doubt is after metastability it might go to zero also right
@a.v.varunraj2141
@a.v.varunraj2141 2 ай бұрын
Can u draw the timing diagram for passing multiple signals....
@seejingyin998
@seejingyin998 3 жыл бұрын
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?
@KarthikVippala
@KarthikVippala 3 жыл бұрын
Hi see Jing yin, thanks for asking the question, Yes we can use it for high to low . Good luck, good health 👍
@zenithchokshi9365
@zenithchokshi9365 2 жыл бұрын
Hello Karthik, How receiver gets to know that all the data bits were received or not?
@sandhyaramasubramanian2375
@sandhyaramasubramanian2375 3 жыл бұрын
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?
@sandhyaramasubramanian2375
@sandhyaramasubramanian2375 3 жыл бұрын
Please could you reply to my doubt?
@KarthikVippala
@KarthikVippala 3 жыл бұрын
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 👍😊
@swapnilmittal8002
@swapnilmittal8002 3 жыл бұрын
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.?
@KarthikVippala
@KarthikVippala 3 жыл бұрын
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:)
@mounikaathuluri7196
@mounikaathuluri7196 4 жыл бұрын
Good video...very informative Can u do any video on how to keep timing constraints related to FPGAs.....pls
@KarthikVippala
@KarthikVippala 4 жыл бұрын
Hey mounika , thanks for asking. Do you mean create clock, input delay , output delay. If my understanding is wrong , please elaborate the topics 👍
@mounikaathuluri7196
@mounikaathuluri7196 4 жыл бұрын
@@KarthikVippala Yes exactly...its all about sdc constraints
@KarthikVippala
@KarthikVippala 4 жыл бұрын
Ok I will make it but I will make it in July 1st week
@mounikaathuluri7196
@mounikaathuluri7196 4 жыл бұрын
Thanks
@saloniraj7564
@saloniraj7564 2 жыл бұрын
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?
@ranjanparnami
@ranjanparnami 3 жыл бұрын
Thanks
@KarthikVippala
@KarthikVippala 3 жыл бұрын
Welcome
@ranjanparnami
@ranjanparnami 3 жыл бұрын
@@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.
@bennguyen1313
@bennguyen1313 2 жыл бұрын
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?
@arpitgoel885
@arpitgoel885 2 жыл бұрын
Hi whats the difference between handshake based pulse synchronizer and simple handshake synchronizer
@oscarcastilla3217
@oscarcastilla3217 2 жыл бұрын
Hey man great video, I only have one question, how would it be the adaptation to vhdl code?
@KarthikVippala
@KarthikVippala 2 жыл бұрын
Namaste 🙏 Oscar , will add two flop syn in code by using always block. Thanks for asking good luck and great health 👍😊
@oscarcastilla3217
@oscarcastilla3217 2 жыл бұрын
@@KarthikVippala Thanks man!! New sub here
@KarthikVippala
@KarthikVippala 2 жыл бұрын
Grateful 🙏😊
@agarwalchucky
@agarwalchucky 3 жыл бұрын
Shall depth of flops used for synchronisation should be same for data transfer control and ack ? If no, then how it is decided ?
@KarthikVippala
@KarthikVippala 3 жыл бұрын
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 👍
@agarwalchucky
@agarwalchucky 3 жыл бұрын
@@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 ?
@KarthikVippala
@KarthikVippala 3 жыл бұрын
@@agarwalchucky I missed that , I will answer the queries if you have any.👍
@anilkadiyala
@anilkadiyala 3 жыл бұрын
@@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.
@uday5786
@uday5786 4 жыл бұрын
Thank u so much
@KarthikVippala
@KarthikVippala 4 жыл бұрын
Your welcome 👍. Hey do you need any other topics ,so that I can make a video
@uday5786
@uday5786 4 жыл бұрын
@@KarthikVippala mux synchronisation
@KarthikVippala
@KarthikVippala 4 жыл бұрын
I will do that ,any other than synchronization 👍
@uday5786
@uday5786 4 жыл бұрын
PLL
@KarthikVippala
@KarthikVippala 4 жыл бұрын
@@uday5786 ok I will 👍
@saurabhsrivastava2370
@saurabhsrivastava2370 4 жыл бұрын
What is the resource you use to make these videos? I want to solve practice problems
@KarthikVippala
@KarthikVippala 4 жыл бұрын
Hey Saurabh thanks for asking, I have found these on papers published on synchronization, you can search it on web for it. Good luck 👍
@saurabhsrivastava2370
@saurabhsrivastava2370 4 жыл бұрын
@@KarthikVippala Thanks a lot. Can you make videos on Lockup Latch Concept?
@KarthikVippala
@KarthikVippala 4 жыл бұрын
Hey Saurabh thanks for asking, Yes I will make it , can tell me what you need
@saurabhsrivastava2370
@saurabhsrivastava2370 4 жыл бұрын
@@KarthikVippala I never got the timing considerations using Lockup Latch correctly, so it will be great if you can explain it.
@KarthikVippala
@KarthikVippala 4 жыл бұрын
@@saurabhsrivastava2370 hey I will try to it by next week , is that ok for you👍
@apoorvupadhyay7669
@apoorvupadhyay7669 2 жыл бұрын
please share one example code
@KarthikVippala
@KarthikVippala 2 жыл бұрын
Namaste 🙏 apoorv , thanks for asking,Sure will do it upcoming video, good luck and great health 👍😊
@bhuvskaya8898
@bhuvskaya8898 2 жыл бұрын
@@KarthikVippala where is the. Code?
@KarthikVippala
@KarthikVippala 2 жыл бұрын
@@bhuvskaya8898 no video on code
@bhuvskaya8898
@bhuvskaya8898 2 жыл бұрын
@@KarthikVippala do u have any document or text file of code?
@KarthikVippala
@KarthikVippala 2 жыл бұрын
No
@naveenagarwal2651
@naveenagarwal2651 11 ай бұрын
Sirf A1Q should be delayed by 1Tclk wrt ACK right? You've shown both in the same clock edge
Handshake based pulse synchronizer Explained!!
8:40
Karthik Vippala
Рет қаралды 14 М.
КАК ДУМАЕТЕ КТО ВЫЙГРАЕТ😂
00:29
МЯТНАЯ ФАНТА
Рет қаралды 4,4 МЛН
When You Get Ran Over By A Car...
00:15
Jojo Sim
Рет қаралды 29 МЛН
КАРМАНЧИК 2 СЕЗОН 7 СЕРИЯ ФИНАЛ
21:37
Inter Production
Рет қаралды 550 М.
Mux synchronizer (Clock domain crossing)
5:17
Karthik Vippala
Рет қаралды 16 М.
Crossing Clock Domains in an FPGA
16:38
nandland
Рет қаралды 66 М.
60 - Metastability and Synchronizers
11:15
Anas Salah Eddin
Рет қаралды 7 М.
Signal Synchronization Rules (Must Follow!!)
6:05
Karthik Vippala
Рет қаралды 8 М.