印度研發可支援設計多工的硬體生成方法

印度技術學院(Indian Institute of Technology)的研究人員研發了一種從高階程式實現設計多工以生成硬體的方法。該團隊的AHIR硬體中間碼(intermediate representation,IR)作為軟體編譯和硬體合成之間的過渡層,使軟體編譯器流程內實現最佳化,同時令低階合成器針對專用實現探索選項。

「我們使兩種運算成為可能:重覆使用設計內模組間的運算資源,以及針對更快資料存取生成專用儲存子系統,」該團隊研究人員在VLSI設計大會上發表論文指出。之前已有很多人嘗試在高階程式語言與硬體規格之間創造一條捷徑,有的是透過擴展或限制C語言的方法,讓程式設計師能撰寫合成C碼;有的則是擴展DSP演算法的陣列設計語法,不過其他的編譯器卻無法支援。

Phoenix研究專案為一個編譯器流程從C到硬體使用了中間碼Pegasus;該種數據流程碼使用交握協定(handshakes)來進行資料交換。與Pegasus類似,印度技術學院採用交握協定貫穿運算符來傳輸數據。但儘管Pegasus假定硬體無限,AHIR預計程式中控制和數據流程的解耦將會重覆使用硬體。

AHIR據稱將提供一種合成路徑,在現有的高級編譯器上建構。表述由編譯器後端產生,獨立於所使用的輸入語言。程式可用任何一種編程環境編寫,如串列或平行執行。設計只按照運算進行表述,指定實現最小的時序約束。合成器能在這些約束條件下摸索實現方案。使用AHIR的編譯器流程通過採用 LLVM編譯器結構而實現,第一步是成為低級虛擬機後端,用AHIR產生一個硬體規格作為XML文件。

(參考原文:Hardware generation method anticipates design reuse)

(K.C. Krishnadas)

本篇發表於 未分類。將永久鏈結加入書籤。

發表留言