- 熱門(mén)關(guān)鍵詞:
- 武漢LED顯示屏
- 武漢LED電子屏
- 武漢LED廣告屏
- LED顯示屏安裝
- LED顯示屏批發(fā)
前端設計(front-end) 一般是指芯片從RTL設計到生成可以布局布線(xiàn)的門(mén)級網(wǎng)表(Netist) 的階段,按照工作內容進(jìn)行劃分,主要包括設計、驗證和綜合三大部分,如圖2.4所示。
在前端設計之前,需要對芯片的系統和功能進(jìn)行規范和定義,其中涉及到的工作有撰寫(xiě)規格書(shū)(Spec), 進(jìn)行系統框架規范與功能設計等。系統的規范是對電子系統性能的整體描述,是對系統較高層次的抽象描述,主要包括系統的功能、性能、設計模式、物理尺寸、制造工藝等方面。功能設計則是為了確定系統功能的可實(shí)行方案,一-般需要給出系統時(shí)序圖以及各個(gè)子模塊之間的數據流程圖,并附上簡(jiǎn)單的說(shuō)明文字,如此才能更加清楚地說(shuō)明系統內部的設計及結構。同時(shí),為了讓整個(gè)設計更加容易理解,在描述完設計預期功能后,還需對系統內各個(gè)模塊及其連接關(guān)系也進(jìn)行描述說(shuō)明。另外,從系統的應用角度來(lái)看,描述還需要說(shuō)明設計的適用場(chǎng)合、功能特性以及I/O接口間的數據變換。
前端的RTL設計
數字前端設計需要借助特定的EDA工具。早期的硬件IC系統通常采用原理圖輸入的方法進(jìn)行設計,雖然這種方法直觀(guān)、可控性好,并且效率也較高,但設計復雜,可移植性差,在大規模設計時(shí)耗時(shí)耗力。隨著(zhù)芯片邏輯規模的不斷攀升和計算機技術(shù)的發(fā)展,這種落后的設計方式越來(lái)越顯得力不從心,取而代之的是計算機代碼輸入的方式,即硬件描述語(yǔ)言HDL (Hardware Description Language)逐漸成為主流設計硬件IC系統的方法。 本文RTL設計采用的就是Verilog HDL語(yǔ)言,如圖2.5所示,為SPI接口協(xié)議的部分Verilog 硬件描述語(yǔ)言。
寄存器傳輸級(RTL)是一種對數字邏輯電路的抽象模型層級,是對信號在寄存器之間的變換過(guò)程的建模,也是建模信號在總線(xiàn)上的傳輸過(guò)程的建模,能合 理的模擬同步數字系統的工作過(guò)程。RTL編碼設計的好壞及其規范性直接影響后續工作的迭代次數及產(chǎn)品的較終質(zhì)量,在整個(gè)芯片設計過(guò)程中占有非常關(guān)鍵的地位。RTL長(cháng)期以來(lái)是“可綜合”的較高抽象層級,和同步數字系統設計方法學(xué)高度契合,目前依然是EDA工具支持較完善的一個(gè)抽象層級。
RTL設計中需要注意很多問(wèn)題,比如異步設計問(wèn)題、時(shí)鐘設計問(wèn)題、可綜合性、電路的面積及響應速度等,這些都是RTL編碼中的常見(jiàn)問(wèn)題。
前端的驗證
RTL編碼完后的驗證工作,遵循三個(gè)原則:隨機化,高覆蓋率,可測試性。.在數字芯片開(kāi)發(fā)過(guò)程中,驗證占有十分重要的地位,可以說(shuō),一邊開(kāi)發(fā)一 邊驗證,其目的就是在無(wú)延遲的理想情況下,通過(guò)大量的仿真,發(fā)現電路設計過(guò)程中人為或者非人為引起的BUG。驗證在芯片設計中又稱(chēng)為“前仿”。
目前芯片的驗證環(huán)境主要為UVM,全稱(chēng)為通用驗證方法論,其前身是OVM.UVM是通用的驗證平臺,基于它能夠產(chǎn)生大量、復雜且可定制化的隨機激勵,可顯著(zhù)提高大型驗證工程的擴展性和協(xié)作性。舉例說(shuō)明,UVM框架如軟件開(kāi)發(fā)過(guò)程中的分層結構,只要定義好統一的接口,工程中的各個(gè)層次就可以分配給不同的研發(fā)團隊進(jìn)行開(kāi)發(fā)。驗證的項目同樣如此,即使產(chǎn)生激勵的工程有改動(dòng),也不會(huì )影響到“觀(guān)察波形”的團隊。而UVM在驗證工作中如同一個(gè)管家,可以將“輸入激勵”和“觀(guān)察波形”的過(guò)程統一管理了起來(lái)。如圖2.6所示,為基于UVM開(kāi)發(fā)的驗證示意圖,其中DUT為待驗證模塊,產(chǎn)生激勵模塊即編寫(xiě)的TestBench。 激勵信號傳入DUT中,輸出需要觀(guān)察的波形或者結果,通過(guò)與預期的結果比較的過(guò)程,來(lái)判斷編寫(xiě)的RTL代碼是否正確。
芯片驗證一般有以下兩個(gè)層面,一個(gè)是 RTL級或者Netlist, 這個(gè)也是一般意義上的芯片驗證工作,不但對Verilog語(yǔ)言編寫(xiě)的RTL進(jìn)行驗證,也要對前后端工具處理的Netlist文件進(jìn)行驗證,保證芯片的功能滿(mǎn)足要求以及RTL編碼正確;另一個(gè)是FPGA級的,某種意義上講也是RTL,不同的是該級需下載到了FPGA中,借助硬件環(huán)境來(lái)做實(shí)驗驗證。
驗證的工作量在芯片設計中一般會(huì )占據了大部分時(shí)間和精力,因為無(wú)論哪一種驗證,都需要搭建測試平臺(Test Bench),讓驗證平臺能夠從軟件結構上來(lái)模擬芯片的工作環(huán)境。測試平臺中的被測芯片是RTL級的數字模塊,測試向量或施加的激勵可以是Verilog硬件描述語(yǔ)言,該語(yǔ)言本身就具有行為級描述功能,能夠滿(mǎn)足大部分測試平臺搭建和測試激勵產(chǎn)生的工作。但由于測試激勵是串行的,即按時(shí)間順序進(jìn)入和流出芯片,因此驗證中也越來(lái)越多地使用--些軟件上的技術(shù),比如面向對象的編程技術(shù),目前常用的驗證語(yǔ)言有SystemVerilog,SpecmanE等。
前端的綜合
綜合(Synthesis)是將高層次的RTL級編碼轉換為Nestist (門(mén)級網(wǎng)表)的過(guò)程,網(wǎng)表中包含了RTL中所有的邏輯信息,此外還可能有DFT (Design For Test)、clocking gating、 IO等信息,用于后端布局布線(xiàn)等流程。日前主流的綜合工具為Synopsys公司發(fā)布的“Design Compiler”軟件,簡(jiǎn)稱(chēng)“DC”。它通過(guò)改進(jìn)電路延遲時(shí)間的計算方法,能夠顯著(zhù)地縮短設計時(shí)間和提高設計性能。
綜合一般由三部分組成, 分別是翻譯(Translate). 邏輯優(yōu)化(Optimizing)和映射(mapping)。 如圖2.7所示,為綜合過(guò)程的示意圖。如圖2.8所示,為綜合需要用到的庫及文件。
其中,翻譯是將RTL級的VerilogHDL代碼轉換成GTECH庫中單元表示的網(wǎng)表;邏輯優(yōu)化是與工藝無(wú)關(guān)的階段,指運用布爾變換或代數變換技術(shù),根據設.計者設定的時(shí)延、面積、線(xiàn)負載模型等綜合約束條件來(lái)對門(mén)級網(wǎng)表做進(jìn)一步邏輯優(yōu)化的過(guò)程:映射通常是指將GTECH庫元件映射到某- -特定的半導體工藝上,此時(shí)門(mén)級網(wǎng)表中就包含了相關(guān)的工藝參數。(注:文中提到的GTECH庫是Synopsys公司提供的通用的、獨立于工藝的元件庫)
綜合的目的是為了將RTL代碼映射為與工藝庫(由Foundry提供)相關(guān)的網(wǎng)表,同時(shí)為實(shí)現芯片設計工作中性能、功耗和面積等要求的平衡而進(jìn)行優(yōu)化, 為此需設定時(shí)間、環(huán)境、面積等方面的約束,由此使較終的流片滿(mǎn)足市場(chǎng)需求。其中較重要的部分是時(shí)序的設計,只要滿(mǎn)足時(shí)序約束條件,才能使芯片工作正常。而時(shí)序設計的實(shí)質(zhì)則是滿(mǎn)足每一個(gè)觸發(fā)器建立時(shí)間(Setup) 和保持時(shí)間(Hold)的要求。定義如下:
(1)建立時(shí)間:觸發(fā)器在時(shí)鐘上升沿到來(lái)之前,其數據輸入端的數據必須保持不變的較小時(shí)間。
(2)保持時(shí)間:觸發(fā)器在時(shí)鐘上升沿到來(lái)之后,其數據輸入端的數據必須保持不變的較小時(shí)間。
這是因為觸發(fā)器內部數據的采樣需要一定的時(shí)間,如果不滿(mǎn)足建立和保持時(shí)間,觸發(fā)器會(huì )進(jìn)入亞穩態(tài),輸出不穩定的結果,數據將在0和1之間變化,需要經(jīng)過(guò)一段恢復時(shí)間輸出數據才能穩定,但穩定后的數據又不一定是所需要的值。
為此,綜合過(guò)程需要多種工具來(lái)保障對時(shí)序的要求。比如可測試性設計(DFT)、形式驗證(Formal Verification)、靜態(tài)時(shí)序分析( Static Timing Analysis,STA)、功能仿真( Functional Simulation)等。如圖2.9所示,為綜合所需工具的流程示意圖。
值得一提的是, 從邏輯綜合開(kāi)始,基本每做一步大的調整,都會(huì )進(jìn)行STA, .特別是插入了時(shí)鐘樹(shù)(Clock Tree)后,需要后端工具( ICC/Encounter)反標出的標準延遲文件(SDF)來(lái)進(jìn)行分析,在延遲等近似芯片實(shí)際I作的條件下進(jìn)行時(shí)序仿真(后仿),觀(guān)察功能是否仍能保持正常。