女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Python軟硬件協同設計方法,仿真和校驗的流程介紹

電子設計 ? 作者:郭婷 ? 2018-11-23 09:26 ? 次閱讀

引言

現代系統設計許多都是由C/C++,Python等高級語言來完成,而且這些系統越來越復雜,涉及到的算法的運算量也越來越大,許多算法需要用硬件實現來滿足算法的實時性要求.FPGA是一種可編程的邏輯器件,它具有便于修改,調試,并能并行地完成大量的運算,從而提高算法的實時性,并且隨著硬件制造水平不斷地提高,FPGA的資源越來越大,工作頻率也越來越高,使得能在其上面完成的算法也越來越復雜.但是傳統的軟硬件分開設計的方法由于軟硬件設計者采用不同的設計語言,存在軟硬件設計者之間難以溝通導致設計周期長等問題,這種設計方法已不能滿足快速地增長的市場要求,如何將這些系統設計中的算法快速轉換為相應的硬件來實現,需要新的軟硬件協同設計方法.當前基于C/C++的軟硬件協同設計,有一個SystemC 標準化組織一直致力于這個工作,也有少量商業化工具例如Syn-opsys 公司Synphony C Compiler 和Calypto Design Sys-tems 公司的Catapult SL Synthesis 可以將C/C++算法轉換為相應的硬件.Python是一種簡單易學并且功能強大的編程語言,有許多算法是由Python來實現,而且這些算法很多是免費.開源的,和C/C++類似需要如何完成基于Python的軟硬件協同設計.

1 基于Python 的軟硬件協同設計發展

由于Python的強大的軟硬件描述能力,近年來許多研究者在Python的軟硬件協同設計方面進行了許多研究,其中Logaras E 提出了一種稱為SysPy(System Py-thon)可以使用Python 來描述硬件并將其自動轉換為VHDL,Zhang mi采用PDSDL(Dynamic System Descrip-tion Language)來進行系統建模和校驗并可將系統轉換為Verilog的硬件描述,特別是Decaluwe J提出一種稱為MyHDL 的Python 擴展包來進行軟硬件協同設計,Villar J I采用MyHDL 完成了一個接口設計實例.這些開發工具各自具有自己的一些特點,但是他們有一點是相同,就是采用Python來進行軟硬件協同設計.下面以MyHDL為例介紹基于Python的軟硬件協同設計.

2 基于Python 的MyHDL 包簡介

MyHDL采用Python擴展包的形式使其能支持硬件設計和仿真并在仿真結果符合要求后可將軟件算法自動轉換為相應的采用Verilog 或VHDL 硬件描述,由于MyHDL包是基于Python的硬件擴展,下面主要對MyH-DL硬件方面的一些主要特點做簡要介紹.

2.1 數據類型

標準Python的int類型已經具有許多硬件設計所需要特征,但是在硬件設計中由于包含許多位操作和處理,MyHDL設計了intbv類,提供索引和切片操作來支持位的操作和處理.

2.2 模塊,端口信號

在MyHDL采用函數來對硬件的模塊進行建模,My-HDL也有信號對象,類似于VHDL語言的信號,采用信號作為函數的參數來定義模塊的端口.

2.3 發生器

發生器是MyHDL 的一個關鍵概念,用來建立并發性模型,對應于Verilog的always塊或者VHDL的進程.

2.4 自動轉換

在一定限制條件下,MyHDL使用toVerilog()或者toVHDL()函數將MyHDL設計自動轉換為相應的Veril-og或者VHDL代碼,如果符合MyHDL可綜合子集的要求,就可使用MyHDL完成可硬件綜和的代碼并在FPGA上實現.

2.5 仿真

MyHDL通過Cosimulation對象使其能支持仿真,對于自動轉換的Verilog 代碼或者VHDL 代碼,MyHDL 還可作為硬件校驗語言來對轉換后的Verilog或VHDL進行協同仿真和校驗.

3 采用MyHDL 的硬件設計優點

Verilog和VHDL是當前的主流硬件設計語言,但是使用基于Python的MyHDL作為硬件設計也具有許多優點使得其可以作為設計者特別是硬件設計的初學者另外一種較好的選擇.

3.1 MyHDL使用成本低

MyHDL是免費的并且開源,在使用MyHDL設計的工具鏈中同樣可以使用大量的免費工具比如ICArus,IVERILOG仿真工具,GTKWAVE查看仿真波形,從而可以減少設計成本.

