在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

硬件開源編程利器MyHDL簡介

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-03-14 10:30 ? 次閱讀

硬件開源編程利器MyHDL簡介

Verilog缺點

自從1995年Verilog HDL 1364-1995標準發布至今已經20多年了,說他經久不衰并不恰當,主要是沒有新的語言可以替代,現今數字電路高速發展,Verilog的一些缺點暴露的越來越多,下面總結一下:

借用知乎上“馬車”的觀點:

例化不方便:有人會說,有輔助插件幫你完成 (確實有很多好的插件,emacs verilog-mode , vim 的autoinst) 即便這樣,但是對帶參數的模塊例化, 一對多例化同樣需要手動處理,非常不方便

大量的重復聲明:無休止的變量聲明,無休止的位寬聲明,容易出錯, 作為一門上古時期的語言,對編譯器不能要求太高

函數不能帶參數:verilog中函數的使用只能是零零星星,哪怕是一個位寬的變化都要重寫函數, 作為一門語言函數不能廣泛使用,實為雞肋

參數化實在是笨:雖然支持參數化,parameter 也只能做一些簡單的加減左移操作, 沒有基本math包。利用宏做參數化,對于變量比較多的設計,非常復雜,并且也不好維護

錯誤檢測很弱:編譯工具對錯誤的處理比較保守, 這種保守可能也源于語言本身,以及編譯器的能力不及。

以下問題需要工程師自己處理

位寬不匹配

input/output端口寫反

飽和截位弄錯

時鐘域問題鎖存器檢查組合邏輯環自己查....

基于前仿的編譯,會遺漏大量的錯誤,必須要Lint, 綜合檢查, 費時費力又費錢。

重構、增減信號,Bist/DFT邏輯插入麻煩

需要手動處理, 編寫腳本, 即便是腳本也不通用

