<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > FPGA中的多時(shí)鐘域設計

FPGA中的多時(shí)鐘域設計

作者: 時(shí)間:2017-10-13 來(lái)源:網(wǎng)絡(luò ) 收藏

覺(jué)得這篇文章很好,因此在這里翻譯一下——或者也可以說(shuō)是按我的理解加中文注釋。

本文引用地址:http://dyxdggzs.com/article/201710/365627.htm

MulTIple, independent clocks are ubiquitous in system-on-chip (SoC) design. Most SoC devices have mulTIple interfaces, some following standards that use very different clock frequencies.
在一個(gè)SOC設計中,存在多個(gè)、獨立的時(shí)鐘,這已經(jīng)是一件很平常的事情了。大多數的SOC器件都具有很多個(gè)接口,各個(gè)接口標準都可能會(huì )使用完全不同的時(shí)鐘頻率。

Many modern serial interfaces are inherently asynchronous from the rest of the chip; some actually derive their clocks directly from the incoming data streams. There is also a trend toward designing major sub-blocks of SoCs to run on independent clocks to ease the problem of clock skew across large chips.
例如對于現代的串行通信接口而言,它們自然而然地就與芯片的其余部分是不同步的,因為它們的時(shí)鐘有時(shí)候就是直接從數據流中恢復出來(lái)的。而且,現在還有一個(gè)趨勢,就是有時(shí)候為了在避免大芯片中令人頭痛的所謂clocl skew問(wèn)題,索性讓各個(gè)子模塊都具有獨立的時(shí)鐘。

For all of these reasons, designers working on SoC projects are virtually certain to encounter mulTIple clocks and to be faced with the design of logic interconnecTIng two portions of the chip running on independent clocks. Each such portion is known as a clock domain. The interface between logic on different clocks is called a clock domain crossing or clock domain boundary. The proper handing of signals across clock domain boundaries is critical for successful SoC design.
因為以上原因,進(jìn)行SOC設計時(shí),常常要考慮工作在不同時(shí)鐘下的兩個(gè)部分邏輯之間的互連問(wèn)題,而每個(gè)部分,都可稱(chēng)之為“時(shí)鐘域”,連接它們之間的那部分數字邏輯可稱(chēng)為“時(shí)鐘邊界”或所謂“跨時(shí)鐘域”。合理地處理跨時(shí)鐘的問(wèn)題,對于一個(gè)成功的SOC設計來(lái)說(shuō)非常關(guān)鍵。

Problem #1: Meta-stability

The first multi-clock problem that designers must consider is that of meta-stability as signals pass from one clock domain to another. Most designers understand that meta-stability is a real problem in real circuits; the modern abstractions of RTL design and static timing analysis cant entirely shield designers from having to worry about the underlying physics.
1) 亞穩態(tài)
設計的第一個(gè)問(wèn)題,便是信號從一個(gè)時(shí)鐘域傳輸到另一個(gè)時(shí)鐘域的時(shí)候,可能會(huì )出現亞穩態(tài)。 許多設計者都知道,在真實(shí)的電路中的確會(huì )存在所謂亞穩態(tài)的問(wèn)題。但是,在現代的設計中,即使設計者面對的是RTL級抽象和靜態(tài)時(shí)序分析,卻仍然不能完全將這個(gè)問(wèn)題拒之門(mén)外,因為抽象的掩蓋之下,我們仍然避免不了真實(shí)的物理規律。

Whenever a signal enters a clocked circuit element, such as a flip-flop, too close to the clock, there is the potential for meta-stability. When this happens, the flip-flop may not immediately settle to a known value. It is critical that the output signal from the flip-flop not be used until it has settled.
任何時(shí)候,一個(gè)信號輸入到一個(gè)時(shí)鐘觸發(fā)的電路——例如一個(gè)D觸發(fā)器,當信號(跳變)過(guò)于靠近時(shí)鐘前沿,便會(huì )存在所謂亞穩態(tài)問(wèn)題。這個(gè)時(shí)候,DFF的輸出端不會(huì )馬上產(chǎn)生一個(gè)可預知的值,也就是說(shuō),在這段時(shí)間內,輸出信號是無(wú)效的。

