數字后端——布圖規劃

????????布圖規劃(floorplan)與布局(place)在芯片設計中占據著重要的地位,它的合理與否直接關系到芯片的時序收斂、布線通暢、電源穩定以及良品率。所以在整個芯片設計中,從布圖規劃到完成布局一般需要占據整個物理實施1/3的時間

????????芯片設計中,在布圖規劃后需要進行電源設計;對于較小的芯片,它的過程是建立一些簡單的電源網線,因此,電源設計常常被認為是布圖規劃所捎帶的一部分工作。隨著芯片的尺寸增大,電源設計也更為復雜,它已不僅僅局限于“網格”設計,擬稱它為“電源(地)規劃”則更能反映出當代設計的實際情況。因此,在物理實施的過程中,從數據輸入到時鐘樹綜合之前,內容上可分成三大項內容,即布圖規劃電源規劃布局。其中布局又稱標準單元放置,它實際上包括對I/O單元的排序放置、大模塊(block)放置和標準單元放置的規劃。而布圖規劃與電源規劃和布局三項任務通常是連續進行的,但在工程中往往是穿插反復進行。?

一、布圖規劃概述

????????布圖規劃開始時,首先要準備好各種基本設計數據和相應的物理庫、時序庫文件,并輸人到布圖規劃的工具環境中來,為其后的布局和布線做好準備。需要準備的文件如下:

  • 設計網表,一般是門級網表,如chip_design.v
  • 設計約束文件,包括時序約束文件,如chip_design.sdc
  • 物理庫文件,一般是LEF文件
  • 時序庫文件,一般是LIB文件
  • I/O文件,一般是I/O的約束文件
  • 布圖要求文件

????????布圖規劃的主要內容包含了對芯片大小(die size)的規劃、芯片設計輸入輸出(I/O)單元的規劃、大量硬核或模塊(hard core, block)的規劃等。在某些不規則的設計中,需要對布線通道進行一些特殊的設置,這些參數的設定也是布圖規劃中的組成部分。在一些較為復雜的超大規模集成電路設計中,為了盡量減少時鐘信號線的偏差、提高芯片的性能,在布局之前便需要對時鐘網絡進行規劃,此時的時鐘網絡分布與普通的時鐘樹不同,它也是布圖規劃的重要組成部分。可見,布圖規劃的內容是對芯片內部結構的完整規劃與設計。

???????布圖規劃的主要內容為:

  1. 確定芯片的面積。出于成本的考慮,芯片的面積越小,每張硅片(wafer)上產出的裸片(die)數量將增大,從而平均到每個芯片上的成本會降低,但是如果布圖規劃設定的裸片面積太小,則會造成擁塞程度高,難以布線,從而會導致長周期的設計迭代,一個合理的面積設定是在保證布線的同時盡量節約產品成本,所以布局的最初目標是估計芯片面積的大小。
  2. 確保時序的收斂。在數字集成電路設計中,所有的工作都是在時鐘節拍的控制下完成,所以從一個寄存器到達另外一個寄存器的路徑長短決定了芯片的性能。在芯片設計的布圖規劃階段,設計者就要考慮到最終芯片是否能滿足設計的標準時序約束(SDC)的要求,實現時序的收斂,滿足芯片所需要實現的性能,因此在布圖規劃階段需要對芯片的延遲進行預估。
  3. 保證芯片的穩定。芯片能穩定地工作是芯片價值的重要組成部分,芯片輸入輸出單元的靜電保護和輸入輸出單元的供電設計都是保證芯片輸人輸出穩定的重要條件。電源規劃也是保證芯片內部電源分布均勻、供電充足、芯片工作穩定的必要條件。
  4. ?滿足布線的要求。布圖規劃與布局完成了芯片的器件擺放,而芯片功能的實現需要將所有的器件按照要求連線,故布圖規劃的目的是為了方便走線,在保證布線通暢的同時,盡量縮短走線的長度,也即減小互連線的延遲,從而有效地提高芯片的性能。這耑要設計者對邏輯設計及其功能有一定的了解,如各個模塊之間的連接關系、數據通路結構等,一個好的布圖規劃和一個差的布圖規劃在時序上的差別甚大。

二、I /O單元的規劃

1、I /O 單元的類型和布局

