《電子技術應用》
您所在的位置:首頁 > EDA與制造 > 設計應用 > 基于系統芯片ZSU32的SoC芯片設計
基于系統芯片ZSU32的SoC芯片設計
電子發燒友
摘要: 本文針對中山大學ASIC設計中心自主開發的一款系統芯片ZSU32,以Synopsys公司的Design Compiler為綜合工具,探索了對SoC芯片進行綜合的設計流程和方法,特別對綜合過程的時序約束進行了詳細討論,提出了有效的綜合約束設置方案。
Abstract:
Key words :

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

  1 時序約束原理

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

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

  

 

  2 ZSU32系統芯片的結構

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

  3 ZSU32系統芯片的約束設置與邏輯綜合

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

  3.1 設定工藝庫和參考庫

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

  #設置目標工藝庫

  set target_library SMIC.db

  3.2 讀入RTL設計與設置工作環境

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

  讀入設計后,首先設置芯片的工作環境,根據采用的工藝庫提供的環境和線網負載模型,可以通過set_operating_condition和set_wire_load_model命令進行設置。以下是ZSU32綜合環境的頂層環境設置:

  #設置工作環境

  set_operating_condition smic18_typ;

  #設置線網負載模型

  set_wire_load_model smic18_wl30;

  3.3 時序約束

  3.3.1 時鐘定義

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

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

  create_clock-name ext_clk-period\

  16 [get_ports {ext_clk_i}];

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

  #設置一個2倍頻時鐘clk_main,

  #其源時鐘是pll_clk_i

  create_generated_clock -name clk_main\

  -multiply_by 2 -source pll_clk_i;

  3.3.2 多時鐘域約束

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

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

  #建立時間約束

  set_multicycle_path 3 -setup -start \

  -from clk10mhz -to clk30mhz;

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

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

  set_false_path -from e_clk –to p_clk;

  set_false_path -from p_clk -to e_clk;

  3.3.3 時鐘偏移

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

  #設置時鐘偏移為0.4 ns

  set_clock_uncertainty 0.4 [all_clocks];

  3.4 端口約束

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

  3.4.1 端口延時

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

  設置范例如下:

  #設置端口pci_ad13的輸入延時為4.8 ns

  set_input_delay 4.8 -clock clk_main \

  [get_ports {pci_ad13}];

  #設置端口pci_ad16的輸出延時為3.6 ns

  set_output_delay 3.6 -clock clk_main \

  [get_ports{pci_ad16};

  3.4.2 端口的驅動與負載

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

  #設置端口a7的驅動單元是BUFX2

  set_drive_cell -lib_cell BUFX2 -pin \

  [get_ports {a7}];

  #設置端口d17的負載值為20 pf

  set_load -pin_load 20 [get_ports {d17}];

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

  set_input_transition -rise -min 0.5 \

  [get_ports {d0}];

  3.5 面積和功耗約束

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

  #面積設置

  set_max_area 0;

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

  set_max_total_power 0;

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美色图一区二区三区| 最新精品在线| 欧美日韩第一区日日骚| 麻豆精品在线观看| 久久久久国产精品一区二区| 午夜精品一区二区三区在线视| 99av国产精品欲麻豆| 亚洲欧洲日本国产| 亚洲国产欧美一区二区三区丁香婷| 午夜宅男久久久| 亚洲综合视频一区| 亚洲欧美日韩国产成人| 中文有码久久| 亚洲一区二区三区四区在线观看| 一区二区久久久久| 亚洲欧洲精品一区二区三区 | 精品999久久久| 黄色成人精品网站| 一区二区亚洲欧洲国产日韩| 精品不卡一区二区三区| 在线播放中文一区| 91久久精品一区| 亚洲精品婷婷| 亚洲私人黄色宅男| 亚洲天堂网在线观看| 国产精品99久久不卡二区| 亚洲一区二区av电影| 午夜精品一区二区三区在线| 欧美一区二区精品久久911| 亚洲电影免费观看高清完整版| 亚洲国产一二三| 日韩亚洲欧美中文三级| 亚洲自拍偷拍福利| 久久国产乱子精品免费女| 久久久www成人免费精品| 久久亚洲一区二区三区四区| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美精品日韩| 国产精品剧情在线亚洲| 国产在线精品一区二区夜色| 在线日韩日本国产亚洲| 亚洲裸体俱乐部裸体舞表演av| 亚洲视频在线观看| 欧美影院成人| 99re这里只有精品6| 亚洲欧美日本国产有色| 久久这里只有| 欧美日韩一区二区三区视频| 国产欧美一区二区精品仙草咪 | 亚洲欧洲一区二区在线播放| 在线中文字幕一区| 欧美一区中文字幕| 欧美成年人视频| 一本色道久久综合| ●精品国产综合乱码久久久久| 欧美二区在线看| 欧美日韩国产小视频在线观看| 欧美吻胸吃奶大尺度电影| 国产精品揄拍一区二区| 亚洲电影观看| 国产精品99久久久久久久久久久久 | 亚洲一区在线免费| 亚洲国产精品va| 亚洲午夜激情在线| 久久精品免费看| 欧美日韩ab片| 国产亚洲女人久久久久毛片| 91久久综合| 午夜欧美大片免费观看| 日韩视频在线观看免费| 久久激情久久| 国产精品v日韩精品| 亚洲大胆av| 亚洲你懂的在线视频| 日韩视频在线观看一区二区| 欧美在线观看一区二区三区| 欧美精品色网| 红桃视频一区| 亚洲午夜日本在线观看| 亚洲精品乱码久久久久久蜜桃91| 欧美在线观看日本一区| 欧美日韩一区二区三区在线观看免| 韩国女主播一区| 亚洲一区二区三区免费观看| 亚洲精品日日夜夜| 久久久久久国产精品一区| 国产精品二区二区三区| 最近中文字幕日韩精品| 久久er精品视频| 午夜视频在线观看一区二区| 欧美美女bb生活片| 黄色成人在线网站| 亚洲综合999| 亚洲午夜激情网站| 欧美激情视频免费观看| 国内精品免费午夜毛片| 亚洲欧美另类在线观看| 亚洲一区二区在线免费观看视频| 欧美fxxxxxx另类| 很黄很黄激情成人| 销魂美女一区二区三区视频在线| 亚洲综合视频网| 欧美日韩中文字幕| 亚洲精品国精品久久99热| 亚洲黄色av| 老巨人导航500精品| 国产在线日韩| 欧美一区二区三区视频| 欧美一区二区三区四区视频| 国产精品美女黄网| 亚洲深夜激情| 亚洲永久免费| 国产精品久久久久高潮| 一区二区三区四区精品| 国产精品99久久久久久久女警| 欧美精品九九99久久| 亚洲国产成人午夜在线一区| 亚洲国产精品久久久久秋霞蜜臀| 久久亚洲一区二区| 黄色工厂这里只有精品| 久久国产一二区| 久久综合久久88| 伊人色综合久久天天| 亚洲国产欧美另类丝袜| 美女视频黄 久久| 亚洲黄色毛片| 一区二区三区日韩精品| 欧美精品18+| 亚洲最新合集| 亚洲欧美国产va在线影院| 国产精品亚洲网站| 午夜欧美精品久久久久久久| 久久精品在线播放| 伊人蜜桃色噜噜激情综合| 亚洲精品免费在线播放| 欧美激情综合色| 夜夜狂射影院欧美极品| 亚洲欧美成人| 国产视频自拍一区| 久久精品国产77777蜜臀| 免费日韩成人| 亚洲美女精品一区| 亚洲欧美精品在线观看| 国产视频在线观看一区二区三区 | 欧美日韩视频专区在线播放| 一本色道久久综合亚洲精品高清| 午夜国产精品视频| 国产一区二区三区四区老人| 久久精品一区二区三区中文字幕| 免费观看一级特黄欧美大片| 亚洲乱码久久| 久久成人精品无人区| 原创国产精品91| 国产精品99久久久久久白浆小说| 国产精品午夜电影| 久久精品视频va| 欧美人在线观看| 亚洲欧美日韩国产另类专区| 女人色偷偷aa久久天堂| 一区二区三区日韩欧美精品| 久久国产黑丝| 亚洲国产精品一区二区www在线 | 亚洲韩日在线| 午夜伦理片一区| 在线看欧美日韩| 亚洲综合精品四区| 尤物九九久久国产精品的分类| 一区二区三区蜜桃网| 国产乱码精品1区2区3区| 91久久精品国产| 国产精品免费电影| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲一区二区三区国产| 国产视频一区在线观看| 99亚洲伊人久久精品影院红桃| 国产精品视频网| 亚洲精品日韩综合观看成人91| 国产精品欧美经典| 亚洲精品在线视频| 国产日韩精品视频一区| 99在线视频精品| 国内精品免费午夜毛片| 亚洲一区视频在线| 在线观看欧美黄色| 欧美一区二区三区久久精品茉莉花| 亚洲国产成人久久| 久久国产精品99久久久久久老狼| 亚洲精品一区二区三区蜜桃久 | 136国产福利精品导航网址| 亚洲免费视频一区二区| 亚洲国产精品成人精品| 久久riav二区三区| 一本久道久久综合婷婷鲸鱼| 老司机免费视频一区二区三区 | 久久精品99国产精品日本| 亚洲日本欧美日韩高观看| 久久精品综合一区| 中文亚洲免费| 欧美精品一区二区三区在线播放| 久久爱www.|