《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 形式化驗證在處理器浮點運算單元中的應用
形式化驗證在處理器浮點運算單元中的應用
2017年電子技術應用第2期
朱 峰,魯征浩,朱 青
蘇州大學,江蘇 蘇州215006
摘要: 隨著芯片復雜度的急劇增加,模擬仿真驗證不能保證測試向量的完備性,尤其是一些邊界情況。形式驗證方法因其完整的狀態空間遍歷性和良好的完備性,被業界應用于設計規模不大的模塊和子單元中。針對處理器浮點運算單元,采用Cadence公司JasperGold工具對一些關鍵模塊進行了形式化驗證,對流水控制中的糾錯碼(Error Correcting Code,ECC)、軟件結構寄存器(Software Architected Register,SAR)和計算單元中的公共模塊分別采用了基于FPV(Formal Property Verification)的性質檢驗和基于SEC(Sequential Equivalence Checking)的等價性檢驗。結果表明,形式化驗證在保證設計正確性的基礎上極大地縮短了驗證周期。
中圖分類號: TN401;TP301
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.02.005
中文引用格式: 朱峰,魯征浩,朱青. 形式化驗證在處理器浮點運算單元中的應用[J].電子技術應用,2017,43(2):29-32.
英文引用格式: Zhu Feng,Lu Zhenghao,Zhu Qing. Effective formal applications in CPU floating point unit[J].Application of Electronic Technique,2017,43(2):29-32.
Effective formal applications in CPU floating point unit
Zhu Feng,Lu Zhenghao,Zhu Qing
Soochow University,Suzhou 215006,China
Abstract: With the increasing complexity of chip design, it is almost impossible to ensure the completeness of test space, especially corner cases. Formal verification is applied to block and subunit level design in industry due to systematic and efficient way to explore exhaustively all reachable state space. This paper describes our practical experiences and results with applying formal verification to floating point unit using Cadence JasperGold. Specially, FPV(Formal Property Verification) and SEC(Sequential Equivalence Checking) are applied to ECC(Error Correcting Code) as well as SAR(Software Architecture Register) in pipeline control and shared arithmetic modules respectively. The implemented results show that JasperGold improves verification quality with exposing corner cases, locates potential bugs accurately and speeds up verification achievement.
Key words : floating point unit;formal verification;JasperGold;FPV;SEC

0 引言

    隨著集成電路設計規模和復雜度增加,系統設計的功能驗證面臨著嚴峻挑戰。據統計,驗證的時間和人力投入已占到整個設計的50%以上,用于測試和錯誤診斷的代價超過了產品實現成本的50%。因此,推出一種新的驗證方法成為驗證界的熱點和難點。

    傳統的模擬驗證方法,基于軟件或硬件平臺設計系統模型,通過對比測試向量的輸出結果判斷設計是否達到標準,這很大程度上取決于測試向量的完備性[1]。面對大型設計時,模擬驗證逐漸暴露其局限性,難以覆蓋所有的測試向量,無法保證驗證的完整性。

    形式化驗證采用系統高效的方法,遍歷整個狀態空間,能夠對設計進行完整的驗證,近年來受到業界的廣泛關注。形式驗證包括等價性檢驗、性質檢驗和定理證明。等價性檢驗是指驗證一個設計的不同描述形式之間的功能等價性。性質檢驗利用時態邏輯描述設計功能,通過窮舉法驗證設計的系統是否滿足功能要求。定理證明從系統的公理出發,使用推理規則逐步推導出其所期望特性的證明過程,該方法對驗證人員數學功底和推導能力要求很高,在學術研究之外應用較少。研究形式驗證在實際項目中的應用,對于提高驗證效率,縮短產品開發周期具有重要意義。

    本文基于一款處理器芯片的浮點運算單元,應用Cadence公司JasperGold形式驗證工具,針對流水控制和計算單元中的關鍵模塊分別采用了FPVSEC進行驗證。