????????作為連接芯片內部信號與封裝管腳的橋梁,I /O 單元的分配要綜合考慮印制板走線、封裝形式、供電情況以及內部模塊結構,從而保證信號從芯片內部傳遞到外部時其路徑最短,同時要求從I/O單元關鍵引線到封裝點時,避免信號交叉,方便封裝基板的制作,減少基板上的走線層數,從而降低封裝的成本。當芯片為通用芯片時,需要參考現有的類似芯片的封裝形式,從而方便產品的應用,如果芯片是專用于某個設計,則芯片的封裝可以以印制板走線為基礎,從而確定I /O 單元的位置。

????????I /O 單元可分大致為信號接口和電源兩種類型信號I /O 單元的關鍵是選擇驅動的大小,而電源I /O單元需要重點考慮的是供電電源的數量計算和擺放。I /O 單元的類型有:數字輸入單元、數字輸出單元、數字雙向輸入輸出單元、靜電保護單元、給I /O 接口單元供電的單元、給芯核供電的單元、數字填充單元、模擬供電單元、模擬輸入單元、模擬輸出單元、模擬填充單元、專用輸入輸出單元、角填充單元等。在輸入輸出單元中,又分為普通輸入、帶上拉輸人、帶下拉輸入、帶施密特整形等多種類型,按照驅動能力(以0.18um為例)可以分別有1mA、2mA、4mA、6mA、8mA、12mA、16mA等。設計者需要根據實際情況選擇單元的類型以及驅動能力。在基于標準單元的數字集成電路設計中,I /O 單元都是廠家提供,工程師可以參考設計文檔,從而完成I /O 單元的選型.

????????廠家所提供的庫中,往往具有多種寬度的I /O 單元。如SMIC的0. 18um 1P6M工藝中,就有普通寬度、狹窄寬度、寬寬度3種類型。當芯片的輸入輸出單元較多,而內部邏輯單元較少且一般為I /O 單元限制型設計時,一般選用狹窄的I /O 單元;當芯片的輸入輸出單元較少,而內部邏輯單元較大時,則一般選用寬的I /O 單元。在同樣條件下狹窄型I /O 單元比寬型I /O單元的高度要高。當設計為子模塊時,I /O單元的形式為接點(pin)而不是接口(pad)。芯片設計中I /O單元為最常見下圖(b)。在ASIC設計中,為了提高利用率,每一邊的所有單元可以事先做成一塊模塊。芯片的pin和pad的物理特征和形狀與封裝中的pin和pad是不一樣的

芯片中pin指芯片內部各子模塊或cell邏輯連接的接點;封裝中的pin指芯片封裝好后的管腳,即用戶能夠看到的管腳。IO pad是與芯片外部連接的。

? ? ? ? 此外,當芯片面積較大、芯片時序較為緊張時,則采用倒置封裝(flip chip)設計,即I /O 單元的分布不是四邊擺放,而是均勻分布在芯片的內部,讓芯片的接觸點與基板、載體、電路板相連,在相連的過程中,由于芯片的凸點是朝下連接,因此稱為倒裝。常見的如電腦中的內存條:

???????flip chip?優點在于其封裝簡單、封裝與晶片尺寸相當、成本低、便攜、芯片倒裝焊減少傳統引線的寄生電容,有利于提高頻率、改善熱特性;而其缺點為芯片裸露、還需要進行二次封裝、二次布線設計復雜。

????????在布圖規劃和布局工具中,對采用倒置封裝的面積I /O(area I/O)的擺放通過以下步驟完成:

  1. 在LEF技術文件中,需要用CLASS PAD和PAD SITE將I /O單元定義為特定的類型。
  2. 將flip chip的I /O 單元庫導入設計。
  3. 加載版圖規劃文件和I /O 單元設置文件。
  4. 放罝 flip chip 的 I/O 單元。

2、I /O單元的供電

? ? ? ? 在數模混合的標準I/O單元庫中,電源I /O 單元可以大致分為3類:

  1. 給模擬器件供電的I /O 單元
  2. 給數字器件供電的I /O 單元
  3. 隔離數字供電I /O 單元和模擬供電I /O 單元的隔離I /O 單元

(1)模擬器件供電

????????給模擬器件供電的I /O 單元在布局上有其特殊的要求,一般情況下,一個模擬器件采用一對供電I / O單元便可以滿足要求,如果芯片的I / O單元比較寬松,則最好使用“雙綁定”(即將die上兩個I /O 單元綁定bonding到一個焊盤上),從而保證器件的穩定工作。

