www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]時(shí)鐘是整個(gè)電路最重要、最特殊的信號(hào),系統(tǒng)內(nèi)大部分器件的動(dòng)作都是在時(shí)鐘的跳變沿上進(jìn)行, 這就要求時(shí)鐘信號(hào)時(shí)延差要非常小, 否則就可能造成時(shí)序邏輯狀態(tài)出錯(cuò);因而明確FPGA設(shè)計(jì)中決定系統(tǒng)時(shí)鐘的因素,盡量較小時(shí)鐘的

時(shí)鐘是整個(gè)電路最重要、最特殊的信號(hào),系統(tǒng)內(nèi)大部分器件的動(dòng)作都是在時(shí)鐘的跳變沿上進(jìn)行, 這就要求時(shí)鐘信號(hào)時(shí)延差要非常小, 否則就可能造成時(shí)序邏輯狀態(tài)出錯(cuò);因而明確FPGA設(shè)計(jì)中決定系統(tǒng)時(shí)鐘的因素,盡量較小時(shí)鐘的延時(shí)對(duì)保證設(shè)計(jì)的穩(wěn)定性有非常重要的意義。

1.1 建立時(shí)間與保持時(shí)間

建立時(shí)間(Tsu:set up time)是指在時(shí)鐘沿到來之前數(shù)據(jù)從不穩(wěn)定到穩(wěn)定所需的時(shí)間,如果建立的時(shí)間不滿足要求那么數(shù)據(jù)將不能在這個(gè)時(shí)鐘上升沿被穩(wěn)定的打入觸發(fā)器;

保持時(shí)間(Th:hold time)是指數(shù)據(jù)穩(wěn)定后保持的時(shí)間,如果保持時(shí)間不滿足要求那么數(shù)據(jù)同樣也不能被穩(wěn)定的打入觸發(fā)器。建立與保持時(shí)間的簡(jiǎn)單示意圖如下圖1所示。


  圖1 保持時(shí)間與建立時(shí)間的示意圖

在FPGA設(shè)計(jì)的同一個(gè)模塊中常常是包含組合邏輯與時(shí)序邏輯,為了保證在這些邏輯的接口處數(shù)據(jù)能穩(wěn)定的被處理,那么對(duì)建立時(shí)間與保持時(shí)間建立清晰的概念非常重要。下面在認(rèn)識(shí)了建立時(shí)間與保持時(shí)間的概念上思考如下的問題。


  圖2 同步設(shè)計(jì)中的一個(gè)基本模型

圖2為統(tǒng)一采用一個(gè)時(shí)鐘的同步設(shè)計(jì)中一個(gè)基本的模型。圖中

Tco:是觸發(fā)器的數(shù)據(jù)輸出的延時(shí);

Tdelay:是組合邏輯的延時(shí);

Tsetup:是觸發(fā)器的建立時(shí)間;

Tpd:為時(shí)鐘的延時(shí)(可以忽略不計(jì))。

T:為時(shí)鐘周期

T3:D2建立時(shí)間

T4:D2保持時(shí)間

如果第一個(gè)觸發(fā)器D1建立時(shí)間最大為T1max,最小為T1min,組合邏輯的延時(shí)最大為T2max,最小為T2min。問第二個(gè)觸發(fā)器D2建立時(shí)間T3與保持時(shí)間T4應(yīng)該滿足什么條件,或者是知道了T3與T4那么能容許的最大時(shí)鐘周期是多少。這個(gè)問題是在設(shè)計(jì)中必須考慮的問題,只有弄清了這個(gè)問題才能保證所設(shè)計(jì)的組合邏輯的延時(shí)是否滿足了要求。

下面通過時(shí)序圖來分析:設(shè)第一個(gè)觸發(fā)器的輸入為D1,輸出為Q1;第二個(gè)觸發(fā)器的輸入為D2,輸出為Q2;

