畢業(yè)論文:AES加密芯片DFT設計
摘 要
現(xiàn)如今集成芯片的功能日益增強和集成度不斷的提高,測試芯片變得更加的困難,芯片的檢驗成本越來越高,所以以減少測試成本為目的的芯片檢驗方法就越來越被推崇。如果在芯片設計師采用的是可測性設計(Design For Testability,DFT)技術就能減少很多測試成本,DFT設計就是在芯片設計是改變或者添加設計結構和模塊來提高芯片的可測試性。
通過對邏輯綜合和可測性設計的學習,本課題以AES加密芯片為例,在Synopsys公司的邏輯綜合工具Design Compiler幫助下,采用Top-down的綜合策略,對復雜系統(tǒng)芯片進行時序、面積等約束,從而實現(xiàn)邏輯綜合的具體流程。而且邏輯綜合工具Design Compiler本身就有DFT Compiler工具,它集成了DFT的功能,包括在編譯期間進行約束驅(qū)動的掃描插入。本文中采用的是全掃描的測試方法,對優(yōu)化后的網(wǎng)表進行可測性設計。本文中還闡述了常用的可測性掃描技術,如全掃描技術和部分掃描設計等,同時分析各種可測性設計方法的優(yōu)缺點。
關鍵詞:可測性設計,邏輯綜合,AES算法,全掃描技術
AES Encryption Chip DFT Design
Abstract
Now the function of the chip is increasing and continuously improve the level of integration, test chips become more difficult, the chip inspection costs are getting higher and higher, so in order to reduce the cost of testing for the purpose of chip testing methods are increasingly respected. If the chip designer is design for testability (Design For Testability DFT) technology will be able to reduce the cost of test, DFT design in chip design change or add a design structure and modules to improve the testability of the
……(新文秘網(wǎng)http://jey722.cn省略1692字,正式會員可完整閱讀)……
究,挖掘其中的精髓。
在原來的經(jīng)典的測試方法不再適應于時代的發(fā)展時,DFT技術就應運而生了,而這個可測性問題最早的需求是在軍事上面的,給測試帶來了一定的發(fā)展。到后來隨著芯片的迅猛發(fā)展,而對它的測試又比較困難,就需要有測試和驗證技術的支持,大家也就更加的重視測試技術的研究,DFT設計是當前最為流行的測試芯片的技術之一,它可以通過插入掃描鏈等技術來達到測試芯片的目的?蓽y性設計被人們所推崇因其能有比較高的故障覆蓋率、測試的時間比較短、所需要占用的空間也較小。所以本課題研究能讓我對芯片測試有比較深入的了解。
當今為了適應芯片集成度越來越高和芯片的復雜程度越來越大,并且測試管腳有比較小,出現(xiàn)了很多不可測的故障,因此我們就急需要一個比較好的測試方法來解決芯片測試的問題,就從另外一方面凸顯本課題研究的重要性。
1.2 課題的研究現(xiàn)狀
隨著計算機運算能力的飛速發(fā)展,以及互聯(lián)網(wǎng)所帶來的巨大并行計算能力,DES的安全性日顯脆弱。AES的基本要求是比三重DES快且至少與三重DES一樣安全,分組長AES作為新一代的數(shù)據(jù)加密標準匯聚了強安全性、高性能、高效率、易用和靈活等優(yōu)點。 [2]曾經(jīng)廣為使用的DES算法因為它本身由于密鑰長度較小(56位),已經(jīng)表現(xiàn)出了諸多的安全問題,并且被破譯的可能性加大了,AES高級數(shù)據(jù)加密算法不管是從安全性、效率,還是密鑰的靈活性等方面都優(yōu)于DES數(shù)據(jù)加密算法,又因AES算法加密和解密過程的復雜性使得該算法成為數(shù)據(jù)加密領域的主流[3]。美國聯(lián)邦政府已經(jīng)將它確定為一種區(qū)塊加密標準。因此我選擇了AES加密芯片DFT設計這個課題進行研究。
DFT可測性設計在當前是應用非常廣泛的技術,但是在我國可測性技術的發(fā)展還是很滯后的,技術上也和國際的水平有所差距。我國的產(chǎn)品的研制、生產(chǎn)和使用的過程和測試的有所脫節(jié),對于測試還不是非常的重視,并且測試所用到的測試工具還比較缺乏。
1.3 課題研究的意義
AES 因為它密鑰可有三種分別是128、192和256位,使得它的加密和解密更負責。而且無論AES使用反饋模式或無反饋模式,其硬件和軟件實現(xiàn)性能都表現(xiàn)優(yōu)秀[3]。當然向現(xiàn)在剛剛出現(xiàn)的IDEA算法也正在展露頭角,表現(xiàn)出它的優(yōu)勢來,但是作為DES的繼承者,AES還是當前被應用最為廣泛的算法,被社會中更多的人所接受,而且AES算法是21世紀聯(lián)邦信息處理標準,來保護政府一些比較秘密的信息,所以對AES的研究仍有很大的現(xiàn)實意義。
DFT的最終目的就是為了增加電路的可測性,降低測試成本。DFT雖然能降低測試成本,但是其本身在降低測試難度的同時,修改了原有電路,影響了電路的一些參數(shù),增加了芯片的I/O管腳數(shù)目和芯片面積。對于大規(guī)模集成電路來說,面積的增加會導致功耗變大以及成品率的下降,而DFT的目的是為了降低測試的難度,提高測試的良品率,因此測試工程師和設計工程師會在DFT的使用方面存在分歧。通常采用折中的方法是將芯片的內(nèi)部電路模塊化,然后對部分模塊進行可測性設計。目前比較熟悉的技術主要有特定的DFT、內(nèi)部掃描設計、內(nèi)建自測試和邊界掃描測試等。
1.4 課題設計任務
根據(jù)完成AES加密芯片的DFT設計。邏輯綜合的過程中,需要使用正確的流程,用相應的命令,對結構或者參數(shù)進行一定的設置或修改,在保證滿足設計約束的前提下,盡量提高與最終版圖的時序一致性;對于可測性設計,選取其中一種比較合適的方法,與邏輯綜合的命令相結合,實現(xiàn)可測性。
第2章 綜合策略
2.1邏輯綜合
利用工具講RTL代碼轉(zhuǎn)化成妝化為門級網(wǎng)表的過程成為邏輯綜合。綜合一個設計的過程,從讀取RTL代碼開始,通過時序約束關系,映射產(chǎn)生一個門級網(wǎng)表。它可以分為兩步,首先根據(jù)用戶指定的工藝庫將RTL翻譯及映射成為網(wǎng)表,然后根據(jù)要求對其進行優(yōu)化,如圖2-1所示
圖2-1 綜合過程
2.2流程介紹
讀入的設計,一般是使用硬件描述語言(HDL)編寫的,比如Verilog和VHDL。想要達到最佳的綜合結果,在使用HDL語言來設計的時候,必須詳盡地考慮設計規(guī)范化、模塊的劃分等等各個方面的要素,即用RTL代碼的形式編寫代碼。
2.3指定工藝庫
在按照約束條件進行邏輯綜合時,對于選擇的流片工藝,工藝庫會提供綜合工具所需要的標準單元的所有信息,包括工藝庫含有特定工藝下的標準單元的單元面積、邏輯功能、輸出的扇出限制、輸入到輸出的時序關系和對單元時序檢查所需要的信息等。綜合工具將會根據(jù)工藝庫的這些信息來進行選擇和調(diào)整,使之達到時序收斂的要求。
2.4讀入設計
即用HDL描述的設計,RTL代碼輸入給總金額工具,有綜合工具進行編譯,綜合工具首先會檢查代碼的綜合性。
定義環(huán)境約束條件
包括設計的工藝參數(shù)(溫度、制造工藝、電壓)、I/O端口屬性等
2.5設定設計的約束條件
(1)定義時鐘
(2)設定設計規(guī)則約束
(3)輸入、輸出延時
(4)面積約束
2.6優(yōu)化設計
優(yōu)化可分為下面幾類,越高的參差考慮則優(yōu)化效果越好
2.7分析解決問題
在綜合與優(yōu)化過程中,會產(chǎn)生很多的報告,比如面積’約束‘時序報告等。通過這些報告我們可以分析設計所存在的問題,并且加以決絕。
第3章 Design Compiler邏輯綜合
3.1 DC綜合簡介
邏輯綜合是用來決定設計電路邏輯門的相互連接。DC又稱為邏輯綜合,是將設計好的RTL代碼綜合成門級網(wǎng)表。改變了過去通過手工的方面來將HDL代碼轉(zhuǎn)換成邏輯圖等操作之后,最后生成門級網(wǎng)表這一復雜的過程;通過自動完成HDL代碼轉(zhuǎn)化成門級網(wǎng)表,這個過程被稱為綜合。邏輯綜合是能對門級結構定義、達到時序與面積、功能上的平衡,并是電路的測試性能增強[4]。
綜合是由約束驅(qū)動的,不依賴工藝。DC綜合的是一個迭代的過程,從為設計中的每個模塊定義時序約束開始,這些時序約束定義了每個信號與某個特定模塊的時鐘輸入的相互關系。除約束外,還需要定義綜合環(huán)境文件,這個環(huán)境文件詳細說明了工藝單元庫和DC綜合過程使用的其他相關信息。
綜合的主要過程包括翻譯(Translation)、優(yōu)化(Optimization)和映射(Mapping)。
3.2 基本的綜合流程
它的基本流程如圖3-1所示。
圖3-1 邏輯綜合的基本流程
3.2.1指定庫文件
在做綜合之前,我們需要先用名為“.synopsys_dc.setup”的初始化文件建立綜合環(huán)境,在這個文件中通過相關變量的賦值,定義工藝庫的位置及綜合所需要的參數(shù)。
需要在.Synopsys_dc.setup中加入DC的必要參數(shù),其中:
(1)Search_path:庫的查找路徑;
(2)Target library:對應工藝庫,即目標庫,設計所要映射的ASIC工藝,DC用目標庫中的單元進行綜合;
(3)Link library:DC在解釋綜合后網(wǎng)表時用來參考的庫,通常與target library相同;
(4)Symbol library:特征庫,在使用DC的GUI也就是DV時,給出原理圖上各種標準單元的符號鏈接庫,用于解析輸入描述綜合中用的Wire Load或Operating Condition,生成圖形界面中的電路圖;
(5)Synthetic library:綜合庫,DC綜合時用來將HDL代碼轉(zhuǎn)化為相對應的元件時所參考的IP庫。
在運行DC后,可以在File→Setup中查看庫是否設置正確,也可以在其中添加庫?梢暂斎朊頳esign_vision的路徑,也可以通過在dc.synopsys文件中設置環(huán)境變量,然后在terminal中source該文件,再運行dv命令。
在本設計我們把工藝庫設定為如下圖3-2所示
圖3-2 工藝庫的設定
3.2.2 建立設計環(huán)境
建立設計環(huán)境:設計的工作環(huán)境、綜合使用的連線模型、線性負載模型、時序模型、cell的屬性等。
在工作目錄下創(chuàng)建
(1)db(存放DC綜合生成的項目db文件)
(2)lib_syn(存放庫文件)、log(存放綜合程序運行報告)
(3)netlist(存放綜合網(wǎng)表)
(4)rpt(存放綜合結果的數(shù)據(jù)報告)
(5)script(存放腳本文件)文件夾,并將.synpsys_dc文件拷到工作目錄下。
(2)DC啟動時,會自動搜索工作目錄下的.synpsys_dc文件, 根據(jù)文件中的內(nèi)容來設定綜合環(huán)境。
為了從DC得到最佳的結果,要從描述設計環(huán)境、目標和設計規(guī)則來系統(tǒng)的約束其設計。約束可包括時序和面積信息,DC運用這些約束條件進行綜合并試圖優(yōu)化設計一達到最終目標。
我們所用的上面的庫是有生產(chǎn)商供應的,里面含有各類的Cell(Cells是current design 中實例化的子電路),邏輯映射使用的。而鏈接庫是由已經(jīng)做好的設計 ……(未完,全文共26414字,當前僅顯示4750字,請閱讀下面提示信息。
收藏《畢業(yè)論文:AES加密芯片DFT設計》)