3.2 在硬件設計中使用先進的軟件開發技術

由于Python本身是一種軟件開發語言,現代軟件開發的先進方法比如快速應用開發,測試驅動開發都在Python上得以體現,由于硬件描述語言的硬件設計和軟件開發具有一定的相似性,采用MyHDL可以使用最新的軟件開發技術.

3.3 軟硬件設計可以采用同樣的開發環境

Python是算法實現的一種理想的語言,很多算法都由Python實現,通常算法的軟硬件實現由不同工程師來實現,軟件工程師使用Python,硬件工程師使用通用的硬件描述語言,例如Verilog或VHDL,硬件工程師和軟件工程師之間存在一條鴻溝,而采用MyHDL,就可以在同一個Python環境實現算法設計,仿真和校驗.

3.4 其他優點

對于沒有一定硬件設計經驗的設計者,通常采用Verilog 設計會混淆阻塞和非阻塞賦值,不清楚Verilog的符號運算,采用VHDL進行設計又不理解VHDL的信號概念,會覺得VHDL的類型和位寬轉換很繁瑣,但是如果采用基于Python 的MyHDL 包作為設計語言,這些都將不成為問題.

4 基于Python 的軟硬件設計流程

在現代系統設計中,軟件工程師采用Python等高級語言,而硬件系統設計多采用Verilog,VHDL硬件描述語言,在如何將Python描述的軟件映射為相應的硬件上,軟硬件開發者之間的交流存在一道天然的鴻溝,而采用Py-thon來進行軟硬件協同設計就可以解決這一個問題,基于Python的軟硬件協同設計的流程如圖1所示.

基于Python軟硬件協同設計方法,仿真和校驗的流程介紹

首先采用Python進行系統設計,然后根據系統性能要求進行軟硬件劃分,對于系統性能要求比較高的部分采用Python的MyHDL擴展包的形式來由硬件實現,同時采用Python來編寫硬件測試平臺.測試仿真如果不符合系統設計要求可以重新進行軟硬件劃分,如果測試仿真結果不正確,可重新修改.仿真通過后可以用MyHDL擴展包自動將Python轉換為Verilog代碼,這時的Python測試平臺無需修改還可以與轉換后的Verilog代碼一起進行混合仿真,如果仿真通過就可以進行硬件的綜合,下載,測試階段,這與傳統的硬件設計過程相同.

5 結語