時(shí)鐘統(tǒng)一在上升沿進(jìn)行采樣,為了便于分析我們討論兩種情況即第一:假設(shè)時(shí)鐘的延時(shí)Tpd為零,其實(shí)這種情況在FPGA設(shè)計(jì)中是常常滿足的,由于在FPGA 設(shè)計(jì)中一般是采用統(tǒng)一的系統(tǒng)時(shí)鐘,也就是利用從全局時(shí)鐘管腳輸入的時(shí)鐘,這樣在內(nèi)部時(shí)鐘的延時(shí)完全可以忽略不計(jì)。這種情況下不必考慮保持時(shí)間,因?yàn)槊總€(gè)數(shù)據(jù)都是保持一個(gè)時(shí)鐘節(jié)拍同時(shí)又有線路的延時(shí),也就是都是基于CLOCK的延遲遠(yuǎn)小于數(shù)據(jù)的延遲基礎(chǔ)上,所以保持時(shí)間都能滿足要求,重點(diǎn)是要關(guān)心建立時(shí)間,此時(shí)如果D2的建立時(shí)間滿足要求那么時(shí)序圖應(yīng)該如圖3所示。

從圖中可以看出如果:

  T-Tco-Tdelay>T3

即: Tdelay< T-Tco-T3(在D2建立時(shí)間內(nèi) 信號(hào)能從通過組合邏輯D1到達(dá)D2,即在第二個(gè)CLK來建立時(shí)間前,數(shù)據(jù)已經(jīng)在Tsup)

那么就滿足了建立時(shí)間的要求,其中T為時(shí)鐘的周期,這種情況下第二個(gè)觸發(fā)器就能在第二個(gè)時(shí)鐘的上升沿就能穩(wěn)定的采到D2,時(shí)序圖如圖3所示。

{D1 => 建立時(shí)間 => 保持時(shí)間 => 觸發(fā)器數(shù)據(jù)輸出延時(shí) => 組合邏輯延時(shí) => D2 => …}


                    圖3 符合要求的時(shí)序圖

如果組合邏輯的延時(shí)過大使得

T-Tco-Tdelay < T3(Tcox<D2建立時(shí)間)

那么將不滿足要求,第二個(gè)觸發(fā)器就在第二個(gè)時(shí)鐘的升沿將采到的是一個(gè)不定態(tài),如圖4所示。那么電路將不能正常的工作。


圖4 組合邏輯的延時(shí)過大時(shí)序不滿足要求

從而可以推出

  T-Tco-T2max>=T3

這也就是要求的D2的建立時(shí)間。

從上面的時(shí)序圖中也可以看出,D2的建立時(shí)間與保持時(shí)間與D1的建立與保持時(shí)間是沒有關(guān)系的,而只和D2前面的組合邏輯和D1的數(shù)據(jù)傳輸延時(shí)有關(guān),這也是一個(gè)很重要的結(jié)論。說明了延時(shí)沒有疊加效應(yīng)。

第二種情況如果時(shí)鐘存在延時(shí),這種情況下就要考慮保持時(shí)間了,同時(shí)也需要考慮建立時(shí)間。時(shí)鐘出現(xiàn)較大的延時(shí)多是采用了異步時(shí)鐘的設(shè)計(jì)方法,這種方法較難保證數(shù)據(jù)的同步性,所以實(shí)際的設(shè)計(jì)中很少采用。此時(shí)如果建立時(shí)間與保持時(shí)間都滿足要求那么輸出的時(shí)序如圖5所示。


                  圖5 時(shí)鐘存在延時(shí)但滿足時(shí)序

從圖5中可以容易的看出對(duì)建立時(shí)間放寬了Tpd,所以D2的建立時(shí)間需滿足要求:

Tpd+T-Tco-T2max>=T3  (T3是D2建立時(shí)間,T2max組合邏輯最大延時(shí),Tpd是時(shí)鐘延時(shí))