On a truly asynchronous clock boundary, the receiving domains clock is used to capture each signal from the driving domain in a flip-flop. Because there is no defined temporal relationship between the clock and the signal, it is entirely possible that they could transition at the same time. Whenever this happens, there is a possibility of meta-stability in the receiving clock domain.
在設計中,常常會(huì )用一個(gè)觸發(fā)器接收來(lái)自于另一個(gè)時(shí)鐘域的輸出信號(即用本地時(shí)鐘的前沿來(lái)鎖存另一個(gè)時(shí)鐘域的信號)。由于觸發(fā)器的時(shí)鐘和數據輸入信號不存在確定的相位關(guān)系,因此完全有可能出現數據和時(shí)鐘同時(shí)跳變的情況。這樣,就在接收端所在的時(shí)鐘域中造成了亞穩態(tài)。

This is not just a theoretical potential. GHz-rate chips with clocking design errors can exhibit the effects of meta-stability quite quickly when running in real systems. These effects typically include loss of critical handshake signals between clocks domains, and corruption of multi-bit dataserious problems that are highly likely to require a chip re-spin.
亞穩態(tài)的風(fēng)險,并不僅僅是理論上的。對于GHz數據率的芯片,如果時(shí)鐘設計考慮不當,一旦把它放到實(shí)際系統中運行,亞穩態(tài)的效果所造成的危害很快就會(huì )表現出來(lái)。最典型的比如說(shuō),跨時(shí)鐘域的關(guān)鍵握手信號丟失,以及并行數據出錯。然后這個(gè)芯片的設計很可能就泡湯,于是你不得不推倒重來(lái)。(所謂 re-spin,按我的理解,是重新開(kāi)始的意思)

Most designers also know that the textbook solution to meta-stability is using two levels of flip-flops on each signal crossing a clock domain boundary. Even if the first flip-flop does become meta-stable, there is an extremely high likelihood that the signal will settle by the time that it passes through the second level. The double-level flip-flop structure is often called a synchronizer, and designers commonly speak of synchronizing signals across clock domains.
多數設計者都已經(jīng)知道,對于亞穩態(tài),教科書(shū)上經(jīng)典的解決辦法,就是在凡時(shí)鐘邊界的地方,都用兩級(D)觸發(fā)器對信號進(jìn)行同步。這樣的話(huà),哪怕第一級D觸發(fā)器進(jìn)入了亞穩態(tài),后一級也極有可能把它克服掉。這種兩級觸發(fā)器結構,通常稱(chēng)為“synchronizer”,這個(gè)過(guò)程也稱(chēng)為跨時(shí)鐘域信號同步。

Problem #2: Reset synchronization 復位的同步問(wèn)題
Improper synchronization of reset signals is a related problem in multi-clock designs. Designers sometimes forget that reset signals are subject to meta-stability and must be protected by synchronizers. Generally, the entire SoC can be reset by a single signal, which therefore must propagate to all clocked elements in all clock domains.
復位信號的不同步,也是一個(gè)與多時(shí)鐘設計相關(guān)的問(wèn)題。設計者有時(shí)候會(huì )忘了一個(gè)事實(shí),那就是復位信號也可能引起亞穩態(tài)問(wèn)題,而且必須用synchronizers來(lái)對它進(jìn)行同步。通常來(lái)說(shuō),每個(gè)SOC都會(huì )有一個(gè)reset信號,這個(gè)信號被送到各個(gè)時(shí)鐘域的各個(gè)同步邏輯單元,來(lái)對整個(gè)芯片/系統進(jìn)行復位。

There is no need for synchronization on the activation edge of reset, since by definition all state elements are reset to initial values, and the reset signal will generally be held active for enough cycles to allow any meta-stability to settle out.



關(guān)鍵詞: FPGA 多時(shí)鐘域

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>