掃描二維碼
隨時(shí)隨地手機(jī)看文章
本文針對(duì)中山大學(xué)ASIC設(shè)計(jì)中心自主開(kāi)發(fā)的一款系統(tǒng)芯片ZSU32,以Synopsys公司的Design Compiler為綜合工具,探索了對(duì)SoC芯片進(jìn)行綜合的設(shè)計(jì)流程和方法,特別對(duì)綜合過(guò)程的時(shí)序約束進(jìn)行了詳細(xì)討論,提出了有效的綜合約束設(shè)置方案。
1 時(shí)序約束原理
同步電路是大多數(shù)集成電路系統(tǒng)的主流選擇。同步電路具有工作特性簡(jiǎn)單、步調(diào)明確、抗干擾能力強(qiáng)等特點(diǎn)。但是,因?yàn)樗械臅r(shí)序元件受控于一個(gè)特定的時(shí)鐘,所以數(shù)據(jù)的傳播必須滿足一定的約束以便能夠保持與時(shí)鐘信號(hào)步調(diào)一致。
設(shè)置建立時(shí)間(setup time)約束可以滿足第一個(gè)條件:
2 ZSU32系統(tǒng)芯片的結(jié)構(gòu)
ZSU32芯片內(nèi)置32 bit MIPS體系處理器作為CPU,具備兩路獨(dú)立的指令和數(shù)據(jù)高速緩存,CPU內(nèi)部有獨(dú)立的DSP協(xié)處理器和浮點(diǎn)協(xié)處理器,同時(shí)集成了LCD控制器、MPEG硬件加速器、AC97控制器、SRAM控制器、NAND Flash控制器、SATA高速硬盤(pán)控制器、以太網(wǎng)MAC控制器等,并具有I2C、I2S、SPI、、UART、GPIO等多種接口模塊。
3 ZSU32系統(tǒng)芯片的約束設(shè)置與邏輯綜合
ZSU32系統(tǒng)芯片的綜合采取自底向上的策略,先局部后整體。首先將當(dāng)前工作層次設(shè)置為系統(tǒng)芯片的某個(gè)子模塊,然后對(duì)該子模塊添加各項(xiàng)具體約束,接著完成子模塊的綜合。依次對(duì)各子模塊重復(fù)上述綜合流程,當(dāng)各個(gè)模塊都順利通過(guò)了初次綜合后,通過(guò)set_dont_touch_network命令將模塊中的關(guān)鍵路徑和時(shí)鐘線網(wǎng)保護(hù)起來(lái),然后做一次全局優(yōu)化,檢查是否滿足時(shí)序等各方面的設(shè)計(jì)要求,達(dá)到要求就可以輸出最終的網(wǎng)表和各項(xiàng)綜合報(bào)告。
3.1 設(shè)定工藝庫(kù)和參考庫(kù)
設(shè)置Design Compiler運(yùn)行所使用的庫(kù):目標(biāo)庫(kù)(target_library)、鏈接庫(kù)(link_library)、可綜合庫(kù)(synthetic_library)、符號(hào)庫(kù)(symbol_library)。其中的目標(biāo)庫(kù)中包含了標(biāo)準(zhǔn)單元庫(kù)、RAM單元庫(kù)、I/O單元庫(kù)、PLL單元庫(kù)等,通常是由芯片代工廠家提供。系統(tǒng)芯片ZSU32采用的是中芯國(guó)際的0.18 ?滋m CMOS工藝庫(kù),所以在設(shè)置時(shí)就把目標(biāo)庫(kù)指向該工藝庫(kù)。
#設(shè)置目標(biāo)工藝庫(kù)
set target_library SMIC.db
3.2 讀入RTL設(shè)計(jì)與設(shè)置工作環(huán)境
讀入RTL設(shè)計(jì)通常有自頂向下或者自底向上2種方式。因?yàn)閆SU32模塊眾多,所以采用自底向上的讀入方式。首先讀入各個(gè)子模塊,并分別編譯;然后更改層次,編譯上一層的模塊;最后會(huì)合成整個(gè)系統(tǒng)。
讀入設(shè)計(jì)后,首先設(shè)置芯片的工作環(huán)境,根據(jù)采用的工藝庫(kù)提供的環(huán)境和線網(wǎng)負(fù)載模型,可以通過(guò)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 時(shí)序約束
3.3.1 時(shí)鐘定義
時(shí)鐘是整個(gè)時(shí)序約束的起點(diǎn)。系統(tǒng)芯片ZSU32將外部輸入時(shí)鐘和PLL模塊輸入時(shí)鐘作為源時(shí)鐘:ext_clk_i和pll_clk_i。通過(guò)對(duì)這2個(gè)源時(shí)鐘信號(hào)的分頻或者倍頻,產(chǎn)生了各個(gè)子模塊的時(shí)鐘信號(hào)。
#定義源時(shí)鐘ext_clk,周期16 ns
create_clock-name ext_clk-period
16 [get_ports {ext_clk_i}];
在SoC芯片內(nèi)部,子模塊的時(shí)鐘實(shí)際是經(jīng)過(guò)源時(shí)鐘分頻或者倍頻得到的,使用create_generated_clock命令來(lái)建立子模塊時(shí)鐘。
#設(shè)置一個(gè)2倍頻時(shí)鐘clk_main,
#其源時(shí)鐘是pll_clk_i
create_generated_clock -name clk_main
-multiply_by 2 -source pll_clk_i;[!--empirenews.page--]
3.3.2 多時(shí)鐘域約束
時(shí)序檢查默認(rèn)以一個(gè)時(shí)鐘周期為界,但對(duì)于ZSU32系統(tǒng)芯片,存在著一些多周期路徑,在這些路徑上,數(shù)據(jù)不需要在單時(shí)鐘周期內(nèi)到達(dá)終點(diǎn)。例如,clk30mhz和clk10mhz是同源的同步時(shí)鐘,前者頻率是后者的3倍,對(duì)從clk10mhz時(shí)鐘域向clk30mhz時(shí)鐘域傳輸數(shù)據(jù)的路徑,采用如下命令:
#按照3個(gè)周期(clk30mhz)進(jìn)行
#建立時(shí)間約束
set_multicycle_path 3 -setup -start
-from clk10mhz -to clk30mhz;
對(duì)于異步時(shí)鐘域之間的路徑,不用進(jìn)行同步的時(shí)序檢驗(yàn),應(yīng)該將其定義為偽路徑(false path),這樣在邏輯綜合時(shí)就不必浪費(fèi)資源去優(yōu)化。
#將異步時(shí)鐘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 時(shí)鐘偏移
芯片中時(shí)鐘經(jīng)過(guò)不同的傳輸路徑,由于每條路經(jīng)延時(shí)不一,導(dǎo)致從時(shí)鐘源到達(dá)各個(gè)寄存器的始終輸入端的相位差。這種由于空間分布而產(chǎn)生的偏差叫做時(shí)鐘傾斜(clock skew)。此外,由于溫漂、電子漂移的隨機(jī)性,使時(shí)鐘信號(hào)的邊沿可能超前也可能滯后。這種具有時(shí)間不確定性的偏移稱為時(shí)鐘抖動(dòng)(clock jitter)。偏移導(dǎo)致時(shí)鐘信號(hào)到達(dá)各個(gè)觸發(fā)器的時(shí)鐘引腳的時(shí)間不一致,需要給予約束。
#設(shè)置時(shí)鐘偏移為0.4 ns
set_clock_uncertainty 0.4 [all_clocks];
3.4 端口約束
SoC芯片通過(guò)大量輸入和輸出端口與外界進(jìn)行信息的傳輸,端口約束主要用于約束頂層端口相連的片內(nèi)組合邏輯,包括確定輸入延時(shí)、輸出延時(shí)、輸出負(fù)載、輸出扇出負(fù)載、輸入信號(hào)躍遷時(shí)間等。
3.4.1 端口延時(shí)
輸入延時(shí)是指外部邏輯到電路輸入端口的路徑延時(shí)。輸出延時(shí)是指輸出端口到外部寄存器的路徑延時(shí)。
設(shè)置范例如下:
#設(shè)置端口pci_ad13的輸入延時(shí)為4.8 ns
set_input_delay 4.8 -clock clk_main
[get_ports {pci_ad13}];
#設(shè)置端口pci_ad16的輸出延時(shí)為3.6 ns
set_output_delay 3.6 -clock clk_main
[get_ports{pci_ad16};
3.4.2 端口的驅(qū)動(dòng)與負(fù)載
端口的驅(qū)動(dòng)和負(fù)載特性通過(guò)設(shè)置輸入驅(qū)動(dòng)單元、輸入輸出負(fù)載值以及信號(hào)躍遷時(shí)間等來(lái)描述。范例如下:
#設(shè)置端口a7的驅(qū)動(dòng)單元是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的輸入信號(hào)上升時(shí)間是0.5 ns
set_input_transition -rise -min 0.5
[get_ports {d0}];
3.5 面積和功耗約束
Design Compiler的綜合以時(shí)序優(yōu)先,即優(yōu)化完約束后才根據(jù)約束優(yōu)化面積和功耗。初次綜合時(shí)很難對(duì)面積進(jìn)行評(píng)估,所以在第一次綜合時(shí)設(shè)置優(yōu)化目標(biāo)為0,表示在滿足時(shí)序約束的情況下最大努力地減小面積。待綜合報(bào)告出來(lái)之后,根據(jù)初步的面積和功耗報(bào)告,修改數(shù)值,從而進(jìn)一步優(yōu)化。
#面積設(shè)置
set_max_area 0;
#功耗的約束做類似的處理:
set_max_total_power 0;
上海概倫電子股份有限公司是一家具備國(guó)際市場(chǎng)競(jìng)爭(zhēng)力的EDA企業(yè),擁有領(lǐng)先的EDA關(guān)鍵核心技術(shù),致力于提高集成電路行業(yè)的整體技術(shù)水平和市場(chǎng)價(jià)值,提供專業(yè)高效的EDA流程和工具支撐。公司通過(guò)EDA方法學(xué)創(chuàng)新,推動(dòng)集成電路設(shè)計(jì)和...
關(guān)鍵字: EDA 集成電路 芯片設(shè)計(jì)據(jù)業(yè)內(nèi)消息,因?yàn)槿蛳M(fèi)電子市場(chǎng)的低迷,老牌IDM公司Intel將陸續(xù)從本月開(kāi)始進(jìn)行較大規(guī)模裁員。Intel公司CEO帕特·基爾辛格自從上任以來(lái)不斷試圖調(diào)整公司策略以保證提高利潤(rùn)和產(chǎn)業(yè)規(guī)劃,信息表示Intel將對(duì)芯片設(shè)計(jì)...
關(guān)鍵字: IDM Intel 晶圓代工 芯片設(shè)計(jì)近日,中興遠(yuǎn)航 30S 5G 手機(jī)正式開(kāi)售。這是繼電信天翼 1 號(hào) 2022、海信手機(jī)及平板之后,又一款采用展銳 5G 二代芯片的終端上市,標(biāo)志著展銳 5G 二代芯片再次得到市場(chǎng)認(rèn)可。
關(guān)鍵字: 芯片 半導(dǎo)體 芯片設(shè)計(jì)EDA 社區(qū)是一個(gè)軟件開(kāi)發(fā)者社區(qū),我們的客戶是系統(tǒng)或半導(dǎo)體公司,他們開(kāi)發(fā)下一代芯片,從汽車到數(shù)據(jù)中心再到物聯(lián)網(wǎng),甚至是制藥芯片。
關(guān)鍵字: 芯片設(shè)計(jì) Siemens EDA為了增進(jìn)大家對(duì)芯片的認(rèn)識(shí),本文將對(duì)芯片在設(shè)計(jì)的過(guò)程中存在的兩個(gè)難點(diǎn)予以介紹。
關(guān)鍵字: 芯片 指數(shù) 芯片設(shè)計(jì)(全球TMT2022年8月23日訊)8月12日,海光信息正式登陸科創(chuàng)板。此次IPO,海光信息發(fā)行價(jià)為36元/股,開(kāi)盤(pán)大漲94.44%,市值一度超1610億元。招股書(shū)顯示,2019年至2021年,海光信息營(yíng)業(yè)收入分別為3...
關(guān)鍵字: 國(guó)產(chǎn)芯片 CPU SOC芯片 處理器北京2022年8月22日 /美通社/ -- 8月19日,在"新新向上 智匯同行"2022年浪潮網(wǎng)絡(luò)合作伙伴大會(huì)上,浪潮網(wǎng)絡(luò)發(fā)布400G云中心網(wǎng)絡(luò)核心交換機(jī)產(chǎn)品——CN12900E,擁有400...
關(guān)鍵字: 交換機(jī) 網(wǎng)絡(luò) 端口 數(shù)據(jù)中心(全球TMT2022年8月22日訊)8月19日,在"新新向上 智匯同行"2022年浪潮網(wǎng)絡(luò)合作伙伴大會(huì)上,浪潮網(wǎng)絡(luò)發(fā)布400G云中心網(wǎng)絡(luò)核心交換機(jī)產(chǎn)品——CN12900E,擁有400G算網(wǎng)一體核心超寬端口,適用于云計(jì)算...
關(guān)鍵字: 交換機(jī) 網(wǎng)絡(luò) 矩陣 端口2022年8月18日,世界半導(dǎo)體大會(huì)暨南京國(guó)際半導(dǎo)體博覽會(huì)正式開(kāi)幕。此次大會(huì)以“世界芯·未來(lái)夢(mèng)”為主題,旨在進(jìn)一步聚集國(guó)內(nèi)國(guó)際資源,推進(jìn)全球半導(dǎo)體組織、企業(yè)有效交流合作,共同探討新環(huán)境、新背景、新業(yè)態(tài)下全球半導(dǎo)體產(chǎn)業(yè)的發(fā)...
關(guān)鍵字: 瀾起科技 芯片設(shè)計(jì) 世界半導(dǎo)體大會(huì)(全球TMT2022年8月4日訊)武漢一大學(xué)為采用浪潮網(wǎng)絡(luò)提供的智聯(lián)解決方案對(duì)新校區(qū)實(shí)驗(yàn)室進(jìn)行高規(guī)格建設(shè)。浪潮網(wǎng)絡(luò)通過(guò)配置SC9600系列交換機(jī)作為計(jì)算網(wǎng)絡(luò)的核心、以S5560系列交換機(jī)作為接入,為網(wǎng)絡(luò)靶場(chǎng)實(shí)驗(yàn)室、虛擬...
關(guān)鍵字: 數(shù)字化 網(wǎng)絡(luò) 交換機(jī) 端口