国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種寄存器的綜合優(yōu)化方法與流程

      文檔序號:11134263閱讀:851來源:國知局
      一種寄存器的綜合優(yōu)化方法與制造工藝

      本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種寄存器的綜合優(yōu)化方法。



      背景技術(shù):

      隨著現(xiàn)場可編程門陣列(Field-Programmable Gate Array,簡稱FPGA)芯片的發(fā)展,利用FPGA芯片的設(shè)計越來越復(fù)雜,出于節(jié)省芯片面積,降低芯片功耗、提升設(shè)計性能的考慮,對FPGA的綜合優(yōu)化的能力的要求越來越高。而傳統(tǒng)的綜合優(yōu)化過程中,只能針對組合邏輯進行優(yōu)化,而對于寄存器,只能將其視為“黑盒”,在邏輯優(yōu)化的過程中保持不變。也即是在現(xiàn)有技術(shù)中,缺乏針對寄存器這類時序模塊的優(yōu)化能力,從而使得綜合優(yōu)化的結(jié)果往往達不到最優(yōu)效果,甚至造成資源浪費。因此,在綜合優(yōu)化的過程中,尋找一種可以實現(xiàn)寄存器的綜合優(yōu)化的方法,是亟待解決的問題。



      技術(shù)實現(xiàn)要素:

      為了解決上述問題,本發(fā)明提供了一種寄存器的綜合優(yōu)化方法,所述方法包括:

      當(dāng)寄存器的第一控制端口置為第一電平值時,若所述寄存器的輸入端口始終輸入第二電平值,或?qū)⒌诙刂贫丝谥脼榈谌娖街岛螅黾拇嫫鞯妮敵龆丝谳敵龅诙娖街?,其中,所述第一電平值是使所述第一控制端口無效的電平值,所述第二電平值是與當(dāng)所述第二控制端口有效時所述寄存器輸出的值相等的電平值,所述第三電平值是使所述第二控制端口有效的電平值,且所述第二控制端口執(zhí)行的功能與所述第一控制端口的執(zhí)行的功能相反;

      利用第二電平值等效替代所述寄存器的輸出值。

      優(yōu)選的,當(dāng)所述第一控制端口為所述寄存器的置位端時,所述第二控制端口為復(fù)位端;

      或者

      當(dāng)所述第一控制端口為復(fù)位端時,所述第二控制端口為置位端。

      優(yōu)選的,當(dāng)所述第一控制端口為置位端時,所述第二電平值為低電平值;

      或者,

      當(dāng)所述第一控制端口為復(fù)位端時,所述第二電平值為高電平值。

      進一步優(yōu)選的,所述方法還包括:將所述寄存器的輸入端口與輸出端口相連接,當(dāng)所述寄存器的第一控制端口置為第一電平值,且將所述第二控制端口置為第三電平值后,利用第四電平值等效替代所述寄存器的輸出值,其中,所述第四電平值是與所述第二電平值等效的電平值。

      本發(fā)明提供的一種寄存器的綜合優(yōu)化方法,將寄存器的輸出等效轉(zhuǎn)化為常量,由此將一個常量輸出代替整個寄存器的輸出,即可以將寄存器在布爾網(wǎng)表中刪除,而且大大節(jié)省了FPGA芯片面積,降低芯片功耗、提升了FPGA的設(shè)計性能。

      附圖說明

      圖1為本發(fā)明提供的一種具體實現(xiàn)寄存器綜合優(yōu)化的結(jié)構(gòu)示意圖;

      圖2為本發(fā)明提供的另一種具體實現(xiàn)寄存器綜合優(yōu)化的結(jié)構(gòu)示意圖;

      圖3為本發(fā)明提供的又一種具體實現(xiàn)寄存器綜合優(yōu)化的結(jié)構(gòu)示意圖;

      圖4為本發(fā)明提供的再一種具體實現(xiàn)寄存器綜合優(yōu)化的結(jié)構(gòu)示意圖。

      具體實施方式

      下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。

      FPGA的設(shè)計流程就是利用EDA開發(fā)軟件和編程工具對FPGA芯片進行開發(fā)的過程。典型FPGA的開發(fā)流程一般包括功能定義/器件選型、設(shè)計輸入、功能仿真、綜合優(yōu)化、綜合后仿真、工藝映射、布局布線、布線后仿真、板級仿真以及芯片編程與調(diào)試等主要步驟。

      所謂綜合就是將較高級抽象層次的描述轉(zhuǎn)化成較低層次的描述。綜合優(yōu)化根據(jù)目標(biāo)與要求優(yōu)化所生成的邏輯連接,使層次設(shè)計平面化,供FPGA布局布線軟件進行實現(xiàn)。就目前的層次來看,綜合優(yōu)化(Synthesis)是指將設(shè)計輸入編譯成由與門、或門、非門、RAM、觸發(fā)器等基本邏輯單元組成的邏輯連接網(wǎng)表,而并非真實的門級電路。

      而本發(fā)明提供的一種寄存器的綜合優(yōu)化方法,正是屬于FPGA的綜合優(yōu)化階段,主要是將寄存器的輸出值轉(zhuǎn)化為常量值的情況下,將寄存器從布爾網(wǎng)表中刪除,而利用一個常量值等效替代寄存器的輸出值。將寄存器等效為常量輸出后,通常這個常量可以結(jié)合剩余的組合邏輯進行進一步的組合邏輯優(yōu)化。由此,可以節(jié)省芯片面積,降低芯片功耗、提升設(shè)計性能。而具體在哪些情況下才能夠?qū)⒓拇嫫鞯妮敵鲋档刃橐粋€常量值,將在下文中說明:

      具體包括:

      當(dāng)寄存器的第一控制端口置為第一電平值,且寄存器的輸入端輸入第二電平值后,將第二控制端口置為第三電平值,其中,第一電平值是是第一控制端口無效的電平值。第三電平值是使第二控制端口有效的電平值,且第二控制端口執(zhí)行的功能與第一控制端口的執(zhí)行的功能相反。

      此時,寄存器的輸出值已經(jīng)變?yōu)橐粋€常量值,也即第二電平值,因此可以將該寄存器刪除,利用第二電平值等效替代寄存器的輸出值。

      例如,當(dāng)?shù)谝豢刂贫丝跒橹梦欢藭r,第二控制端口因為執(zhí)行的功能是與第一控制端口執(zhí)行的功能相反,所以,毫無疑問,第二控制端口為復(fù)位端。并且,這里僅在置位端和復(fù)位端輸入為高電平值時為有效,而輸入為低電平值時為無效為例說明。其他情形則可以根據(jù)實際情況而定。

      那么在一種情況中,具體如圖1所示,當(dāng)寄存器的第一控制端口為置位端,第二控制端口為復(fù)位端,第一電平值為使第一控制端口無效時的電平值,在本實施例中為低電平值“0”,而第二電平值是與第二控制端口有效時,與輸出端口輸出值相等的值,即當(dāng)復(fù)位端口有效時,寄存器的輸出值永遠為低電平值“0”,那么第二電平值則為低電平值“0”。第三電平值為使第二控制端口有效的電平值,在本實施例中具體指的是高電平值“1”。當(dāng)然,這里默認(rèn)寄存器的其他端口(例如圖中的使能信號端口,時鐘信號端口等)均處于正常工作情況下。下文中的情形同樣默認(rèn)寄存器的其他端口均處于正常工作情況下。下文中將不再贅述。

      圖1(a)中,若置位端置為低電平值“0”時,而輸入端始終輸入低電平值“0”時。寄存器的輸出端口輸出值則一直為低電平值“0”,而且不發(fā)生改變。那么,此時的寄存器的輸出值就可以用一個常量值“0”替代,寄存器也可以從布爾網(wǎng)表中刪除了。

      或者,如圖1(b)所示,當(dāng)寄存器的置位端口為低電平值“0”時,而復(fù)位端為高電平值“1”。那么,無論寄存器的輸入端口輸入的信號為高電平值還是低電平值。輸出端口輸出的值均為低電平值“0”。那么,寄存器的輸出端口輸出值同樣可以用一個常量值“0”替代。此時,寄存器同樣可以從布爾網(wǎng)表上刪除了。

      第二種情況,具體如圖2所示,當(dāng)寄存器的第一控制端口為復(fù)位端,而第二控制端口為置位端。同樣的,第一電平值為使第一控制端口無效時的電平值,在本實施例中為低電平值“0”,而第二電平值是與第二控制端口有效時,與輸出端口輸出值相等的值,即當(dāng)置位端口有效時,寄存器的輸出值永遠為高電平值“1”,那么第二電平值則為高電平值“1”。第三電平值為使第二控制端口有效的電平值,在本實施例中具體指的是高電平值“1”。

      圖2(a)中,若復(fù)位端為低電平“0”時,輸入端始終輸入高電平值“1”。寄存器的輸出端口輸出值則同樣一直為高電平值“1”,而不發(fā)生任何改變。那么此時的寄存器的輸出值就可以用一個常量值“1”替代,寄存器就可以從布爾網(wǎng)表中刪除了。

      或者,圖2(b)中,當(dāng)寄存器的復(fù)位端為低電平值“0”時,而置位端為高電平值“1”時,無論寄存器的輸入端口輸入的信號為高電平值還是低電平值,輸出端口的值均為高電平值“1”。那么,寄存器的輸出端口輸出值同樣可以用一個常量值“1”替代,此時寄存器可以從布爾網(wǎng)表上刪除了。

      可選的,將寄存器的輸出值等效為常量值的情況還可以包括如下情形。前提是將寄存器的輸入端口和輸出端口相連接。

      當(dāng)寄存器的第一控制端口置為第一電平值,且將第二控制端口置為第三電平值后,利用第四電平值等效替代寄存器的輸出值,其中,第四電平值是與第二電平值等效的電平值。

      具體的,第三種情況,具體如圖3所示,當(dāng)?shù)谝豢刂贫丝跒橹梦欢?,第二控制端口為?fù)位端。與第一種情況類似的,置位端和復(fù)位端均為高電平“1”有效,低電平“0”無效。

      在置位端置為低電平“0”,而在復(fù)位端沒有置為高電平“1”之前,輸出值同樣會保持不變,但是輸出值要根據(jù)之前的輸出值X而定。而當(dāng)復(fù)位端置為高電平“1”后,無論之前的輸出值“X”為什么值,之后的輸出值都將固定為第四電平值“0”。這里的第四電平值是與第一種情況中對應(yīng)的第二電平值等效的電平值。此時的寄存器的輸出值就可以用一個常量值,即第四電平值“0”替代,寄存器也可以從布爾網(wǎng)表中刪除了。

      第四種情況,具體如圖4所示,當(dāng)?shù)谝豢刂贫丝跒閺?fù)位端,第二控制端口為置位端。與第二種情況類似的,置位端和復(fù)位端均為高電平“1”有效,低電平“0”無效。

      在復(fù)位端置為低電平“0”,而在置位端沒有置為高電平“1”之前,輸出值同樣會保持不變,但是輸出值要根據(jù)之前的輸出值X而定。而當(dāng)置位端置為高電平“1”后,無論之前的輸出值“X”為什么值,之后的輸出值都將固定為第四電平值“1”。這里的第四電平值是與第二種情況中的第二電平值等效的電平值。

      此時的寄存器的輸出值就可以用一個常量值,即第四電平值“1”替代,寄存器也可以從布爾網(wǎng)表中刪除了。

      通過上述四種情況可以,寄存器的輸出值均可以利用一個“常量值”替代,作為輸入端口信號輸入到與寄存器連接的其他設(shè)備中,而寄存器則可以完全刪除掉。由此,就可以大大的節(jié)省了FPGA芯片面積,降低芯片功耗、提升了FPGA的設(shè)計性能。

      讀者應(yīng)該理解,在本發(fā)明的具體實施例中所列舉的四種具體利用常量等效替代一個寄存器的情形,僅僅是本申請文件中列舉的有限的可能,但是并不代表只有這幾種情形才可以利用常量值等效寄存器,其他類似的或者與本申請文件所列舉的例子等效的方案同樣是本申請文件所保護的范圍,這里不再一一舉例說明。

      專業(yè)人員應(yīng)該還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

      結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。

      以上所述的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1