[發明專利]一種基于Python語言的EDA開發平臺系統及其使用方法有效
| 申請號: | 201910083491.3 | 申請日: | 2019-01-29 |
| 公開(公告)號: | CN109885902B | 公開(公告)日: | 2020-09-22 |
| 發明(設計)人: | 賴曉錚;曾琴;陳若暉 | 申請(專利權)人: | 華南理工大學 |
| 主分類號: | G06F30/3308 | 分類號: | G06F30/3308;G06F30/327;G06F8/30 |
| 代理公司: | 廣州市華學知識產權代理有限公司 44245 | 代理人: | 馮炳輝 |
| 地址: | 510640 廣*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 python 語言 eda 開發 平臺 系統 及其 使用方法 | ||
1.一種基于Python語言的EDA開發平臺系統,其特征在于,包括:
基于Python的硬件描述類庫,為使用Python語言編寫的專為描述硬件電路邏輯描述的Python庫,定義一系列硬件描述所用到的對象以及特性,在Python腳本代碼中,能夠通過import接口引用Python語言構造的硬件描述類庫來描述硬件邏輯;
語言解釋器,用于將Python語言解釋為RTL級Verilog代碼,包括:FIRRTL中間表示層,為平臺框架中的中間層,是一種高層次抽象的RTL級描述語言,不同于底層的平臺指向的RTL級Verilog語言,FIRRTL中間表示層能夠作為獨立的編譯層次,生成不同平臺的RTL級Verilog代碼;同樣,不同的高級編程語言前端也能夠靈活替換;FIRRTL中間表示層在本平臺的編譯框架中的角色,類似于高級編程語言解析中的LLVM所扮演的角色;Python語言到FIRRTL中間表示層的P2F解釋器,用于將用戶編寫的Python硬件描述代碼解釋為FIRRTL中間表示層語言,對其中調用的硬件描述類庫中的各類組件對象解釋為FIRRTL對應的模塊;FIRRTL中間表示層到RTL級Verilog的F2V解釋器,用于將FIRRTL中間表示層語言解釋為底層RTL級能夠綜合的Verilog代碼,該代碼能夠通過EDA工具進行綜合,進而下載到FPGA芯片或用于ASIC芯片流片;用戶能夠通過對F2V解釋器進行參數配置,使得同一段FIRRTL代碼根據用戶最終開發的需要,生成基于不同架構的RTL級Verilog代碼;
Verilator仿真工具,用于將基于Python語言的測試用例,轉換到能夠綜合的Verilog代碼后,使用Verilator編譯為能夠仿真的C++代碼進行仿真測試。
2.根據權利要求1所述的一種基于Python語言的EDA開發平臺系統,其特征在于:對于基于Python的硬件描述類庫,該庫實現了一系列硬件邏輯電路構造所必須的組件,封裝在Python庫當中,包括寄存器、模塊、存儲器和信號輸入輸出;該庫還實現了一系列專為硬件設計的類型,能夠用于位操作、可綜合為硬件算術、邏輯運算的對象類型,包括無符號、有符號和布爾類型,以及一系列的重載符號,包括賦值和重賦值符號。
3.根據權利要求2所述的一種基于Python語言的EDA開發平臺系統,其特征在于:在編寫Python代碼時,能夠直接調用已有的硬件描述類庫,也能夠加載第三方類庫,還能夠在平臺上編寫及封裝自定義的類庫。
4.根據權利要求1所述的一種基于Python語言的EDA開發平臺系統,其特征在于:對于Verilator仿真工具,用戶使用Python語言編寫仿真用例進行測試,仿真用例以及包含在硬件描述類庫中的測試功能首先解釋為能夠綜合的Verilog代碼,然后調用Verilator工具生成相應的能夠仿真的C++代碼,并進一步生成相應的時序精確的結果波形文件.vcd,通過gtkwave工具進行測試分析。
5.一種權利要求1至4任意一項所述的基于Python語言的EDA開發平臺系統的使用方法,其特征在于,包括以下步驟:
1)使用Python語言編寫硬件描述腳本以及對應的測試用例;其中在編寫Python代碼時,能夠直接調用已有的硬件描述類庫,也能夠加載第三方類庫,還能夠在平臺上編寫及封裝自定義的類庫;
2)調用P2F解釋器,將Python代碼,即腳本或測試用例解釋為FIRRTL語言中間表示層;
3)調用F2V解釋器,將FIRRTL語言中間表示層的代碼解釋為RTL級Verilog代碼;
4)調用Verilator仿真工具,根據Verilog代碼描述的測試用例,對Verilog代碼描述的腳本進行測試,生成相應的時序精確的結果波形文件.vcd,再通過gtkwave工具進行測試分析;其中,需先用Verilator仿真工具把Verilog代碼描述的測試用例編譯為可仿真的C++代碼,然后再進行仿真測試。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華南理工大學,未經華南理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910083491.3/1.html,轉載請聲明來源鉆瓜專利網。