由于建立時(shí)間與保持時(shí)間的和是穩(wěn)定的一個(gè)時(shí)鐘周期(T),如果時(shí)鐘有延時(shí),同時(shí)數(shù)據(jù)的延時(shí)也較小那么建立時(shí)間必然是增大的,保持時(shí)間就會(huì)隨之減小,如果減小到不滿足D2的保持時(shí)間要求時(shí)就不能采集到正確的數(shù)據(jù),如圖6所示。

這時(shí)即T-(Tpd-Tco-T2min)

  T-(Tpd+T-Tco-T2min)>=T4 即Tco+T2min-Tpd>=T4(D2保持時(shí)間)

從上式也可以看出如果Tpd=0也就是時(shí)鐘的延時(shí)為0那么同樣是要求Tco+T2min>T4,但是在實(shí)際的應(yīng)用中由于T2的延時(shí)也就是線路的延時(shí)遠(yuǎn)遠(yuǎn)大于觸發(fā)器的保持時(shí)間即T4所以不必要關(guān)系保持時(shí)間。


                 圖6 時(shí)鐘存在延時(shí)且保持時(shí)間不滿足要求

綜上所述,如果不考慮時(shí)鐘的延時(shí)那么只需關(guān)心建立時(shí)間,如果考慮時(shí)鐘的延時(shí)那么更需關(guān)心保持時(shí)間。下面將要分析在FPGA設(shè)計(jì)中如何提高同步系統(tǒng)中的工作時(shí)鐘。

1.2 如何提高同步系統(tǒng)中的工作時(shí)鐘

從上面的分析可以看出同步系統(tǒng)時(shí)對(duì)D2建立時(shí)間T3的要求為:

  T-Tco-T2max>=T3

所以很容易推出T>=T3+Tco+T2max,其中T3為D2的建立時(shí)間Tset,T2為組合邏輯的延時(shí)。在一個(gè)設(shè)計(jì)中T3和Tco都是由器件決定的固定值,可控的也只有T2也就時(shí)輸入端組合邏輯的延時(shí),所以通過盡量來減小T2就可以提高系統(tǒng)的工作時(shí)鐘。為了達(dá)到減小T2在設(shè)計(jì)中可以用下面不同的幾種方法綜合來實(shí)現(xiàn)。

1.2.1 通過改變走線的方式來減小延時(shí)

以altera的器件為例,我們?cè)趒uartus里面的timing closure floorplan可以看到有很多條條塊塊,我們可以將條條塊塊按行和按列分,每一個(gè)條塊代表1個(gè)LAB,每個(gè)LAB里有8個(gè)或者是10個(gè)LE。它們的走線時(shí)延的關(guān)系如下:同一個(gè)LAB中(最快) < 同列或者同行 < 不同行且不同列。我們通過給綜合器加適當(dāng)?shù)募s束(約束要適量,一般以加5%裕量較為合適,比如電路工作在100Mhz,則加約束加到105Mhz就可以了,過大的約束效果反而不好,且極大增加綜合時(shí)間)可以將相關(guān)的邏輯在布線時(shí)盡量布的靠近一點(diǎn),從而減少走線的時(shí)延。

1.2.2 通過拆分組合邏輯的方法來減小延時(shí)(流水線)

由于一般同步電路都不止一級(jí)鎖存(如圖8),而要使電路穩(wěn)定工作,時(shí)鐘周期必須滿足最大延時(shí)要求,縮短最長(zhǎng)延時(shí)路徑,才可提高電路的工作頻率。如圖7所示:我們可以將較大的組合邏輯分解為較小的幾塊,中間插入觸發(fā)器,這樣可以提高電路的工作頻率。這也是所謂“流水線”(pipelining)技術(shù)的基本原理。

對(duì)于圖8的上半部分,它時(shí)鐘頻率受制于第二個(gè)較大的組合邏輯的延時(shí),通過適當(dāng)?shù)姆椒ㄆ骄峙浣M合邏輯,可以避免在兩個(gè)觸發(fā)器之間出現(xiàn)過大的延時(shí),消除速度瓶頸。

