在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA設(shè)計(jì)中對(duì)輸入信號(hào)的處理

            FPGA設(shè)計(jì)中對(duì)輸入信號(hào)的處理

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

            1.輸入信號(hào)為什么要寄存

            一般來說,在中,如果信號(hào)來自同一時(shí)鐘域,各模塊的輸入不需要寄存。只要滿足建立時(shí)間,保持時(shí)間的約束,可以保證在時(shí)鐘上升沿到來時(shí),輸入信號(hào)已經(jīng)穩(wěn)定,可以采樣得到正確的值。但是如果模塊需要使用輸入信號(hào)的跳變沿(比如幀同步信號(hào)),千萬不要直接這樣哦。

            本文引用地址:http://www.biyoush.com/article/201710/365631.htm

            always @ (posedge inputs)
            begin
            ...
            end

            2.所有信號(hào)都需要寄存兩拍嗎

            如果這個(gè)輸入信號(hào)來自異步時(shí)鐘域(比如芯片外部的輸入),必須寄存兩拍。第一拍將輸入信號(hào)同步化,同步化后的輸出可能帶來建立/保持時(shí)間的沖突,產(chǎn)生亞穩(wěn)態(tài)。需要再寄存一拍,減少(注意是減少)亞穩(wěn)態(tài)帶來的影響。

            如果這個(gè)輸入信號(hào)來自于同一時(shí)鐘域且需要用到跳變沿,需要寄存一拍。否則時(shí)序報(bào)告多半會(huì)報(bào)clock skew > data delay,造成建立/保持時(shí)間的沖突。

            總而言之,五條原則:

            1.全局時(shí)鐘的跳變沿最可靠。
            2.來自異步時(shí)鐘域的輸入需要寄存一次以同步化,再寄存一次以減少亞穩(wěn)態(tài)帶來的影響。
            3.不需要用到跳變沿的來自同一時(shí)鐘域的輸入,沒有必要對(duì)信號(hào)進(jìn)行寄存。
            4.需要用到跳變沿的來自同一時(shí)鐘域的輸入,寄存一次即可。
            5.需要用到跳變沿的來自不同時(shí)鐘域的輸入,需要用到3個(gè)觸發(fā)器,前兩個(gè)用以同步,第3個(gè)觸發(fā)器的輸出和第2個(gè)的輸出經(jīng)過邏輯門來判斷跳變沿。

            給出一個(gè)verilog模板:

            always @ (posedge Clk) //不對(duì)輸入信號(hào)進(jìn)行寄存
            begin
            if (inputs)
            begin
            ...
            end
            ...
            end

            always @ (posedge Clk) //對(duì)輸入信號(hào)寄存一拍
            begin
            inputs_reg = inputs;
            if (inputs_reg == 1b0 inputs == 1b1)
            begin
            ...
            end
            ...
            end

            always @ (posedge Clk) //對(duì)輸入信號(hào)寄存三拍
            begin
            inputs_reg1 = inputs;
            inputs_reg2 = inputs_reg1;
            inputs_reg3 = inputs_reg2;
            if (inputs_reg2 == 1b1 inputs_reg3 == 1b0)
            begin
            ...
            end
            ...
            end



            關(guān)鍵詞: FPGA 全同步設(shè)計(jì)

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