(2)數字器件供電

????????數字I /O 單元也分為兩大組,一組是給I /O 單元供電,一組是給核內的標準單元供電,因此在設計I /O 單元供電時,需要計算兩組電源的數量以及其分布。

? ? ? ? 1、給核內單元供電的I /O單元的數量m 根據芯片的功耗I /O單元的供電電壓以及供電電流來估算,公式如下:

m=\frac{P_{avg}}{V_{pad}\cdot I_{pad}}\cdot k

? ? ? ? 式中,P_{avg}是芯片的平均功耗

? ? ? ? ? ? ? ? ?V_{pad}是供電I /O單元正常正常條件下的供電電壓

?????????????????I_{pad}是供電I /O 單元的最大電流

? ? ? ? ? ? ? ? k是調整因子,最小取1?2,域大可取5?10,根據芯片的實際情況而定

? ? ? ?2、給I /O單元供電的供電單元數量也由多種因素來決定,I /O 單元的功耗、輸出I /O 單元的驅動能力、同步開關噪聲(SSN,simultaneous switching noise; SSO, simultaneous switching output noise)等都影響了此類I /O 單元的數值,經驗做法是給I /O單元供電的單元數量與給輸出信號端口的比例為1 : (5?10)的關系,與給內核供電的I /O 單元的數量是1 : 2 的關系。?

三、延遲預估

????????在布圖規劃與布局之前,常規條件下會對芯片的時序進行理想情況下的零線負載模型(zero WLM,wire load model)做延遲分析,從而驗證當前使用的、剛綜合出來的網表是否有較好的時序(通常在邏輯綜合結束時,應當產生用零線負載模型進行延遲分析報告)。如果在理想情況下,時序已經很緊張,建立時間的實際值與要求值之差,即剩余時間(slack)比較大,則應當重新優化網表,或者從RTL代碼著手,縮短關鍵路徑的延遲。

? ? ? ? 以層次化設計為例,下面說明在布圖規劃階段的延遲預估的方法。

????????層次化設計大致可分為三個步驟:芯片頂層設計規劃子模塊分割(partition)與實現以及芯片頂層組裝實現。層次化設計的時序預估有兩部分內容,在芯片規劃階段對整個芯片的延遲預估和時序分析以及子模塊約束的產生,子模塊約束的產生是在芯片延遲預估和時序收斂的前提下進行的。在時序預算(time budgeting)時,首先需要對整個芯片的時序進行分析,分析方法為:實驗多種布圖規劃后,根據其標準單元布局,采用靜態時序分析方法,對整個芯片的延遲做出估算,用時序違例(即負值剩余時間,negative slack)來評估哪種布圖規劃更為合理。得到時序分析的結果后對時序進行預算。

????????在層次設計時進行時序預算的方法是:首先確認穿過各個分割區域的時鐘,并產生時鐘路徑上的傳播延遲;然后確定各個分割區域的所有邊界接點,對每一分割區域的邊界接點,根據通路延遲的大小,對應其所屬的時鐘域,輸入接點生成輸入延遲(set_input_delay),輸出接點生成輸出延遲(set_output_delay)等時序約束。

????????一個輸入輸出單元可能有多條路經通過,多條路徑經過一個單點時會產生時序競爭。在處理這些多時鐘端口時,設計工具會選擇用戶指定的路徑來解決競爭問題,并且還會把該路徑設為時序預算分配中的考慮對象,可以用時序預算給出的參數選項(option)來完成路徑的選擇。

  • -min:選用最小周期時間的路徑進行時序預算。
  • -max:選用最大周期時間的路徑進行時序預算。
  • -critical:選擇具有最壞slack值的路徑進行時序預算。
  • -muilticlock:對時鐘邊沿分割區域的端口產生多輸入和輸出延遲約束。
  • -normalized::用slack值與需求時間的比值進行時序預算。
  • -combined :多種路徑組合進行時序預算。

????????另外,以路徑延遲(set_max_delay,set_min_delay)的約束通過一個多時鐘域端口時,
該約束與輸人輸出延遲等約束相比,具有優先權。