那么在設(shè)計(jì)中如何拆分組合邏輯呢,更好的方法要在實(shí)踐中不斷的積累,但是一些良好的設(shè)計(jì)思想和方法也需要掌握。我們知道,目前大部分FPGA都基于4輸入 LUT的,如果一個(gè)輸出對(duì)應(yīng)的判斷條件大于四輸入的話就要由多個(gè)LUT級(jí)聯(lián)才能完成,這樣就引入一級(jí)組合邏輯時(shí)延,我們要減少組合邏輯,無非就是要輸入條件盡可能的少,這樣就可以級(jí)聯(lián)的LUT更少,從而減少了組合邏輯引起的時(shí)延。

我們平時(shí)聽說的流水就是一種通過切割大的組合邏輯(在其中插入一級(jí)或多級(jí)D觸發(fā)器,從而使寄存器與寄存器之間的組合邏輯減少)來提高工作頻率的方法。比如一個(gè)32 位的計(jì)數(shù)器,該計(jì)數(shù)器的進(jìn)位鏈很長(zhǎng),必然會(huì)降低工作頻率,我們可以將其分割成4位和 8位的計(jì)數(shù),每當(dāng)4位的計(jì)數(shù)器計(jì)到15后觸發(fā)一次8位的計(jì)數(shù)器,這樣就實(shí)現(xiàn)了計(jì)數(shù)器的切割,也提高了工作頻率。

狀態(tài)機(jī)中,一般也要將大的計(jì)數(shù)器移到狀態(tài)機(jī)外,因?yàn)橛?jì)數(shù)器這東西一般是經(jīng)常是大于4輸入的,如果再和其它條件一起做為狀態(tài)的跳變判據(jù)的話,必然會(huì)增加LUT的級(jí)聯(lián),從而增大組合邏輯。以一個(gè)6輸入的計(jì)數(shù)器為例,我們?cè)M?dāng)計(jì)數(shù)器計(jì)到111100后狀態(tài)跳變,現(xiàn)在我們將計(jì)數(shù)器放到狀態(tài)機(jī)外,當(dāng)計(jì)數(shù)器計(jì)到111011后產(chǎn)生個(gè)enable信號(hào)去觸發(fā)狀態(tài)跳變,這樣就將組合邏輯減少了。

狀態(tài)機(jī)一般包含三個(gè)模塊,

(1)一個(gè)輸出模塊,

(2)一個(gè)決定下個(gè)狀態(tài)是什么的模塊

(3)一個(gè)保存當(dāng)前狀態(tài)的模塊。

組成三個(gè)模塊所采用的邏輯也各不相同。輸出模塊通常既包含組合邏輯又包含時(shí)序邏輯;決定下一個(gè)狀態(tài)是什么的模塊通常由組合邏輯構(gòu)成;保存現(xiàn)在狀態(tài)的通常由時(shí)序邏輯構(gòu)成。三個(gè)模塊的關(guān)系如下圖9所示。

               圖9 狀態(tài)機(jī)的組成

所有通常寫狀態(tài)機(jī)時(shí)也按照這三個(gè)模塊將狀態(tài)機(jī)分成三部分來寫,如下面就是一種良好的狀態(tài)機(jī)設(shè)計(jì)方法:

/*-----------------------------------------------------
This is FSM demo program
Design Name : arbiter
File Name : arbiter2.v
-----------------------------------------------------*/
module arbiter2 (
                    clock , // clock
                    reset , // Active high, syn reset
                    req_0 , // Request 0
                    req_1 , // Request 1
                    gnt_0 ,
                    gnt_1
                );
//-------------Input Ports-----------------------------
input    clock ;
input    reset ;
input    req_0 ;
input    req_1 ;
//-------------Output Ports----------------------------
output    gnt_0 ;
output    gnt_1 ;
//-------------Input ports Data Type-------------------
wire    clock ;
wire    reset ;
wire    req_0 ;
wire    req_1 ;
//-------------Output Ports Data Type------------------
reg        gnt_0 ;
reg        gnt_1 ;
//-------------Internal Constants--------------------------
parameter     SIZE = 3 ;
parameter     IDLE = 3'b001 ,
            GNT0 = 3'b010 ,
            GNT1 = 3'b100 ;