(內容來源:https://www.zhihu.com/question/440688150 作者:溫戈 公眾號:OpenIC

基于以上各種各樣的缺點,一些基于Verilog語言的第三方語言(本質仍然是HDL)陸續出現,像SpinalHDL,Chisel和本文的主角MyHDL都是這類語言,關于SpinalHDL,Chisel請查看(https://www.zhihu.com/question/440688150)

MyHDL介紹

你能想象有一天能用Python編寫“硬件”嗎?

(本系列基于MyHDL 0.10.0 版 on Python3

譯自 http://docs.myhdl.org/en/stable/manual/intro.html

MyHDL項目的目標是通過python語言的優雅和簡潔性來增強硬件設計者的能力。

MyHDL是一種免費、開源的軟件包,用于使用python作為硬件描述和驗證語言。python是一種非常高級的語言,硬件設計者可以利用它的全部力量來建模和仿真他們的設計。此外,可以將設計轉換為verilog或vhdl語言。這提供了一個融入傳統設計流程的切入口。

建模

python的強大和清晰性使MyHDL成為高層次建模的理想解決方案。python以為復雜建模問題提供優雅解決方案而聞名。此外,python對于快速應用程序開發和試驗是非常優秀的。

MyHDL背后的關鍵思想是使用python生成器來建模硬件并發性。生成器最好被描述為可(從暫停狀態中)恢復函數。MyHDL生成器類似于verilog的always塊和vhdl中的過程。

一個硬件模塊(MyHDL術語中的塊)建模為返回生成器的函數。這種方法使支持諸如任意層次結構、命名端口關聯、實例數組和條件實例化等特性變得簡單明了。此外,MyHDL提供了實現傳統硬件描述概念的類。它提供了一個信號類來支持生成器之間的通信、支持面向位操作的類以及枚舉類型類。

仿真與驗證

內置仿真器運行在python解釋器的頂部。它支持通過觀看波形來跟蹤vcd文件中的信號變化。

使用MyHDL,python單元測試框架可以用于硬件設計。雖然單元測試是一種流行的現代軟件驗證技術,但在硬件設計領域還是比較少見的。

MyHDL還可以作為verilog設計的硬件驗證語言,通過與傳統的hdl模擬器進行仿真。

轉換為Verilog語言與VHDL語言

遵從一定的限制后,可將MyHDL設計轉換為verilog語言或vhdl語言,這是切入傳統設計流程的一條路徑,包括綜合和實現。可轉換子集受到限制,但比標準可綜合子集要寬得多。它包括可用于高層次建模和test benches的功能。

轉換器處理一個已完全解析的設計實例。因此,原有的設計結構可以任意復雜。此外,轉換限制僅適用于生成器內部的代碼。除了外部生成器,python的能力可以充分釋放,而不影響可轉換性。

最后,轉換器自動地實現了許多用verilog或vhdl編寫困難的任務。一個顯著點是自動處理有符號算術問題。

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

    關注

    28

    文章

    1352

    瀏覽量

    110491
  • HDL
    HDL
    +關注

    關注

    8

    文章

    328

    瀏覽量

    47484
  • 編譯
    +關注

    關注

    0

    文章

    663

    瀏覽量

    33079

原文標題:硬件開源編程利器MyHDL簡介

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RT-Thread睿賽德出席中國工博會科技論壇,共話開源硬件與新工業革命

    2025年1月22日,由上海市經濟和信息化委員會、臨港新片區管委會、上海市科學技術協會指導的中國工博會科技論壇——開源硬件與新工業革命論壇在臨港舉辦。本次論壇由上海開源信息技術協會主辦,匯聚了眾多
    的頭像 發表于 01-22 18:53 ?218次閱讀
    RT-Thread睿賽德出席中國工博會科技論壇,共話<b class='flag-5'>開源硬件</b>與新工業革命

    Triton編譯器與GPU編程的結合應用

    Triton編譯器簡介 Triton編譯器是一種針對并行計算優化的編譯器,它能夠自動將高級語言代碼轉換為針對特定硬件優化的低級代碼。Triton編譯器的核心優勢在于其能夠識別并行模式,自動進行代碼
    的頭像 發表于 12-25 09:13 ?353次閱讀

    開源能帶我們走向何方

    開源大模型、開源數據庫、開源框架、開源硬件......近些年,這些詞匯不絕于耳。雷軍說,好的代碼像詩一樣優美,自己大二時寫的代碼就已經開源
    的頭像 發表于 12-06 17:09 ?537次閱讀

    百問FB網絡編程 - 網絡編程簡介

    6.1 網絡編程簡介 ?要編寫通過計算機網絡通信的程序,首先要確定這些程序同通信的協議(protocol),在設計一個協議的細節之前,首先要分清程序是由哪個程序發起以及響應何時產生。 ?舉例來說
    發表于 12-04 09:46

    面對AI時代快車,你沒必要跟車賽跑,而是應該先去考個駕照!

    ?在當今人工智能領域,代碼生成和編輯工具成為了開發者們手中的利器。昨天,零一萬物公司再次展示了他們在開源社區中的領導地位,開源了Yi-Coder系列編程助手模型,這一舉措不僅標志著該公
    的頭像 發表于 09-06 13:37 ?683次閱讀
    面對AI時代快車,你沒必要跟車賽跑,而是應該先去考個駕照!

    如何幫助孩子高效學習Python:開源硬件實踐是最優選擇

    顯著提升孩子的學習興趣和對Python原理的理解。本文將探討為何使用Raspberry Pi(樹莓派)或Unihiker(行空板)等開源硬件是孩子們掌握Python的最佳途徑。 讓孩子們在Python學習中更加互動 當孩子們通過硬件學習
    的頭像 發表于 09-06 09:49 ?385次閱讀

    Banana Pi BPI-M4 Berry 開源硬件開發板以太網口和WiFi測試

    Banana Pi BPI-M4 Berry 開源硬件開發板以太網口和WiFi測試
    的頭像 發表于 07-02 16:16 ?1004次閱讀
    Banana Pi BPI-M4 Berry <b class='flag-5'>開源硬件</b>開發板以太網口和WiFi測試

    編程電源的作用是什么

    簡介編程電源是一種高度靈活的電源設備,它允許用戶通過軟件或硬件接口設置輸出電壓和電流。這種電源設備在電子行業中具有廣泛的應用,包括研發、測試、生產和維護等各個環節。 #### 2. 可
    的頭像 發表于 06-10 15:33 ?768次閱讀

    開源芯片系列講座第20期:基于RISC-V向量擴展的開源GPGPU軟硬件設計

    在當前國際科技競爭日益激烈的情勢下,我國急需要建立一個采用開源指令集GPGPU架構,構建起統一的軟硬件生態。相關參與方共同努力,共同建設起我國自主可控的GPGPU產業,服務于我國電子信息核心關鍵產業。
    的頭像 發表于 05-20 16:27 ?411次閱讀
    <b class='flag-5'>開源</b>芯片系列講座第20期:基于RISC-V向量擴展的<b class='flag-5'>開源</b>GPGPU軟<b class='flag-5'>硬件</b>設計

    如何組裝ArmSoM-Sige7產品外殼?#樹莓派 #rockchip #開源硬件

    開源硬件樹莓派
    ARMSOM
    發布于 :2024年04月17日 18:44:52

    手機信號放大器:優化通信質量的利器

    深圳特信屏蔽器|手機信號放大器:優化通信質量的利器
    的頭像 發表于 04-02 09:05 ?820次閱讀

    現場可編程門陣列簡介

    現場可編程門陣列(FPGA)是一種由半導體材料制成的集成電路,用戶購買后可以重新編程或配置,以滿足特定功能或應用需求。其控制程序存儲在內存中,加電后,程序自動裝載到芯片執行。FPGA的基本結構包括
    的頭像 發表于 03-27 14:48 ?671次閱讀

    fpga是硬件還是軟件

    FPGA(現場可編程門陣列)本質上是一種硬件設備,但它在功能實現上結合了硬件和軟件的特性。
    的頭像 發表于 03-27 14:14 ?1020次閱讀

    fpga用什么語言編程

    FPGA(現場可編程門陣列)的編程主要使用硬件描述語言(HDL),其中最常用的是Verilog HDL和VHDL。
    的頭像 發表于 03-14 18:17 ?2958次閱讀

    fpga是硬件還是軟件

    FPGA(現場可編程門陣列)屬于硬件設備,而不是軟件。它是一種可編程硬件設備,由大量的邏輯單元、存儲單元和互連資源組成,能夠實現復雜的數字電路和系統設計。
    的頭像 發表于 03-14 17:08 ?2034次閱讀
    主站蜘蛛池模板: a欧美在线| 免费边摸边吃奶边叫床视频gif | 一区不卡视频 | 国产精品久久国产三级国不卡顿 | 好爽好大www视频在线播放 | 日韩色网 | 人人爽天天碰天天躁夜夜躁 | 国产手机在线国内精品 | 亚洲天堂免费在线 | 欧美又粗又硬又大久久久 | 国产色婷婷精品综合在线手机播放 | 亚洲插插 | 热99re久久精品2久久久 | 欧美成人h精品网站 | 亚洲电影免费 | 天天爱综合 | 久久视频免费 | 亚洲韩国日本欧美一区二区三区 | 美女视频很黄很暴黄是免费的 | 久久亚洲精品国产亚洲老地址 | 国产免费糟蹋美女视频 | 欧美成人午夜毛片免费影院 | 久操免费在线 | 国产人成高清视频观看 | 欧美久久天天综合香蕉伊 | 亚洲理论片在线观看 | 免费艹逼视频 | 美女视频网站色软件免费视频 | 欧美一级特黄aa大片视频 | 国模私拍视频在线 | 日韩欧美伦理 | 国产做a爰片久久毛片 | 性过程很黄的小说男男 | 午夜一级 | 婷婷sese | 午夜久 | 日本黄色录象 | 拍拍拍交性免费视频 | 国产一卡二卡≡卡四卡无人 | 欧美久久天天综合香蕉伊 | 婷婷国产 |