????????在層次化設計中,需要對時鐘樹上的延遲進行預估和分配,在芯片進行邏輯綜合時,應根據時鐘周期,計算時鐘在芯片內的延遲。在展平式設計時,布圖規劃和布局階段一般以定義的時鐘延遲和時鐘不確定性來模擬時鐘,在時鐘樹綜合階段才分析時鐘的真實屬性。但是在層次化設計中,因為在子模塊級才進行時鐘樹綜合,故在頂層布圖規劃和布局階段,需要對時鐘樹上的延遲進行預估和分配

? ? ? ? 上圖所示的層次化設計,時鐘clk1從頂層穿過了子模塊1、子模塊2、子模塊3,最后又回到了頂層。該時鐘樹上的時鐘延遲分配主要從模塊之間的時序預估,以及時鐘樹穿過區域的面積從而確定時鐘樹上延遲的大小。clk1總的時鐘樹的延遲理想值為1.2ns,子模塊1的面積較小,且邏輯較為寬松,則時鐘樹上的延遲分配了 0. 2ns,子模塊2的面積跟子模塊3 的面積相仿,但是clk1在子模塊2中所掛接的寄存器較模塊3多,時序較為緊張,故而分配給子模塊2的時鐘樹延遲為0. 5ns,分配給子模塊3 的時鐘樹延遲為0.3ns。從頂層到子模塊1之間的時鐘延遲為0.1ns,從子模塊3 到輸出的延遲為0. 1ns,故分配的(指令)結果如下:

create_clock -name "clk1" -period 10 -waveform {0 5} [get_ports {xtall}]
set_clock_latency 1.2 [get_clocks {clk1}]
create_clock-name "sub1_clk1" -period 10 -waveform {0 5} [get_ports {module1/A}]
set_clock_latency -source 0.1 [get_clocks {sub1_clk1}]
set_clock_latency 0.2 [get_clocks {sub1_clk1}]
create_clock-name "sub2_clk1" -period 10 -waveform {0 5} [get_ports {module2/B}]
set_clock_latency -source 0.305 [get_clocks {sub1_clk1}]
set_clock_latency 0.5 [get_clocks {sub2_clk1}]
create_clock-name "sub3_clk1" -period 10 -waveform {0 5} [get_ports {module3/A}]
set_clock_latency -source 0.9 [get_clocks {sub1_clk1}]
set_clock_latency 0.3 [get_clocks {sub3_clk1}]

?????????從上面的圖中我們看出,時鐘樹上的延遲分為兩種:一種即-source定義的是從時鐘的源頭到達所定義的時鐘樹根節點的延遲;另一種則是直接對時鐘樹上延遲的定義,通過兩者來確定一個時鐘樹的延遲信息。 ??

?四、模塊布放與布線通道

????????模塊或宏模塊的布放是布圖規劃中比較繁瑣但是很重要的工作,進人納米設計技術之前,大多采用半自動布放。和I /O單元的布放方法類似,模塊的布放屬于布局,但它又是在布圖規劃階段完成的。由于占據空間很大,它們的布局完成后,電源規劃才有實際意義。當代SoC設計可以包含數百或更多個模塊,如下圖所示,這時必須借助EDA工具來實現模塊的自動布局。

????????模塊布放位置是建立在布圖規劃基礎上的,模塊布局的結果又會對前期布圖規劃的期望目標產生直接影響,其中,能否保證布線的完成是通過布線通道的分析來進行的。

????????當讀入設計數據和用戶定義芯片的面積(即die size)之后,EDA 工具根據LEF(或其他工藝文件)工藝內容中布線間距(pitch)的大小,在整個芯片內部自動生成各金厲層連續、規則的布線軌道。布線軌道(routing track)是指芯片內部專門用于布線的路徑,布線通道(routing channel)是每兩條或多條布線軌道的空間,它們的上面是不可以擺放標準單元的。在模塊(如RAM)四周通常還預留不允許擺放標準單元僅供專門布線的暈道(halo)。這是因為在基于標準單元的設計中,標準單元在布局階段完成了整個芯片內部的擺放,由于標準單元占據了底層金屬的絕大多數布線軌道,當芯片局部出現擁塞時,采用布線暈道的定義會增添更多底層的布線通道。RAM之間預留了很多不放置標準單元的底層布線通道。當然這種預留底層布線通道的做法,解決了當前局部擁塞的問題,但也會產生其他區域的擁塞問題,因此,在布圖規劃和布局中,需要多次迭代分析,從而實現最佳效果。