//-------------Internal Variables---------------------------
reg        [SIZE-1:0] state ;        // Seq part of the FSM
wire    [SIZE-1:0] next_state ;    // combo part of FSM

 

//----------Code startes Here------------------------
assign    next_state = fsm_function(req_0, req_1);
//------------fsm_function--------------//
function [SIZE-1:0] fsm_function;
input     req_0;    //parameter
input     req_1;    //parameter
begin
    case(state)
        IDLE :   
            if (req_0 == 1'b1)   
                fsm_function = GNT0;
            else if (req_1 == 1'b1)
                fsm_function = GNT1;
            else
                fsm_function = IDLE;
        GNT0 :
            if (req_0 == 1'b1)
                fsm_function = GNT0;
            else
                fsm_function = IDLE;
        GNT1 :
            if (req_1 == 1'b1)
                fsm_function = GNT1;
            else
                fsm_function =IDLE;
        default : fsm_function = IDLE;
        endcase
end
endfunction

 

always@(posedge clock)
begin
    if (reset == 1'b1)
        state <= IDLE;
    else
        state <= next_state;
end

//----------Output Logic-----------------------------
always @ (posedge clock)
begin
    if (reset == 1'b1)
        begin
        gnt_0 <= #1 1'b0;
        gnt_1 <= #1 1'b0;
        end
    else
        begin
        case(state)
            IDLE :
                begin
                gnt_0 <= #1 1'b0;
                gnt_1 <= #1 1'b0;
                end
            GNT0 :
                begin
                gnt_0 <= #1 1'b1;
                gnt_1 <= #1 1'b0;
                end
            GNT1 :
                begin
                gnt_0 <= #1 1'b0;
                gnt_1 <= #1 1'b1;
                end
            default :
                begin
                gnt_0 <= #1 1'b0;
                gnt_1 <= #1 1'b0;
                end
        endcase
        end
end // End Of Block OUTPUT_

endmodule

狀態(tài)機(jī)通常要寫成3段式,從而避免出現(xiàn)過大的組合邏輯。

上面說的都是可以通過流水的方式切割組合邏輯的情況,但是有些情況下我們是很難去切割組合邏輯的,在這些情況下我們又該怎么做呢?

狀態(tài)機(jī)就是這么一個(gè)例子,我們不能通過往狀態(tài)譯碼組合邏輯中加入流水。如果我們的設(shè)計(jì)中有一個(gè)幾十個(gè)狀態(tài)的狀態(tài)機(jī),它的狀態(tài)譯碼邏輯將非常 之巨大,毫無疑問,這極有可能是設(shè)計(jì)中的關(guān)鍵路徑。那我們?cè)撛趺醋瞿??還是老思路,減少組合邏輯。我們可以對(duì)狀 態(tài)的輸出進(jìn)行分析,對(duì)它們進(jìn)行重新分類,并根據(jù)這個(gè)重新定義成一組組小狀態(tài)機(jī),通過對(duì)輸入進(jìn)行選擇(case語句)并去觸發(fā)相應(yīng)的小狀態(tài)機(jī),從而實(shí)現(xiàn)了將大的狀態(tài)機(jī)切割成小的狀態(tài)機(jī)。在ATA6的規(guī)范中(硬盤的標(biāo)準(zhǔn)),輸入的命令大概有20十種,每一個(gè)命令又對(duì)應(yīng)很多種狀態(tài),如果用一個(gè)大的狀態(tài)機(jī)(狀態(tài)套狀態(tài))去做那是不可想象的,我們可以通過case語句去對(duì)命令進(jìn)行譯碼,并觸發(fā)相應(yīng)的狀態(tài)機(jī),這樣做下來 這一個(gè)模塊的頻率就可以跑得比較高了。( 嵌套 )

總結(jié):提高工作頻率的本質(zhì)就是要減少寄存器到寄存器的時(shí)延,最有效的方法就是 避免出現(xiàn)大的組合邏輯,也就是要盡量去滿足四輸入的條件,減少LUT級(jí)聯(lián)的數(shù)量。我們 可以通過加約束、流水、切割狀態(tài)的方法提高工作頻率。

在FPGA中進(jìn)行時(shí)鐘設(shè)計(jì)時(shí)也要注意一下幾點(diǎn):

1. 一個(gè)模塊盡量只用一個(gè)時(shí)鐘,這里的一個(gè)模塊是指一個(gè)module或者是一個(gè)entity。在多時(shí)鐘域的設(shè)計(jì)中涉及到跨時(shí)鐘域的設(shè)計(jì)中最好有專門一個(gè)模塊做時(shí)鐘域的隔離。這樣做可以讓綜合器綜合出更優(yōu)的結(jié)果。

2. 除非是低功耗設(shè)計(jì),不然不要用門控時(shí)鐘(不用FPGA內(nèi)部的全局時(shí)鐘資源BUFG來控制觸發(fā)器的時(shí)鐘沿輸入端而是采用組合邏輯和其它時(shí)序邏輯(如分頻器)產(chǎn)生的信號(hào)作為觸發(fā)器的時(shí)鐘沿輸入端http://www.cnblogs.com/crazybingo/archive/2010/12/08/1900388.html#)--這會(huì)增加設(shè)計(jì)的不穩(wěn)定性,在要用到門控時(shí)鐘的地方,也要將門控信號(hào)用時(shí)鐘的下降沿 打一拍再輸出與時(shí)鐘相與。

 3. 禁止用計(jì)數(shù)器分頻后的信號(hào)做其它模塊的時(shí)鐘,而要用改成時(shí)鐘使能的方式,否則這種時(shí)鐘滿天飛的方式對(duì)設(shè)計(jì)的可靠性極為不利,也大大增加了靜態(tài)時(shí)序分析的復(fù)雜性。

1.4 不同時(shí)鐘域之間的同步

當(dāng)一個(gè)設(shè)計(jì)中的兩個(gè)模塊分別用的是兩個(gè)工作時(shí)鐘,那么在它們的接口處就工作在異步模式,這時(shí)為了保證數(shù)據(jù)能正確的處理那么就要對(duì)兩個(gè)模塊進(jìn)行同步。

這里的不同的時(shí)鐘域通常是以下的兩種情況:(分立的時(shí)鐘源)

  1、 兩個(gè)時(shí)鐘的頻率不同;

  2、 雖然兩個(gè)時(shí)鐘的頻率相同,但是它們是兩個(gè)獨(dú)立的時(shí)鐘,其相位沒有任何關(guān)系。

分別如下兩個(gè)圖所示:

兩個(gè)時(shí)鐘域之間傳輸?shù)臄?shù)據(jù)根據(jù)不同的位寬通常采用不同的同步的方法。

1、單bit之間的同步且發(fā)送的每個(gè)pulse至少有1個(gè)周期寬度的情況

這類同步主要是用于一些控制信號(hào)自己的同步。通常的采用方法就是輸出數(shù)據(jù)在接收的模塊中利用兩個(gè)觸發(fā)器采用系統(tǒng)時(shí)鐘打兩拍,如下圖12所示。對(duì)于這種同步需要說明以下幾點(diǎn)。


                圖12 一位同步器設(shè)計(jì)

(1)圖12中的同步電路其實(shí)叫"一位同步器",它只能用來對(duì)一位異步信號(hào)進(jìn)行同步,而且這個(gè)信號(hào)的寬度必須大于本級(jí)時(shí)鐘的脈沖寬度,否則有可能根本采不到這個(gè)異步信號(hào)。

(2)為什么圖一中的同步電路只能用來對(duì)一位異步信號(hào)進(jìn)行同步呢? (a)當(dāng)有兩個(gè)或更多的異步信號(hào)(控制或地址)同時(shí)進(jìn)入本時(shí)域來控制本時(shí)域的

電路時(shí),如果這些信號(hào)分別都用圖12中的同步電路來同步就會(huì)出現(xiàn)問題,由于連線延遲或其他延遲使兩個(gè)或更多的異步信號(hào)(控制或地址)之間產(chǎn)生了skew,那么這個(gè)skew經(jīng)過圖12的同步器同步進(jìn)入本時(shí)域后,會(huì)產(chǎn)生很大的skew 或產(chǎn)生競(jìng)爭(zhēng) ,導(dǎo)致本時(shí)域電路出錯(cuò)。 出現(xiàn)的問題如下圖13所示:


               圖13 同步多個(gè)控制信號(hào)時(shí)出錯(cuò)

(b)如果是異步數(shù)據(jù)總線要進(jìn)入本時(shí)域,同樣不能用圖12的電路,因?yàn)閿?shù)據(jù)的變化是很隨機(jī)的,其0的寬度或1的寬度和本時(shí)域時(shí)鐘脈沖無關(guān),所以圖12的電路可能會(huì)采不到正確數(shù)據(jù)。

(3)注意,第二個(gè)觸發(fā)器并不是避免“亞穩(wěn)態(tài)的發(fā)生”,確切的說,該電路能夠防止亞穩(wěn)態(tài)的傳播。也就是說,一旦第一個(gè)觸發(fā)器發(fā)生了亞穩(wěn)態(tài)(可能性存在),由于有了第二個(gè)觸發(fā)器,亞穩(wěn)態(tài)不會(huì)傳播到第二個(gè)觸發(fā)器以后的電路中去。

(4)第一級(jí)觸發(fā)器發(fā)生了亞穩(wěn)態(tài),需要一個(gè)恢復(fù)時(shí)間來穩(wěn)定下來,或者叫退出亞穩(wěn)態(tài)。當(dāng)恢復(fù)時(shí)間加上第二級(jí)觸發(fā)器的建立時(shí)間(更精確的,還要減去clock skew)小于等于時(shí)鐘周期的時(shí)候(這個(gè)條件還是很容易滿足的,一般要求兩級(jí)觸發(fā)器盡量接近,中間沒有任何組合邏輯,時(shí)鐘的skew較小),第二級(jí)觸發(fā)器就可以穩(wěn)定的采樣,得到穩(wěn)定的確定的數(shù)據(jù)了,防止了亞穩(wěn)態(tài)的傳播。

(5)FF2是采樣了FF1的輸出,當(dāng)然是FF1輸出什么,F(xiàn)F2就輸出什么。僅僅延遲了1個(gè)周期。注意,亞穩(wěn)態(tài)之所以叫做亞穩(wěn)態(tài),是指一旦FF1進(jìn)入,其輸出電平不定,可能正確也可能錯(cuò)誤。所以必須說明的是,雖然這種方法可以防止亞穩(wěn)態(tài)的傳播,但是并不能保證兩級(jí)觸發(fā)器之后的數(shù)據(jù)是正確的,因此,這種電路都有一定數(shù)量的錯(cuò)誤電平數(shù)據(jù),所以,僅適用于少量對(duì)于錯(cuò)誤不敏感的地方。對(duì)于敏感的電路,可以采用雙口RAM或FIFO。

2 輸入pulse有可能小于一個(gè)時(shí)鐘周期寬度情況下的同步電路(怎么可能呢?不是小于原來的時(shí)鐘了嗎?)

對(duì)2的情況通常采用如下圖14的反饋電路。該電路的分析如下:假設(shè)輸入的數(shù)據(jù)是高電平,那么由于第一個(gè)觸發(fā)器FF1是高電平清零,所有輸出也是高電平,采用正確。如果輸入是低電平那么被FF1被強(qiáng)制清零,這個(gè)時(shí)候輸出位零。這樣就保證了輸出的正確性。


圖14輸入pulse有可能小于一個(gè)時(shí)鐘周期寬度情況下的同步電路

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