STMicroelectronics成像部門負責向消費者、工業(yè)、安全和汽車市場提供創(chuàng)新的成像技術(shù)和產(chǎn)品。該團隊精心制定了一套通過模板實現(xiàn)的High-Level Synthesis(HLS)高層次綜合流程,使得上述產(chǎn)品能夠迅速上市。對于汽車市場,該流程符合ISO 26262標準,因此能確保可靠性。
ISP是處理圖像傳感器數(shù)據(jù)的硬件和軟件組合。ISP可能非常復雜,因此該團隊使用了可復用的IP模塊來組裝設計。圖1顯示了一個示例ISP方框圖。
圖1中的ISP顯示了主要ISP功能,并沿著數(shù)據(jù)通路說明了各自所需的諸多處理算法。
圖1.用于汽車應用的復雜高質(zhì)量ISP
了解HLS工具歷史
成像部門于2007年開始對多媒體IP(編碼器、解碼器、顯示器和ISP功能)運用HLS設計流程,最初使用的是西門子數(shù)字化工業(yè)軟件競爭對手提供的工具。當該工具在2015年停止服務后,該團隊對不同供應商提供的各種HLS工具進行了評估。他們將若干ISP設計用作測試案例,然后監(jiān)測其所生成的RTL的面積和功耗結(jié)果。在此評估基礎(chǔ)上,Catapult High-Level Synthesis平臺因為表現(xiàn)優(yōu)異而被該團隊選中。
借助Catapult HLS平臺,設計人員便能利用行業(yè)標準ANSI C++和SystemC來描述功能意圖,并將其提高到生產(chǎn)率更高的抽象層次。根據(jù)這些高層次的描述,Catapult即可生成產(chǎn)品級的RTL。通過加快RTL生成時間以及自動生成無錯誤的RTL,Catapult可顯著縮短RTL驗證所需的時間。Catapult的功耗優(yōu)化功能可自動大幅降低動態(tài)功耗。高度交互的工作流程可提供對綜合過程的完全可見性和控制,使設計人員能夠在功耗、性能和面積等方面迅速收斂到理想實現(xiàn)方案(圖2)。
圖2.快速探索架構(gòu)以求得理想功耗和面積
創(chuàng)建成像IP模板
該團隊意識到,ISP是一系列的級聯(lián)濾波器,這些濾波器具有相似的結(jié)構(gòu)和接口。他們的想法是利用C++模板開發(fā)一個參數(shù)化濾波器庫,然后將其復用于每個ISP設計中。這種方法具有如下優(yōu)勢:
◎ 設計效率:復用經(jīng)過驗證的模板可以更快地構(gòu)建ISP
◎ 更新:能夠輕松將更新應用到每個IP模塊,而且可以在一天內(nèi)將算法更改整合完畢
◎ 集中精力:設計人員可以將時間花在增量算法開發(fā)上,而不必在通用結(jié)構(gòu)上耗費心力
◎ 資源:團隊可以為項目開發(fā)更多的IP模塊,且無需增加額外的員工
每個參數(shù)化模板都是一個C++類(圖3),其可實現(xiàn)如下方面功能:
◎ 內(nèi)存管理
◎ 協(xié)議橋
◎ 像素管理內(nèi)核
◎ 連接到驗證平臺
圖3.設計人員可專注于算法,而不是基礎(chǔ)架構(gòu)
設計人員可覆寫filterFunction以提供算法代碼,然后再通過覆寫execute函數(shù)將其連接到濾波器。
利用這一模板流程,該團隊在過去兩年間創(chuàng)建了50多個設計,規(guī)模從1萬個邏輯門到200萬個邏輯門不等。
驗 證 設 計
該團隊使用UVM驗證平臺來指定提供偽隨機驗證及收集代碼和功能覆蓋率指標的序列。該團隊使用了相同的驗證平臺(無需任何修改)來驗證C++和生成的RTL設計。每個驗證平臺(圖4)會為每個項目建立相同的標準集,這樣一來,便可通過自動設置驗證環(huán)境來縮短開發(fā)時間。此標準集包括:
◎ 標準化數(shù)據(jù)的輸入和輸出接口
◎ 標準化寄存器配置接口
◎ 標準化高層次控制(啟用和重置設計)
◎ 標準化輸入和輸出數(shù)據(jù)格式
圖4.常見UVM驗證平臺仿真C++(圖中所示)
或RTL被測設計
UVM驗證平臺的常見元素包括操作被測設計(DUT)的測試和序列、約束和功能覆蓋率語句,以及多種檢查器和斷言。圖片和寄存器序列可操作DUT輸入。該團隊使用功能模型對DUT進行按位比較。
該團隊對每個項目使用了相同的驗證方法,因此可以確保獲得尚佳質(zhì)量的設計(圖5)。
圖5.驗證流程
HLS驗證流程的高層次步驟包括:
◎ 設計人員創(chuàng)建一個功能模型,驗證人員利用必要 的序列和約束建立UVM驗證平臺。此階段的仿真能夠提供對整體環(huán)境的“正確性”檢查,因此可能會發(fā)現(xiàn)問題。
◎ 在一個項目中,HLS調(diào)試步驟消耗的時間最多。此時,需要運行相關(guān)序列來調(diào)試問題以及收集代碼和功能覆蓋率指標。
◎ 藉由使用相同的UVM驗證平臺,團隊可以對 Catapult HLS生成的RTL進行仿真。此時,團隊 會針對C++設計中未建模的功能,例如輸入和輸出之間的延遲以及重置行為,添加一些特定RTL測試。在此步驟中,團隊還會仿真HLS流程中未生成的任何RTL(如有)。此時,團隊會從設計的頂層收集代碼和功能覆蓋率指標。
符合ISO 26262標準
許多ISP產(chǎn)品的目標市場均為汽車市場,這意味著團隊必須遵循ISO 26262標準。ISO 26262是一項針對重量在3500公斤及以下的公路車輛中的電氣和電子元器件功能安全的標準。團隊需要確保HLS流程和設計穩(wěn)健性符合標準(圖6)。
圖6.HLS流程符合ISO 26262
該標準的其中一個關(guān)鍵要求是要確保器件沒有永久性故障(設計錯誤)。也就是說,團隊必須確保開發(fā)流程是“安全的”。要滿足這一標準,則必須應用成熟的技術(shù),執(zhí)行一系列測試,并收集衡量指標報告。團隊沒有對Catapult HLS平臺進行 ISO 26262質(zhì)量鑒定。相反,他們對運行測試的仿真器進行了鑒定。雖然團隊不要求在其流程中對Catapult HLS平臺進行質(zhì)量鑒定,但實際上Siemens Safe計劃會提供該工具的ISO 26262質(zhì)量鑒定和相關(guān)文檔。
另一個主要要求是要確保設計能夠處理單個或瞬態(tài)故障,并能從中予以恢復。團隊在ISP外圍使用邏輯BIST和Lockstep(鎖步)等外部安全機制來確保其穩(wěn)健性。
從HLS流程獲益
采用基于模板的HLS流程的主要優(yōu)勢在于,其可大幅減少開發(fā)時間和成本,而又不會影響結(jié)果和設計質(zhì)量(表1)。使用該流程,團隊創(chuàng)建設計的速度比手工編碼快了3倍左右,單個設計人員便可執(zhí)行驗證,通常不需要單獨的驗證人員資源。
表1. 一名設計人員和一名驗證人員
花在ISP設計項目上的平均時間
開發(fā)成本也將進一步降低,原因如下:
◎ 使用C++進行驗證,以收集關(guān)鍵覆蓋率指標,這意味著團隊可以在幾分鐘內(nèi)運行數(shù)以千計的測試,而不像RTL那樣需要幾個小時
◎ 與RTL相比,C++代碼的行數(shù)顯著減少,這意味著維護成本將會大幅降低
◎ 可以輕松適應設計流程后期的規(guī)范變化,而不會影響設計進度
◎ 短短幾天時間便可完成對10名設計人員的HLS流程培訓,這意味著團隊可以快速提高生產(chǎn)率
此外,Catapult HLS平臺具有自動化設計實現(xiàn)的功能,因此可以進一步降低HLS流程的開發(fā)時間和成本:
◎ 自動流水線:通過指令的簡單改變提高流水線級 數(shù),而C++代碼將保持不變。如果是手動流水線,則需要大量的重新編碼和調(diào)試工作
◎ 自動硬件共享:例如,要在一個流水線的不同狀態(tài)下重復使用一個乘法器來處理同一迭代的幾個操作,若通過手動實現(xiàn)將非常困難
◎ 自動功能時鐘門控:相比手動編碼可節(jié)省大量時間,并能自動降低功耗10%
◎ 該團隊發(fā)現(xiàn),使用該工具生成的RTL結(jié)果的質(zhì)量非常出色,尤其是針對復雜設計時。
如需了解有關(guān)Catapult HLS解決方案的更多信息,請點擊此處。
-
傳感器
+關(guān)注
關(guān)注
2552文章
51222瀏覽量
754631 -
西門子
+關(guān)注
關(guān)注
94文章
3049瀏覽量
116050 -
圖像信號
+關(guān)注
關(guān)注
0文章
26瀏覽量
14157 -
HLS
+關(guān)注
關(guān)注
1文章
130瀏覽量
24144
原文標題:客戶故事|使用HLS流程設計和驗證圖像信號處理設備,加快產(chǎn)品上市
文章出處:【微信號:Mentor明導,微信公眾號:西門子EDA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論