????????在層次化設計中,對各個預計分割的區域之間也需要進行布線通道的定義。通道寬度估算會考慮模塊布局的拓撲約束,這些約束包括子模塊到子模塊的界限及它們之間的距離、順序和排列,以及它們的表面比率、網絡權重和子模塊隔離區。如下圖所示?。??

????????在層次化設計中,布線通道按照形狀分有典型的T 形通道L 形通道兩種。需要通過對這兩種類型的通道進行均衡、排序以及切割等方法,從而保證模塊之間的布線通道能夠滿足芯片的布通性。當兩個子模塊在芯片內部的空間跨度比較大時,有時還需要定義直通(feedthrough)布線通道,從而滿足時序和布線的要求。由于基于行的子模塊內的布線一般比子模塊間的布線更節約布線空間,因此展平式設計可以減少布線面積。這樣,在層次化的方法中也引入了滿足基于行的布線方法,稱作無通道(charmel-less)分割法如下圖(b)所示。下圖(a)為基于布線通道的分割,下圖圖(c)為混合法。圖中每個“模塊(block)”為層次化設計中從頂層分割而成的子模塊,每個子模塊可以包含一個或多個邏輯模塊(module)。

?????????

????????當每個子模塊實現了布局布線并滿足時序要求后,可以產生自己的物理單元(LEF)和時序單元( lib或1LM),這時它就成為一個硬核模塊,它可以被看成是展平式設計中基于模塊的設計(BBD,block-based design)類型。? ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253730.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253730.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253730.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

利用SSH傳輸文件

在linux下一般用scp這個命令來通過ssh傳輸文件。 1、從服務器上下載文件scp usernameservername:/path/filename /var/www/local_dir(本地目錄) 2、上傳本地文件到服務器scp /path/filename usernameservername:/path 例如scp /var/www/test.php root19…

App WebView實例化

a,高級設置里的環境變量 jdk的配置 b,下載Google的sdk,里面直接包含eclipse 1,新建一個項目 2,起個名字 3,設么走不做,next 4,只操作選擇顯示的三種方式 5,next什么都不做…

[動態代理三部曲:下] - 從動態代理,看Retrofit的源碼實現

前言 關于動態代理的系列文章,到此便進入了最后的“一出好戲”。前倆篇內容分別展開了:從源碼上,了解JDK實現動態代理的原理;以及從動態代理切入,學會看class文件結構的含義。 如果還沒有看過這倆篇文章的小伙伴&#…

Ti的DM368系列芯片的所有PDF資料匯總

http://www.ti.com/sc/docs/psheets/man_dsp.htm

劉浩(專業打劫三十年)20155307的預備作業02:

我的技能?比大多數人好?經驗是什么?與老師的經驗的共同之處? 我的技能之一就是單詞翻譯王——其實看了婁老師的學習經驗之后便有些自慚形穢了,我目前的單詞量是7300,扇貝上測的,而且測試時是嚴格的“不會就…

數字后端——電源規劃

電源規劃是給整個芯片的供電設計出一個均勻的網絡,它是芯片物理設計中非常關鍵的一部分。電源規劃在芯片布圖規劃后或在布圖規劃過程中交叉完成,它貫穿于整個設計中,需要在芯片設計的不同階段對電源的供電網絡進行分析并根據要求進行修改。,主…

逆向project實戰--Acid burn

0x00 序言 這是第二次破解 crackme 小程序,感覺明顯比第一次熟練。破解過程非常順利,差點兒是分分鐘就能夠找到正確的 serial,可是我們的目標是破解計算過程。以下將具體介紹。 0x01 初次執行 剛開始拿到 crackme 先執行程序。看看有哪些明顯…

PyCharm使用技巧(六):Regullar Expressions的使用

2019獨角獸企業重金招聘Python工程師標準>>> PyCharm v2018.2最新版本下載 使用正則表達式查找和替換文件中的文本 示例代碼 使用正則表達式查找和替換字符串 假設您想用擴展標記<title> </title>替換元素&#xff08;title&#xff09;中的屬性&#x…

內核中_init,_exit中的作用

__init&#xff0c; __initdata等屬性標志&#xff0c;是要把這種屬性的代碼放入目標文件的.init.text節&#xff0c;數據放入.init.data節──這一過程是通過編譯內核時為相關目標平臺提供了xxx.lds鏈接腳本來指導ld完成的。 對編譯成module的代碼和數據來說&#xff0c;當模…

