對(duì)于從FPGA外部進(jìn)來(lái)的信號(hào),我們通常采用“異步復(fù)位同步釋放的策略”,具體電路如下圖所示。圖中src_arst是輸入異步復(fù)位信號(hào),dest_arst是同步釋放的異步復(fù)位信號(hào),其后負(fù)載為需要異步復(fù)位的觸發(fā)器。
從時(shí)序關(guān)系的角度來(lái)看,結(jié)合如下仿真波形,異步復(fù)位信號(hào)在藍(lán)色標(biāo)記的時(shí)鐘上升沿被釋放,所有觸發(fā)器將在紅色邊沿開(kāi)始輸出D端口數(shù)據(jù)。
問(wèn)題是如果后續(xù)觸發(fā)器公眾在不同的時(shí)鐘頻率下,這種方式是否仍能確保所有觸發(fā)器的異步復(fù)位信號(hào)在同一個(gè)時(shí)鐘上升沿被釋放?為便于說(shuō)明,我們假定設(shè)計(jì)中有兩個(gè)時(shí)鐘,分別為100MHz和200MHz,均有同一個(gè)MMCM/PLL生成,即二者是同步時(shí)鐘(同相不同頻)。
第一種情況:同步器工作在100MHz時(shí)鐘的上升沿
在這種情況下,假定異步復(fù)位在標(biāo)記(1)被釋放,那么200M時(shí)鐘域下的觸發(fā)器將在標(biāo)記(3)開(kāi)始輸出D端數(shù)據(jù),而100M時(shí)鐘域下的觸發(fā)器則要在標(biāo)記(5)開(kāi)始輸出D端數(shù)據(jù),顯然,兩者并沒(méi)有在同一個(gè)時(shí)鐘沿下開(kāi)始工作。
第二種情況:同步器工作在200MHz時(shí)鐘的上升沿
在這種情況下,如果異步復(fù)位是在標(biāo)記(3)釋放,那么100M時(shí)鐘域下的觸發(fā)器和200M時(shí)鐘域下的觸發(fā)器都將在標(biāo)記(5)結(jié)束復(fù)位,開(kāi)始輸出D端口數(shù)據(jù)。
但是,如果復(fù)位是在標(biāo)記(1)釋放,如下圖所示,100M時(shí)鐘域下的觸發(fā)器將在標(biāo)記(5)輸出D端口數(shù)據(jù),而200M時(shí)鐘域下的觸發(fā)器將在標(biāo)記(3)輸出D端口數(shù)據(jù)。
第三種情況:同步器工作在100MHz時(shí)鐘的下降沿
在這種情況下,同步器工作在100MHz時(shí)鐘的下降沿,但后續(xù)觸發(fā)器仍工作在時(shí)鐘的上升沿。如下圖所示。異步復(fù)位在標(biāo)記(3)釋放,那么100M時(shí)鐘域下的觸發(fā)器將在標(biāo)記(5)開(kāi)始輸出D端口數(shù)據(jù),200M時(shí)鐘域下的觸發(fā)器也在此刻輸出D端口數(shù)據(jù),故兩者可以在同一個(gè)時(shí)刻開(kāi)始釋放復(fù)位正常工作。
如果兩個(gè)時(shí)鐘是異步時(shí)鐘,都要使用外部提供的同一個(gè)復(fù)位信號(hào),這時(shí)無(wú)法做到這兩個(gè)時(shí)鐘域下的觸發(fā)器實(shí)現(xiàn)復(fù)位信號(hào)同步釋放。這是因?yàn)檫@兩個(gè)時(shí)鐘之間沒(méi)有明確的相位關(guān)系,這就造成同步器引發(fā)的延遲差是不確定的。這種情況下,我們需要對(duì)每個(gè)時(shí)鐘域添加同步器,生成各自時(shí)鐘域下的復(fù)位信號(hào),如下圖所示。
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602982 -
pll
+關(guān)注
關(guān)注
6文章
776瀏覽量
135130 -
時(shí)鐘
+關(guān)注
關(guān)注
10文章
1733瀏覽量
131446 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2000瀏覽量
61131 -
同步器
+關(guān)注
關(guān)注
1文章
98瀏覽量
14629 -
異步復(fù)位
+關(guān)注
關(guān)注
0文章
47瀏覽量
13311 -
PLL電路
+關(guān)注
關(guān)注
0文章
92瀏覽量
6403
原文標(biāo)題:異步復(fù)位同步釋放有多個(gè)時(shí)鐘域時(shí)如何處理
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論