1 SAR驗證

    軟件結構寄存器(Software Architected Register,SAR)在浮點運算單元流水線中作為第二級存儲區域。SAR整體4個讀端口和4個寫端口,其內部由8個bank塊組成,每個bank塊的本質是SRAM,一個SRAM是一讀一寫,有128個entry,64個結構寄存器。SAR進行讀/寫操作時,會從8個bank中選擇bank塊的對應entry,將其中數據傳輸到其中一個讀/寫端口處。當出現多個讀/寫操作訪問同一個bank塊時,會發生沖突,需要報錯。

    SAR的性質檢驗采用的是JasperGold的FPV。性質檢驗的主要工作是根據驗證的需要編寫對應的性質(property),性質的構建方式和完備程度會直接影響到驗證的效果。常用編寫property的語言有System Verilog和PSL(Property Specification Language),JasperGold對這兩種語言都支持。SAR主要的驗證要點:(1)遍歷整個讀寫的地址空間;(2)發生沖突時,能否報錯;(3)檢測在不同的工作模式下,是否能正常工作。

    在進行端對端數據傳輸時,數據包在數據通路中會經過緩沖器或存儲器,需要進行數據傳輸完整性驗證。因為存儲器這類結構易于理解而且很少會出現bug,所以在整個項目的驗證過程中不會引起大家的關注。但是因為存儲器巨大的狀態空間,使其成為提高形式化驗證性能的瓶頸。為解決這一問題,在對SAR進行驗證時,使用了JasperGold提供的形式計分板證明加速器(Formal Scoreboard Proof Accelerator,PA)。PA可以把存儲器進行抽象化,同時保留充分的信息,確保Formal Scoreboard中結果的精確。在SAR具體驗證時,用PA替換了SAR中的bank,同時為了簡化驗證復雜度,在構建屬性斷言時,核心思想是:在沒有發生沖突的情況下,讀操作讀取的數據應該等于上一次寫操作對應地址的寫入數據。Check會對相對應寫操作數據和讀數據進行對比,同時檢測沖突發生的情況,具體的驗證構如圖1所示。

wdz3-t1.gif

    通過對驗證結果分析,發現編寫的property涵蓋了所有的驗證要點,且全部得到了證明。尤其是使用PA之后,證明消耗的時間大大縮短,驗證性能提升顯著。如圖2和圖3所示,沒有使用PA前,針對SAR一個端口遍歷所有讀寫地址空間,總的證明時間為286.41 s,使用PA之后,所需的證明時間僅為1.04 s。

wdz3-t2.gifwdz3-t3.gif

2 ECC驗證

    為了保持數據的正確性和一致性,浮點運算單元的流水線控制中引入了糾錯碼(Error Correcting Code,ECC)校驗機制,實現對源操作數的錯誤檢出和及時糾正,利用數據的ECC碼可以實現“糾一檢二”,即僅有1 bit數據出錯時,能糾正該錯誤,當數據有2 bit錯誤時,只能檢測出錯誤但不能恢復。

    ECC校驗是利用數據初始的糾錯碼和讀取該數據時重新生成的ECC碼按位異或生成綜合位,根據綜合位判斷數據是否出錯,并將綜合位輸出供糾錯使用。ECC恢復是依據ECC校驗輸出的糾錯信息糾正待糾錯數據,當數據出錯位大于一位時,錯誤不可恢復。

    ECC校驗和ECC恢復是流水線中不同執行階段的兩個模塊,相互獨立又相互依賴。當數據經過ECC校驗模塊且輸出的error信號為高時,待糾錯數據和糾錯碼被驅動給ECC恢復模塊來判斷數據是否可以恢復并糾錯。若兩個模塊分別驗證,復雜的糾錯碼產生機制和有依賴關系輸入信號增加了驗證難度。故將兩個模塊直接相連,通過對比輸入數據與糾錯后數據來驗證模塊功能。

    如圖4所示,設計一個組合電路實現對輸入數據的校驗和糾錯,接入一個錯誤數據生成模塊和糾錯碼產生模塊實現對ECC校驗輸入信號的產生,避免在輸入信號property中描述復雜的糾錯碼產生機制。錯誤數據生成模塊根據輸入信號錯誤模式e指定注入錯誤的數量,錯誤0和錯誤1信號指定數據具體翻轉位。將ECC校驗、ECC恢復、ECC產生和錯誤產生模塊封裝為一個整體,作為性質檢驗的設計實現。

wdz3-t4.gif

    對于組合后的ECC模塊,針對不同的數據出錯類型,有3類property需檢驗。在數據沒有出錯的情況下,輸出信號error為0;數據有1 bit出錯時,輸出error為1,數據不可恢復為0且糾錯后數據與輸入數據相等;數據有2 bit錯誤時,輸出error為1且數據不可恢復信號為1。根據錯誤位產生的邏輯,當需要產生2 bit錯誤時,需要保證兩次的翻轉位不同,即錯誤0!=錯誤1。實際的流水線邏輯中數據位寬為128 bit,對數據的高64 bit和低64 bit分別描述其property驗證。

    JasperGold會遍歷所有的狀態空間,驗證結果顯示耗時101 s,證明了設計包含描述的所有屬性,說明ECC校驗模塊“檢二”和ECC恢復模塊“糾一”的功能實現。

