色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    1351

    瀏覽量

    110217
  • HDL
    HDL
    +關注

    關注

    8

    文章

    327

    瀏覽量

    47424
  • 編譯
    +關注

    關注

    0

    文章

    661

    瀏覽量

    32951

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

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

收藏 人收藏

    評論

    相關推薦

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

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

    開源能帶我們走向何方

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

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

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

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

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

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

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

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

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

    編程電源的作用是什么

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

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

    在當前國際科技競爭日益激烈的情勢下,我國急需要建立一個采用開源指令集GPGPU架構,構建起統一的軟硬件生態。相關參與方共同努力,共同建設起我國自主可控的GPGPU產業,服務于我國電子信息核心關鍵產業。
    的頭像 發表于 05-20 16:27 ?371次閱讀
    <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 ?772次閱讀

    現場可編程門陣列簡介

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

    fpga是硬件還是軟件

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

    fpga用什么語言編程

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

    fpga是硬件還是軟件

    FPGA(現場可編程門陣列)屬于硬件設備,而不是軟件。它是一種可編程硬件設備,由大量的邏輯單元、存儲單元和互連資源組成,能夠實現復雜的數字電路和系統設計。
    的頭像 發表于 03-14 17:08 ?1967次閱讀

    Meta發布CodeLlama70B開源大模型

    Meta發布CodeLlama70B開源大模型 Meta發布了開源大模型CodeLlama70B,號稱是CodeLlama系列體量最大、性能最強的大模型。 Code Llama 70B 有一個很出色
    的頭像 發表于 01-31 10:30 ?1448次閱讀
    主站蜘蛛池模板: 免费毛片a在线观看67194| 影音先锋xfplay影院av| 俄罗斯XBXBXB兽交| 性欧美videosex18嫩| 精品手机在线1卡二卡3卡四卡| 最近中文字幕2018MV高清在线| 青青热久久综合网伊人| 国产精品自在拍在线播放| 诱受H嗯啊巨肉各种play| 青青青伊人| 国语92电影网午夜福利| 3acg同人漫画禁图h| 色噜噜狠狠一区二区三区| 国内精品日本久久久久影院| 91蜜桃视频| 亚州综人网| 暖暖视频在线观看高清...| 国产AV亚洲国产AV麻豆| 原神美女被超污app| 日本妈妈xxxx| 久久热在线视频精品| 国产69精品久久久熟女| 中文字幕人成人乱码亚洲AV| 色拍拍噜噜噜久久蜜桃| 久久橹| 国产大片51精品免费观看| 最新高清无码专区| 性盈盈剧场| 人妻兽虐曲| 老司机午夜影院试看区| 国产精品成人啪精品视频免费观看| 在线精彩视频在线观看免费| 色老汉网址导航| 男人舔女人的阴部黄色骚虎视频| 国产真实女人一级毛片| 成人在线视频免费| 4虎影院午夜在线观看| 亚洲国产欧美日韩在线一区| 日本伦子欲| 免费国产福利| 黑丝制服影院|