當前位置:
首頁 > 知識 > Chips 2.0:基於python語言的高級FPGA設計工具

Chips 2.0:基於python語言的高級FPGA設計工具

Chips 2.0:基於python語言的高級FPGA設計工具

試用

您可以在如下地址試用Chips的web應用:http://dawsonjon.pythonanywhere.com/

使用C設計組件,使用Python設計FPGA

在Chips里,設計過程類似於在單個晶元中實現的計算機網路。一個晶元由許多並行運行的互連組件組成。每個組件就像一台運行C程序的計算機。

這些組件之間通過匯流排相互通信。 晶元的設計——組件和以及組件之間的連接——這部分由Python實現。

Chips主要分為三部分:

1.一個Python庫,通過使用高速匯流排將數字組件連接在一起來構建和模擬晶元。

2. 一個既有的數字組件的集合。

3. 一個用C語言編寫的硬體編譯器,可以使用C語言編寫新的數字組件。

簡單例子

代碼如下:

Chips 2.0:基於python語言的高級FPGA設計工具

在更高的抽象層次上工作

在Chips中,門,時鐘,複位,有限狀態機和流量控制的細節都由工具處理,這可以讓設計人員有更多的精力地思考架構和演算法。這樣做的好處如下:

  • 設計過程更簡單。

  • 更簡單的設計過程使得工作時間減少。

  • 更簡單的設計過程使得bugs出現率較低。

Chips「自帶電池」

相對於傳統的硬體描述語言,對於什麼代碼能夠轉換成硬體語言有很多的限制條件。

使用Chips幾乎所有的合法代碼都可以轉換成硬體語音。包括除法,單精度和雙精度IEEE浮點,數學函數,三角函數,定時等待,偽隨機數和遞歸函數調用。

Python可提供驗證環境

Chips提供了在Python中本地模擬設計的功能。Python是一種優秀的編程語言,包含許多應用領域第三方庫,使得它成為驗證晶元的完美環境。

像NumPy,SciPy和MatPlotLib這樣的庫將會對工程師有很大幫助,但這些僅僅是一小部分。

後台

在後台方面,Chips使用了一些新穎的技術以達到緊湊高效的邏輯——軟體和硬體的混合體。

編譯器不僅將C代碼轉換為CPU指令,還能即時生成定製的流水線RISC CPU。CPU可以為任何特定的C程序提供最佳指令集。

通過最小化每個並發任務執行所需的邏輯,設計師可以降低功耗和資源或成本。性能的提升則可以通過增加單個設備中並發任務數量來實現(比如小型設備數十個,大型設備大約一千個或更多)。

雖然Chips生成的代碼緊湊且高效,但FPGA設計人員很高興知道如下事實:如果他們需要的話,他們仍然可以處理和性能相關的關鍵數據路徑,甚至還可以加入一些自定義的組件!

從github安裝

$ git clone --recursive https://github.com/dawsonjon/Chips-2.0.git

$ cd Chips-2.0

$ sudo python setup install

從PyPI安裝

$ pip-install chips

英文原文:https://github.com/dawsonjon/Chips-2.0
譯者:少年

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python部落 的精彩文章:

使用pdb進行Python調試

TAG:Python部落 |