SoC設(shè)計(jì)第8-1章V1視頻_第1頁(yè)
SoC設(shè)計(jì)第8-1章V1視頻_第2頁(yè)
SoC設(shè)計(jì)第8-1章V1視頻_第3頁(yè)
SoC設(shè)計(jì)第8-1章V1視頻_第4頁(yè)
SoC設(shè)計(jì)第8-1章V1視頻_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

SoC設(shè)計(jì)方法與實(shí)現(xiàn)綜合策略與靜態(tài)時(shí)序分析方法(一)第八章SoC設(shè)計(jì)方法與實(shí)現(xiàn)邏輯綜合邏輯綜合綜合實(shí)例靜態(tài)時(shí)序分析內(nèi)容大綱邏輯綜合——基本概念利用工具將RTL代碼轉(zhuǎn)化為門(mén)級(jí)網(wǎng)表的過(guò)程稱為邏輯綜合。綜合的過(guò)程,從讀取RTL代碼開(kāi)始,通過(guò)時(shí)序約束關(guān)系,映射產(chǎn)生一個(gè)門(mén)級(jí)網(wǎng)表。電路設(shè)計(jì)輸入采用Verilog、VHDL等硬件描述語(yǔ)言(HDL)進(jìn)行設(shè)計(jì)。使用指定工藝庫(kù)。對(duì)于選擇的流片工藝庫(kù)將提供綜合工具所需的標(biāo)準(zhǔn)單元的全部信息。如標(biāo)準(zhǔn)單元的邏輯功能、輸入到輸出的時(shí)序關(guān)系;輸出的扇出限制和對(duì)單元時(shí)序檢查所需的信息等。把HDL描述的設(shè)計(jì),即RTL代碼輸入綜合工具,由綜合工具進(jìn)行編譯。定義環(huán)境約束條件,即定義綜合時(shí)的環(huán)境。包括設(shè)計(jì)的工藝參數(shù)(溫度、制造工藝、電壓)、I/O端口屬性等。設(shè)定設(shè)計(jì)的約束條件約束條件將指定綜合工具按照什么樣的原則來(lái)綜合電路,以及確定該電路所要達(dá)到的指標(biāo)是什么。邏輯綜合——流程介紹邏輯綜合——定義時(shí)鐘定義芯片所需的內(nèi)部時(shí)鐘信號(hào)通常時(shí)鐘網(wǎng)絡(luò)在綜合過(guò)程中是不做處理的,會(huì)在后續(xù)的布局布線中插入時(shí)鐘樹(shù),以減小其時(shí)鐘偏斜。輸入/輸出延時(shí)為保證片外的觸發(fā)器可以正確地輸入/輸出,不僅要保證片內(nèi)的延時(shí)滿足時(shí)序要求,而且要保證片內(nèi)外延時(shí)總和滿足時(shí)序要求。邏輯綜合——定義時(shí)鐘輸入/輸出延時(shí)波形圖時(shí)序模塊有輸入信號(hào)DATA_IN和輸出信號(hào)DATE_OUT,輸入信號(hào)在時(shí)鐘沿之后20ns達(dá)到穩(wěn)定,而輸出信號(hào)需要在時(shí)鐘沿之前15ns到達(dá)。主要的約束條件:這3個(gè)約束可以設(shè)置在輸入端口、輸出端口及當(dāng)前設(shè)計(jì)上。通常這些約束在工藝庫(kù)內(nèi)已經(jīng)設(shè)定,由工藝參數(shù)決定大小。如果庫(kù)內(nèi)設(shè)定的值不夠恰當(dāng)或者過(guò)于樂(lè)觀,可以根據(jù)設(shè)計(jì)需要專門(mén)設(shè)置。邏輯綜合——設(shè)定設(shè)計(jì)規(guī)則約束節(jié)點(diǎn)上信號(hào)最大跳變時(shí)間(MaxTransition)最大扇出(MaxFanout)最大電容(MaxCapacitance)等邏輯綜合——面積約束面積約束是指定設(shè)計(jì)的最大面積值,如果設(shè)計(jì)超過(guò)了這一面積就違反了約束。在將設(shè)計(jì)實(shí)體轉(zhuǎn)換成門(mén)級(jí)電路時(shí),通常要加面積約束條件。這一設(shè)計(jì)指標(biāo),也是邏輯綜合過(guò)程中進(jìn)行優(yōu)化的依據(jù)之一。多數(shù)的邏輯綜合工具允許設(shè)計(jì)者按工藝庫(kù)中門(mén)級(jí)宏單元所用的單位來(lái)指定面積的約束條件。邏輯綜合——SoC設(shè)計(jì)中常用的綜合策略自頂向下(Top-down)頂層設(shè)計(jì)與其子模塊同時(shí)編譯,僅需要施加頂層約束。自底向上(Bottom-up)先單獨(dú)地對(duì)各個(gè)子模塊進(jìn)行約束與綜合完成后,賦予它們不再優(yōu)化(Don’t_touch)屬性將它們整合到上一層模塊中,進(jìn)行綜合重復(fù)這一過(guò)程,直至綜合最頂層的模塊物理綜合——基本概念傳統(tǒng)的邏輯綜合方法是依賴于連線負(fù)載模型(Wire-loadModel)的,隨著工藝尺寸的不斷縮小及芯片復(fù)雜性的增加,整個(gè)電路的延時(shí)信息更多取決于互連線延時(shí)。在物理綜合時(shí),就考慮布局布線的問(wèn)題了。主要的約束條件:物理綜合——約束條件及操作模式芯片尺寸引腳位置線上負(fù)載信息版圖規(guī)劃信息在這一模式下,與RTL到門(mén)級(jí)模式的唯一區(qū)別是物理綜合的輸入信息是門(mén)級(jí)網(wǎng)表,而不是RTL級(jí)的設(shè)計(jì)電路。在RTL到門(mén)級(jí)模式下,物理綜合的輸入信息是RTL級(jí)的設(shè)計(jì)電路、版圖規(guī)劃信息及含有版圖信息的物理綜合的庫(kù)文件。RTL到門(mén)級(jí)模式:門(mén)級(jí)到布局后門(mén)級(jí)模式:物理綜合——流程圖相對(duì)而言,RTL到門(mén)級(jí)模式所花費(fèi)的時(shí)間要比門(mén)級(jí)到門(mén)級(jí)模式的時(shí)間長(zhǎng)。邏輯綜合綜合實(shí)例靜態(tài)時(shí)序分析內(nèi)容大綱綜合實(shí)例——用DesignCompiler進(jìn)行邏輯綜合在綜合的各個(gè)步驟中所經(jīng)常用到的命令實(shí)例步驟1——指定庫(kù)文件對(duì)于UNIX系統(tǒng)來(lái)說(shuō),它通常位于“$SYNOPSYS/admin/setup”目錄下。用于卸載synopsys工藝獨(dú)立庫(kù)及別的參數(shù),不包含設(shè)計(jì)相關(guān)的數(shù)據(jù)。在綜合之前,需要用一個(gè)名為“.synopsys_dc.setup”的初始化文件建立綜合的環(huán)境。在該文件中,通過(guò)向相關(guān)環(huán)境變量賦值,來(lái)定義工藝庫(kù)的位置及綜合所需要的參數(shù)。synopsys的安裝目錄下:這里的setup文件包含用戶對(duì)于自己DC工作環(huán)境的參數(shù)設(shè)置。用戶根目錄下:這里的setup文件包含因項(xiàng)目與設(shè)計(jì)而異的變量設(shè)置。啟動(dòng)DC的當(dāng)前目錄:Setup文件的內(nèi)容由目錄列表組成。當(dāng)DC搜索某個(gè)未指定路徑的文件(如庫(kù)、設(shè)計(jì)文件等)時(shí),將由search_path中定義的路徑中去搜索該文件。通常將其定義為某個(gè)主要的庫(kù)文件所在的目錄路徑。search_path:該變量指定的庫(kù)文件中的器件將不會(huì)被DC用來(lái)進(jìn)行綜合,如RAM、ROM及I/O。在RTL設(shè)計(jì)中,將以實(shí)例化的方式進(jìn)行引用。link_library:指定對(duì)設(shè)計(jì)進(jìn)行綜合時(shí)采用的工藝庫(kù),由廠家提供。該庫(kù)中的器件被DC用于邏輯映射。本變量指定的庫(kù)文件名,應(yīng)該也包含在link_library所列出的內(nèi)容中,用于供DC讀取門(mén)級(jí)網(wǎng)表。target_library:該變量指定的庫(kù)文件包含有工藝庫(kù)中器件的圖形化信息,用于生成圖形化原理圖。symbol_library:實(shí)例步驟2——讀入設(shè)計(jì)類別analyze&elaborateRead格式以Verilog或VHDL編寫(xiě)的RTL代碼Verilog、VHDL、EDIF、db等所有格式用途綜合以Verilog或者VHDL寫(xiě)成的RTL讀入網(wǎng)表、預(yù)編譯設(shè)計(jì)等設(shè)計(jì)庫(kù)以-library選項(xiàng)指定庫(kù)文件名用默認(rèn)的設(shè)置,不能存儲(chǔ)中間結(jié)果Generics(VHDL)可用不可用Architecture(VHDL)可用不可用實(shí)例步驟3——定義工作環(huán)境設(shè)置環(huán)境條件(set_operating_conditions)設(shè)置線負(fù)載模型(set_wire_load_model)設(shè)置驅(qū)動(dòng)強(qiáng)度(set_driving_cell)設(shè)置電容負(fù)載(set_capacitiveload)設(shè)置扇出負(fù)載(set_fanout_load)實(shí)例步驟4——設(shè)置約束條件例如:set_max_transition0.3current_design設(shè)置設(shè)計(jì)規(guī)則約束(set_max_transition、set_max_fanout、set_max_capacitance)例如:set_max_fanout3.0[all_outputs]例如:set_max_capacitance1.5[get_portsout1]時(shí)鐘定義的相關(guān)命令create_clock用來(lái)定義一個(gè)時(shí)鐘的周期和波形set_clock_latency定義時(shí)鐘網(wǎng)絡(luò)的延時(shí)set_clock_uncertainty定義時(shí)鐘偏斜值時(shí)鐘定義create_generated_clock定義一個(gè)內(nèi)部生成的時(shí)鐘??梢詫?nèi)部分頻或者倍頻產(chǎn)生的時(shí)鐘定義為初級(jí)時(shí)鐘的函數(shù)。例如:create_generated_clock-nameGENCLK-sourceCLKIN-divide_by2[get_pins

idiv/div_reg/Q]對(duì)于只含有組合邏輯的模塊,為了定義該模塊的延時(shí)約束,可以創(chuàng)建一個(gè)虛擬時(shí)鐘,再相對(duì)于虛擬時(shí)鐘定義輸入/輸出延時(shí)。設(shè)置輸入/輸出端口的延時(shí)輸入延時(shí)定義了信號(hào)相對(duì)于時(shí)鐘的到達(dá)時(shí)間,指一個(gè)信號(hào)在時(shí)鐘沿之后多少時(shí)間到達(dá)。輸出延時(shí)則定義輸出信號(hào)相對(duì)于時(shí)鐘所需要的到達(dá)時(shí)間,指一個(gè)信號(hào)在時(shí)鐘沿之前多少時(shí)間輸出。設(shè)置多周期路徑設(shè)置多周期路徑(set_multicycle_path),指設(shè)計(jì)中從發(fā)送數(shù)據(jù)到采樣到數(shù)據(jù)的時(shí)間允許多于一個(gè)時(shí)鐘周期的路徑。虛線標(biāo)出了多周期路徑。實(shí)例步驟5——設(shè)定綜合優(yōu)化策略通過(guò)使用compile命令調(diào)用DC,對(duì)設(shè)計(jì)進(jìn)行綜合與優(yōu)化。該命令有許多選

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論