jQuery筆記總結

來源于&#xff1a;http://blog.poetries.top/2016/10/20/review-jQuery/ http://www.jianshu.com/p/f8e3936b34c9 首先&#xff0c;來了解一下jQuery學習的整體思路 第一節 jQuery初步認知 jQuery概述 JQuery概念 javascript概念 基于Js語言的API和語法組織邏輯&#xff0c;通…

芯片生產流程

每個半導體產品的制造都需要數百個工藝&#xff0c;泛林集團將整個制造過程分為八個步驟&#xff1a;晶圓加工-氧化-光刻-刻蝕-薄膜沉積-互連-測試-封裝。 一、晶圓加工 所有半導體工藝都始于一粒沙子&#xff01;因為沙子所含的硅是生產晶圓所需要的原材料。晶圓是將硅(Si)或砷…

GRE Sub math 報名

Step1 注冊ETS帳號 Step2 登錄帳號&#xff0c;點擊Register/Find Test Centers, Dates Step3 按照提示查詢考場 如果沒有結果而是出現了如下提示&#xff0c;意味著這個地方沒有考位了&#xff0c;需要選擇其他地方的考位 Step 4 接下來就和GRE general test的過程一樣了&…

????platform_device_系列函數及其設備注冊的作用

platform_device_系列函數&#xff0c;實際上是注冊了一個叫platform的虛擬總線。使用約定是如果一個不屬于任何總線的設備&#xff0c;例如藍牙&#xff0c;串口等設備&#xff0c;都需要掛在這個虛擬總線上。 driver/base/platform.c //platform設備聲明 struct device pla…

示例解讀 Python 2 和 Python 3 之間的主要差異

開發四年只會寫業務代碼&#xff0c;分布式高并發都不會還做程序員&#xff1f; 每門編程語言在發布更新之后&#xff0c;主要版本之間都會發生很大的變化。 在本文中&#xff0c;Vinodh Kumar 通過示例解釋了 Python 2 和 Python 3 之間的一些重大差異&#xff0c;以幫助說明…

數字后端——布局

由于I / O單元和模塊的布放已經在布圖規劃時完成&#xff0c;因此布局的剩余任務主要是對標準單元的布局。布局方案在布圖規劃時就已經做了決定&#xff0c;要么選擇展平式布局&#xff0c;要么就是層次化布局。 一、布局目標 布局的目標也即布局內容實施之后所要達到的預期值…

python基礎 函數 (四)

一 函數基本 def func1():print("hello world")return 1, "hello", ("wo", "ai"), ["ni", "da"], {"you": "xi"} # return 可以返回任意# 結果&#xff1a; (1, hello, (wo, ai), [ni, da…

c#注釋

c#的注釋分為&#xff1a;這里不能不說一下什么是注釋。 注釋本身不會執行&#xff0c;只是說明性文字&#xff0c;只供程序員閱讀。 注釋又分為&#xff1a;單行注釋&#xff0c;多行注釋&#xff0c;文檔注釋。 單行注釋&#xff1a;//開始 多行注釋&#xff1a;/*開始&#…

嵌入式linux字符設備驅動

1. 我們需要先調用register_chrdev_region()或 alloc_chrdev_region()來向系統申請設備號int register_chrdev_region( dev_t first, unsigned int count, char *name ); //函數通過已知的設備號first來注冊字符設備區域。 int alloc_chrdev_region( dev_t *dev, unsigned int…

數字后端——時鐘樹綜合

在數字集成電路設計中&#xff0c;時鐘信號是數據傳輸的基準&#xff0c;它對于同步數字系統的功能、性能和穩定性起決定性作用&#xff0c;所以時鐘信號的特性及其分配網絡尤被人們關注。時鐘信號通常是整個芯片中有最大扇出、通過最長距離、以最高速度運行的信號。時鐘信號必…

52次課(mysql用戶管理、常用sql語句、 mysql數據庫備份恢復)

MySQL創建用戶以及授權 默認用戶是root用戶&#xff0c;不可能所有人員都用root用戶&#xff0c;創建用戶防止誤刪除&#xff0c;因為mysql里邊有多個庫每個庫里有很多表&#xff0c;所以需要給單獨的用戶做一些授權我只需要它對某一個數據庫有權限&#xff0c;或者說對某個數據…