3 共用模塊的等價性檢驗

    浮點單元的運算模塊非常適合形式化驗證,尤其是等價性檢驗。進行等價性檢驗主要的工作在于開發一個符合設計規格的參考模型,參考模型可以根據需要靈活的應用不同語言編寫。目前業界主流的形式化驗證工具只支持Verilog HDL和VHDL,RTL到RTL的等價性檢驗已經發展比較成熟,有著相對完善的標準。本文采用的JasperGold支持Verilog HDL和VHDL這兩種語言,也有一些工具支持C語言,但C到RTL的等價性檢驗應用較少,發展不是很成熟。

    在浮點單元運算IP設計開發時,先對多個運算IP中共用的基本模塊進行了統一設計,在之后各個IP設計中對共用模塊進行統一調用。所以,浮點單元運算IP的驗證工作先是對共用模塊進行驗證,然后是對各個IP的驗證。出于項目實際情況考慮,在對共用模塊進行驗證時,因為共用模塊實現的功能相對單一,復雜度不高,所以共用模塊的參考模型使用Verilog HDL編寫。而對運算IP驗證的時候,因為IP復雜度高,開發相應參考模型的工作量很大,因此形式化驗證和仿真驗證共用了統一由C語言開發的參考模型。由于JasperGold不支持C到RTL的等價性檢驗,在對IP驗證的時候使用了其它的驗證平臺。

    共用模塊的等價性檢驗采用的是JasperGold的SEC,主要包括加法器、減法器、循環移位器、前導零、4-2壓縮器、舍入器(rounder)等模塊。在編寫參考模型時,除了保證其可綜合之外,還需要考慮功能的正確。

    圖5給出了rounder的形式驗證報告,可以看出,相比于仿真驗證,證明時間幾乎為0,驗證速度明顯提高。而且這一優勢在對整個IP進行驗證時更加突出,對浮點單元各個運算IP進行等價性驗證時,除了乘加模塊需要對參考模型進行特殊的改動[3],其它模塊包括除法、倒數估值等模塊,都能夠比較快速地收斂,極大地縮減驗證周期。

wdz3-t5.gif

4 總結

    本文主要介紹了形式化驗證方法在浮點單元功能驗證中的具體應用。結果表明,相比模擬仿真驗證,形式化驗證不用構造復雜的驗證平臺和編寫海量的測試激勵,在極大減少驗證工作量的同時,提高了的可靠性,縮短了驗證周期。

參考文獻

[1] LAM W.Hardware design verification:simulation and formal method-based approaches[M].US:Prentice Hall PTR,2005.

[2] 陳云霽,馬麟,沈海華,等.龍芯2號微處理器浮點除法功能部件的形式驗證[J].計算機研究與發展,2006(10):1835-1841.

[3] JACOBI C,KAI W,PARUTHI V,et al.2005 Design,Automation and Test in Europe Conference and Exposition (DATE 2005)[C].Munich,2005.



作者信息:

朱  峰,魯征浩,朱  青

