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

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于系統(tǒng)芯片ZSU32的SoC芯片設(shè)計

 本文針對中山大學(xué)ASIC設(shè)計中心自主開發(fā)的一款系統(tǒng)芯片ZSU32,以Synopsys公司的Design Compiler為綜合工具,探索了對SoC芯片進(jìn)行綜合的設(shè)計流程和方法,特別對綜合過程的時序約束進(jìn)行了詳細(xì)討論,提出了有效的綜合約束設(shè)置方案。

  1 時序約束原理

  同步電路是大多數(shù)集成電路系統(tǒng)的主流選擇。同步電路具有工作特性簡單、步調(diào)明確、抗干擾能力強(qiáng)等特點。但是,因為所有的時序元件受控于一個特定的時鐘,所以數(shù)據(jù)的傳播必須滿足一定的約束以便能夠保持與時鐘信號步調(diào)一致。

  設(shè)置建立時間(setup time)約束可以滿足第一個條件:

  


 

  2 ZSU32系統(tǒng)芯片的結(jié)構(gòu)

  ZSU32芯片內(nèi)置32 bit MIPS體系處理器作為CPU,具備兩路獨立的指令和數(shù)據(jù)高速緩存,CPU內(nèi)部有獨立的DSP協(xié)處理器和浮點協(xié)處理器,同時集成了LCD控制器、MPEG硬件加速器、AC97控制器、SRAM控制器、NAND Flash控制器、SATA高速硬盤控制器、以太網(wǎng)MAC控制器等,并具有I2C、I2S、SPI、、UART、GPIO等多種接口模塊。

  3 ZSU32系統(tǒng)芯片的約束設(shè)置與邏輯綜合

  ZSU32系統(tǒng)芯片的綜合采取自底向上的策略,先局部后整體。首先將當(dāng)前工作層次設(shè)置為系統(tǒng)芯片的某個子模塊,然后對該子模塊添加各項具體約束,接著完成子模塊的綜合。依次對各子模塊重復(fù)上述綜合流程,當(dāng)各個模塊都順利通過了初次綜合后,通過set_dont_touch_network命令將模塊中的關(guān)鍵路徑和時鐘線網(wǎng)保護(hù)起來,然后做一次全局優(yōu)化,檢查是否滿足時序等各方面的設(shè)計要求,達(dá)到要求就可以輸出最終的網(wǎng)表和各項綜合報告。

  3.1 設(shè)定工藝庫和參考庫

  設(shè)置Design Compiler運(yùn)行所使用的庫:目標(biāo)庫(target_library)、鏈接庫(link_library)、可綜合庫(synthetic_library)、符號庫(symbol_library)。其中的目標(biāo)庫中包含了標(biāo)準(zhǔn)單元庫、RAM單元庫、I/O單元庫、PLL單元庫等,通常是由芯片代工廠家提供。系統(tǒng)芯片ZSU32采用的是中芯國際的0.18 ?滋m CMOS工藝庫,所以在設(shè)置時就把目標(biāo)庫指向該工藝庫。

  #設(shè)置目標(biāo)工藝庫

  set target_library SMIC.db

  3.2 讀入RTL設(shè)計與設(shè)置工作環(huán)境

  讀入RTL設(shè)計通常有自頂向下或者自底向上2種方式。因為ZSU32模塊眾多,所以采用自底向上的讀入方式。首先讀入各個子模塊,并分別編譯;然后更改層次,編譯上一層的模塊;最后會合成整個系統(tǒng)。

  讀入設(shè)計后,首先設(shè)置芯片的工作環(huán)境,根據(jù)采用的工藝庫提供的環(huán)境和線網(wǎng)負(fù)載模型,可以通過set_operating_condition和set_wire_load_model命令進(jìn)行設(shè)置。以下是ZSU32綜合環(huán)境的頂層環(huán)境設(shè)置:

  #設(shè)置工作環(huán)境

  set_operating_condition smic18_typ;

  #設(shè)置線網(wǎng)負(fù)載模型

  set_wire_load_model smic18_wl30;

  3.3 時序約束

  3.3.1 時鐘定義

  時鐘是整個時序約束的起點。系統(tǒng)芯片ZSU32將外部輸入時鐘和PLL模塊輸入時鐘作為源時鐘:ext_clk_i和pll_clk_i。通過對這2個源時鐘信號的分頻或者倍頻,產(chǎn)生了各個子模塊的時鐘信號。

  #定義源時鐘ext_clk,周期16 ns

  create_clock-name ext_clk-period

  16 [get_ports {ext_clk_i}];

  在SoC芯片內(nèi)部,子模塊的時鐘實際是經(jīng)過源時鐘分頻或者倍頻得到的,使用create_generated_clock命令來建立子模塊時鐘。

  #設(shè)置一個2倍頻時鐘clk_main,

  #其源時鐘是pll_clk_i

  create_generated_clock -name clk_main

  -multiply_by 2 -source pll_clk_i;[!--empirenews.page--]

  3.3.2 多時鐘域約束

  時序檢查默認(rèn)以一個時鐘周期為界,但對于ZSU32系統(tǒng)芯片,存在著一些多周期路徑,在這些路徑上,數(shù)據(jù)不需要在單時鐘周期內(nèi)到達(dá)終點。例如,clk30mhz和clk10mhz是同源的同步時鐘,前者頻率是后者的3倍,對從clk10mhz時鐘域向clk30mhz時鐘域傳輸數(shù)據(jù)的路徑,采用如下命令:

  #按照3個周期(clk30mhz)進(jìn)行

  #建立時間約束

  set_multicycle_path 3 -setup -start

  -from clk10mhz -to clk30mhz;

  對于異步時鐘域之間的路徑,不用進(jìn)行同步的時序檢驗,應(yīng)該將其定義為偽路徑(false path),這樣在邏輯綜合時就不必浪費(fèi)資源去優(yōu)化。

  #將異步時鐘e_clk和p_clk 之間的路徑設(shè)置為偽路徑

  set_false_path -from e_clk –to p_clk;

  set_false_path -from p_clk -to e_clk;

  3.3.3 時鐘偏移

  芯片中時鐘經(jīng)過不同的傳輸路徑,由于每條路經(jīng)延時不一,導(dǎo)致從時鐘源到達(dá)各個寄存器的始終輸入端的相位差。這種由于空間分布而產(chǎn)生的偏差叫做時鐘傾斜(clock skew)。此外,由于溫漂、電子漂移的隨機(jī)性,使時鐘信號的邊沿可能超前也可能滯后。這種具有時間不確定性的偏移稱為時鐘抖動(clock jitter)。偏移導(dǎo)致時鐘信號到達(dá)各個觸發(fā)器的時鐘引腳的時間不一致,需要給予約束。

  #設(shè)置時鐘偏移為0.4 ns

  set_clock_uncertainty 0.4 [all_clocks];

  3.4 端口約束

  SoC芯片通過大量輸入和輸出端口與外界進(jìn)行信息的傳輸,端口約束主要用于約束頂層端口相連的片內(nèi)組合邏輯,包括確定輸入延時、輸出延時、輸出負(fù)載、輸出扇出負(fù)載、輸入信號躍遷時間等。

  3.4.1 端口延時

  輸入延時是指外部邏輯到電路輸入端口的路徑延時。輸出延時是指輸出端口到外部寄存器的路徑延時。

  設(shè)置范例如下:

  #設(shè)置端口pci_ad13的輸入延時為4.8 ns

  set_input_delay 4.8 -clock clk_main

  [get_ports {pci_ad13}];

  #設(shè)置端口pci_ad16的輸出延時為3.6 ns

  set_output_delay 3.6 -clock clk_main

  [get_ports{pci_ad16};

  3.4.2 端口的驅(qū)動與負(fù)載

  端口的驅(qū)動和負(fù)載特性通過設(shè)置輸入驅(qū)動單元、輸入輸出負(fù)載值以及信號躍遷時間等來描述。范例如下:

  #設(shè)置端口a7的驅(qū)動單元是BUFX2

  set_drive_cell -lib_cell BUFX2 -pin

  [get_ports {a7}];

  #設(shè)置端口d17的負(fù)載值為20 pf

  set_load -pin_load 20 [get_ports {d17}];

  #設(shè)置端口d0的輸入信號上升時間是0.5 ns

  set_input_transition -rise -min 0.5

  [get_ports {d0}];

  3.5 面積和功耗約束

  Design Compiler的綜合以時序優(yōu)先,即優(yōu)化完約束后才根據(jù)約束優(yōu)化面積和功耗。初次綜合時很難對面積進(jìn)行評估,所以在第一次綜合時設(shè)置優(yōu)化目標(biāo)為0,表示在滿足時序約束的情況下最大努力地減小面積。待綜合報告出來之后,根據(jù)初步的面積和功耗報告,修改數(shù)值,從而進(jìn)一步優(yōu)化。

  #面積設(shè)置

  set_max_area 0;

  #功耗的約束做類似的處理:

  set_max_total_power 0;

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