從上面分析可以看出基于Python的MyHDL既是一種軟硬件協同設計方法,同時其也是Python的擴展包,使得整個開發過程僅使用一種Python語言,并可以很方便地將一個軟件算法快速地轉換為其相應的硬件實現,從而完成一個軟硬件系統設計.由于Python目前的可綜合子集的限制和其本身還處在發展階段,基于Python的軟硬件設計還主要用于系統的建模方面,將其用于芯片設計的應用還不是很多,有研究者比較過MyHDL與傳統硬件設計語言的實現,對于小規模的應用優勢不是很明顯.但是隨著現代系統的算法越來越復雜性,系統規模也不斷增大,相對于傳統的軟硬件設計方法采用Python來進行軟硬件協同設計的優勢就會體現出來,系統設計.仿真.校驗的速度會大大提高,采用Python進行系統設計的產品能更快地進入市場.隨著基于Python系統設計方法和工具的發展,基于Python的軟硬件協同設計方法將會有廣泛的應用前景.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編程語言
    +關注

    關注

    10

    文章

    1955

    瀏覽量

    36021
  • C++
    C++
    +關注

    關注

    22

    文章

    2117

    瀏覽量

    74754
  • python
    +關注

    關注

    56

    文章

    4823

    瀏覽量

    86114
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于FPGA的軟硬件協同仿真加速技術

    在系統設計中,硬件復雜電路設計的調試與仿真工作對于設計者來說十分困難。為了降低仿真復雜度,加快仿真速度,本文提出利用FPGA加速的思想,實現軟硬件
    發表于 03-25 11:52 ?5683次閱讀

    基于SoPC的狀態監測裝置的嵌入式軟硬件協同設計

    工作。一般而言,還要經過模塊的行為描述、對模塊的有效性檢查、軟硬件劃分、硬件綜合、軟件編譯、軟硬件集成,軟硬件協同
    發表于 01-22 16:41

    基于Altera FPGA的軟硬件協同仿真方法介紹

    摘要:簡要介紹軟硬件協同仿真技術,指出了在大規模FPGA開發中軟硬件協同
    發表于 07-04 06:49

    如何去實現一種基于SoPC的軟硬件協同設計呢

    什么是軟硬件協同設計呢?片上可編程系統SoPC是什么?如何去實現一種基于SoPC的軟硬件協同設計呢?基于SoPC的軟硬件
    發表于 12-24 07:15

    基于EDA 的嵌入式系統軟硬件劃分方法

    基于EDA 的嵌入式系統軟硬件劃分方法Hardware/Software Partitioning Method Based on Estimation of Distribution 摘要:針對嵌入式系統軟硬件
    發表于 12-05 16:34 ?26次下載

    基于SOC的USB主設備的軟硬件協同驗證

    基于SOC 的USB 主設備的軟硬件協同驗證李棟1,李正衛2(桂林電子科技大學通信與信息工程系,廣西 桂林 541004)摘 要:本文首先介紹了SOC 軟硬件
    發表于 12-14 11:31 ?15次下載

    基于軟硬件協同設計的低功耗生理信號處理ASIC設計

    摘 要 文主要介紹了一種采用軟硬件協同設計策略的用于生理信號處理的低功耗醫學集成芯片。軟硬件協同設計能達到性能和設計靈活性的最大化。系統
    發表于 06-19 10:29 ?24次下載

    面向HDTV應用的音頻解碼軟硬件協同設計

    摘要:該文以Dolby實驗室的音頗AC3算法為基礎,研究了在RISC核Virgo上HDTV音頻解碼的軟硬件協同設計方法,提出了通過對程序關鍵子函數建模來實現軟硬件劃分的
    發表于 07-02 21:56 ?32次下載

    FPGA-SoPC軟硬件協同設計

    本內容詳細介紹了FPGA-SoPC軟硬件協同設計
    發表于 05-09 15:59 ?41次下載
    FPGA-SoPC<b class='flag-5'>軟硬件</b><b class='flag-5'>協同</b>設計

    可測性DSP軟硬件協同仿真驗證平臺設計

    針對數字信號處理器的不同仿真和驗證要求,提出了一種可測性軟硬件協同仿真和驗證平臺的設計. 采用可配置IP 模塊和總線結構,實現了硬件平臺可配
    發表于 06-09 17:54 ?39次下載
    可測性DSP<b class='flag-5'>軟硬件</b><b class='flag-5'>協同</b><b class='flag-5'>仿真</b>驗證平臺設計

    嵌入式軟硬件協同設計在氣象主采集器中研究

    本文介紹了嵌入式系統的現狀,分析了傳統嵌入式設計方法的不足和 軟硬件協同設計 方法的特點與優越性,以軟硬
    發表于 08-04 17:50 ?33次下載
    嵌入式<b class='flag-5'>軟硬件</b><b class='flag-5'>協同</b>設計在氣象主采集器中研究

    利用FPGA軟硬件協同系統驗證SoC系統的過程和方法

    設計了一種基于FPGA的驗證平臺及有效的SoC驗證方法介紹了此FPGA驗證軟硬件平臺及軟硬件協同驗證架構,討論和分析了利用FPGA
    發表于 11-17 03:06 ?4696次閱讀
    利用FPGA<b class='flag-5'>軟硬件</b><b class='flag-5'>協同</b>系統驗證SoC系統的過程和<b class='flag-5'>方法</b>

    基于FPGA的軟硬件協同測試設計影響因素分析與設計實現

    軟硬件的開發階段中,測試結果直接關系到這個軟硬件能否順利進行調試應用。其中,硬件的測試往往容易受外界因素的影響,如環境、計算機設備等,可以通過一些仿真軟件來避免外界環境的影響,但是其
    發表于 11-18 05:46 ?2073次閱讀

    軟硬件協同設計機遇與挑戰分析

    軟硬件協同設計是指對系統中的軟硬件部分使用統一的描述和工具進行集成開發,可完成全系統的設計驗證并跨越軟硬件界面進行系統優化,軟硬件
    發表于 11-25 03:45 ?867次閱讀

    軟硬件協同設計是系統芯片的基礎設計方法

    軟硬件協同仿真驗證是對軟硬件功能設計的正確性及性能進行驗證和評估。傳統設計中,硬件和軟件通常是分開獨立開發設計的,到系統設計后期才將
    的頭像 發表于 08-12 11:28 ?3763次閱讀