(蘇州大學,江蘇 蘇州215006)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
鲁大师影院一区二区三区| 国产精品久久久久久久电影| 亚洲校园激情| 亚洲免费不卡| 欧美一区二区私人影院日本 | 国产精品家庭影院| 欧美日韩一区精品| 欧美日韩国产首页在线观看| 久久久一二三| 另类成人小视频在线| 久久久久久久国产| 久久精品视频导航| 久久免费视频在线| 久久日韩粉嫩一区二区三区 | 老司机一区二区三区| 久久久综合免费视频| 久久九九免费| 久久先锋影音av| 免费人成精品欧美精品| 欧美91精品| 欧美激情亚洲自拍| 欧美人体xx| 欧美系列精品| 国产精品美女午夜av| 国产精品网红福利| 国产视频久久网| 国内精品久久久久伊人av| 国产在线观看91精品一区| 国内精品美女在线观看| 狠狠色狠狠色综合日日tαg | 亚洲一区二区视频在线| 午夜亚洲性色福利视频| 欧美一区深夜视频| 亚洲国产日韩精品| 日韩写真在线| 亚洲欧美日韩国产一区二区| 欧美一区二区国产| 老牛嫩草一区二区三区日本| 欧美激情一区二区三区| 欧美性色视频在线| 国产色产综合色产在线视频| 黄色成人av网站| 亚洲欧洲一区二区天堂久久 | 欧美成人国产一区二区| 欧美日韩精品免费| 国产酒店精品激情| 国内一区二区三区| 亚洲精品日韩综合观看成人91| 亚洲视频观看| 亚洲高清毛片| 国产精品99久久久久久人| 久久成人一区二区| 欧美成人一区二区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 尤物yw午夜国产精品视频明星 | 久久精品二区亚洲w码| 999亚洲国产精| 欧美在线3区| 欧美精品一区三区| 国产小视频国产精品| 精品成人在线视频| 亚洲视频免费在线| 亚洲欧洲精品一区二区三区不卡| 亚洲一区不卡| 免费h精品视频在线播放| 国产精品草莓在线免费观看| 黄色欧美成人| 亚洲一级片在线看| 日韩视频三区| 久久午夜色播影院免费高清| 欧美亚州韩日在线看免费版国语版| 国内在线观看一区二区三区| 洋洋av久久久久久久一区| 久久狠狠久久综合桃花| 亚洲新中文字幕| 欧美aaaaaaaa牛牛影院| 国产精品影视天天线| 亚洲精品中文在线| 久久精品午夜| 欧美一区二区在线免费观看| 欧美日韩一区二区视频在线| 亚洲第一区中文99精品| 性做久久久久久久久| 一区二区三区日韩欧美| 久久综合福利| 国产亚洲综合在线| 亚洲影视在线播放| 在线亚洲欧美| 欧美激情视频给我| 精品69视频一区二区三区| 亚洲综合色激情五月| 夜夜嗨av一区二区三区四季av| 久久中文字幕一区| 国产欧美精品| 亚洲无限乱码一二三四麻| 亚洲毛片播放| 卡通动漫国产精品| 国语精品中文字幕| 亚洲一区二区三区精品动漫| 一本到12不卡视频在线dvd| 欧美高清视频在线观看| 在线观看成人网| 亚洲国产成人久久综合| 久久精品亚洲国产奇米99| 国产精品一区二区在线| 亚洲一区二区三区中文字幕在线| 亚洲精选在线| 篠田优中文在线播放第一区| 欧美日韩一区国产| 亚洲精品乱码久久久久| 日韩视频在线观看免费| 欧美激情视频一区二区三区不卡| 亚洲国产成人av在线| 亚洲国产精品激情在线观看 | 久久久久高清| 国产一区二区精品久久| 亚洲综合欧美日韩| 羞羞漫画18久久大片| 国产精品久久久久久久久久免费| 99国产精品视频免费观看一公开 | 免播放器亚洲| 在线亚洲精品| 亚洲一区亚洲| 欧美片在线观看| 亚洲精品日韩欧美| 一区二区欧美视频| 欧美深夜影院| 一区二区三区视频在线看| 国产精品99久久久久久人| 欧美午夜片欧美片在线观看| 在线亚洲免费视频| 午夜精品久久久久久久久久久| 国产精品美女久久久久久免费| 亚洲欧美国产精品专区久久| 久久精品30| 在线成人免费观看| 日韩一区二区免费高清| 欧美色精品天天在线观看视频 | 亚洲永久免费观看| 久久精品国产亚洲一区二区三区| 国产亚洲欧美日韩精品| 久久精品视频免费播放| 欧美jizzhd精品欧美巨大免费| 亚洲精品在线一区二区| 亚洲香蕉伊综合在人在线视看| 国产精品视频精品视频| 欧美一区二区三区免费观看| 久久综合网络一区二区| 亚洲精品乱码久久久久久蜜桃91| 亚洲网站视频福利| 国产麻豆午夜三级精品| 久久国产免费| 欧美精品一区二区三| 亚洲欧美日本伦理| 美腿丝袜亚洲色图| 99国产精品国产精品毛片| 久久www成人_看片免费不卡| 亚洲成色精品| 亚洲欧美日韩一区二区| 国内外成人免费视频| 一区二区久久久久久| 国产日韩欧美在线看| 亚洲激情成人| 欧美日韩无遮挡| 欧美在线免费看| 欧美日韩国产成人| 午夜精品久久久久| 欧美电影免费观看高清完整版| 亚洲性夜色噜噜噜7777| 久久一区二区视频| 一本久道久久综合中文字幕| 久久久久在线| 亚洲最新在线| 久色成人在线| 亚洲天堂免费在线观看视频| 麻豆精品视频在线观看| 亚洲午夜激情网页| 欧美成人综合网站| 亚洲午夜久久久久久久久电影网| 老巨人导航500精品| 亚洲午夜未删减在线观看| 噜噜噜躁狠狠躁狠狠精品视频| 这里只有精品视频在线| 另类春色校园亚洲| 亚洲欧美欧美一区二区三区| 欧美va日韩va| 欧美一区二区高清在线观看| 欧美片第1页综合| 久久精品一区二区三区四区 | 日韩小视频在线观看专区| 久久亚洲一区二区| 亚洲尤物视频在线| 欧美精品粉嫩高潮一区二区| 久久黄色网页| 国产美女一区| 中文精品视频| 最新日韩在线| 免费亚洲一区二区| 久久精品国内一区二区三区| 国产精品外国|