一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

硬件開源編程利器MyHDL簡介

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

硬件開源編程利器MyHDL簡介

Verilog缺點(diǎn)

自從1995年Verilog HDL 1364-1995標(biāo)準(zhǔn)發(fā)布至今已經(jīng)20多年了,說他經(jīng)久不衰并不恰當(dāng),主要是沒有新的語言可以替代,現(xiàn)今數(shù)字電路高速發(fā)展,Verilog的一些缺點(diǎn)暴露的越來越多,下面總結(jié)一下:

借用知乎上“馬車”的觀點(diǎn):

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

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

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

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

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

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

位寬不匹配

input/output端口寫反

飽和截位弄錯

時鐘域問題鎖存器檢查組合邏輯環(huán)自己查....

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

重構(gòu)、增減信號,Bist/DFT邏輯插入麻煩

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

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

基于以上各種各樣的缺點(diǎn),一些基于Verilog語言的第三方語言(本質(zhì)仍然是HDL)陸續(xù)出現(xiàn),像SpinalHDL,Chisel和本文的主角MyHDL都是這類語言,關(guān)于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項(xiàng)目的目標(biāo)是通過python語言的優(yōu)雅和簡潔性來增強(qiáng)硬件設(shè)計(jì)者的能力。

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

建模

python的強(qiáng)大和清晰性使MyHDL成為高層次建模的理想解決方案。python以為復(fù)雜建模問題提供優(yōu)雅解決方案而聞名。此外,python對于快速應(yīng)用程序開發(fā)和試驗(yàn)是非常優(yōu)秀的。

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

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

仿真與驗(yàn)證

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

使用MyHDL,python單元測試框架可以用于硬件設(shè)計(jì)。雖然單元測試是一種流行的現(xiàn)代軟件驗(yàn)證技術(shù),但在硬件設(shè)計(jì)領(lǐng)域還是比較少見的。

MyHDL還可以作為verilog設(shè)計(jì)的硬件驗(yàn)證語言,通過與傳統(tǒng)的hdl模擬器進(jìn)行仿真。

轉(zhuǎn)換為Verilog語言與VHDL語言

遵從一定的限制后,可將MyHDL設(shè)計(jì)轉(zhuǎn)換為verilog語言或vhdl語言,這是切入傳統(tǒng)設(shè)計(jì)流程的一條路徑,包括綜合和實(shí)現(xiàn)。可轉(zhuǎn)換子集受到限制,但比標(biāo)準(zhǔn)可綜合子集要寬得多。它包括可用于高層次建模和test benches的功能。

轉(zhuǎn)換器處理一個已完全解析的設(shè)計(jì)實(shí)例。因此,原有的設(shè)計(jì)結(jié)構(gòu)可以任意復(fù)雜。此外,轉(zhuǎn)換限制僅適用于生成器內(nèi)部的代碼。除了外部生成器,python的能力可以充分釋放,而不影響可轉(zhuǎn)換性。

最后,轉(zhuǎn)換器自動地實(shí)現(xiàn)了許多用verilog或vhdl編寫困難的任務(wù)。一個顯著點(diǎn)是自動處理有符號算術(shù)問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1364

    瀏覽量

    111541
  • HDL
    HDL
    +關(guān)注

    關(guān)注

    8

    文章

    330

    瀏覽量

    47737
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    674

    瀏覽量

    33634

原文標(biāo)題:硬件開源編程利器MyHDL簡介

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    RISC V 開源芯片項(xiàng)目:OpenTitan 詳細(xì)解讀

    OpenTitan 是由 Google 主導(dǎo)的開源安全芯片項(xiàng)目,旨在為硬件系統(tǒng)提供 可信的硬件信任根(Root of Trust, RoT)? ,通過透明化設(shè)計(jì)和開源協(xié)作提升
    的頭像 發(fā)表于 04-09 14:45 ?840次閱讀
    RISC V <b class='flag-5'>開源</b>芯片項(xiàng)目:OpenTitan 詳細(xì)解讀

    明晚開播 | 開源芯片系列講座第27期:RISC-V AI指令集的標(biāo)準(zhǔn)化與開源實(shí)現(xiàn)

    報(bào)告簡介RISC-V的開源特性吸引了學(xué)術(shù)界和產(chǎn)業(yè)界的廣泛關(guān)注,其模塊化設(shè)計(jì)和擴(kuò)展能力更是迎合了AI應(yīng)用的定制化需求。為降低軟硬件設(shè)計(jì)成本,建立統(tǒng)一的RISC-VAI
    的頭像 發(fā)表于 03-25 08:12 ?174次閱讀
    明晚開播 | <b class='flag-5'>開源</b>芯片系列講座第27期:RISC-V AI指令集的標(biāo)準(zhǔn)化與<b class='flag-5'>開源</b>實(shí)現(xiàn)

    直播預(yù)約 | 開源芯片系列講座第27期:RISC-V AI指令集的標(biāo)準(zhǔn)化與開源實(shí)現(xiàn)

    實(shí)現(xiàn)報(bào)告簡介RISC-V的開源特性吸引了學(xué)術(shù)界和產(chǎn)業(yè)界的廣泛關(guān)注,其模塊化設(shè)計(jì)和擴(kuò)展能力更是迎合了AI應(yīng)用的定制化需求。為降低軟硬件設(shè)計(jì)成本,建立統(tǒng)一的RISC-V
    的頭像 發(fā)表于 03-10 17:55 ?520次閱讀
    直播預(yù)約 | <b class='flag-5'>開源</b>芯片系列講座第27期:RISC-V AI指令集的標(biāo)準(zhǔn)化與<b class='flag-5'>開源</b>實(shí)現(xiàn)

    開源項(xiàng)目!教你如何制作一個開源教育機(jī)械臂

    的解決方案。 初學(xué)者友好:Pedro是學(xué)習(xí)機(jī)器人,電子和編程的絕佳工具。 STEM教育:可以使用Pedro了解有關(guān)3D打印技術(shù)、嵌入式系統(tǒng)和通信協(xié)議的知識。 微控制器編程:支持基于Arduino的開源固件
    發(fā)表于 03-10 11:22

    索尼FCB-EV9500L:電力巡檢的新利器

    索尼FCB-EV9500L:電力巡檢的新利器
    的頭像 發(fā)表于 03-06 10:37 ?226次閱讀

    Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器

    Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器
    的頭像 發(fā)表于 02-19 18:25 ?1121次閱讀
    Banana Pi<b class='flag-5'>開源</b>社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)<b class='flag-5'>利器</b>

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

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

    Triton編譯器與GPU編程的結(jié)合應(yīng)用

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

    開源能帶我們走向何方

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

    百問FB網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程簡介

    6.1 網(wǎng)絡(luò)編程簡介 ?要編寫通過計(jì)算機(jī)網(wǎng)絡(luò)通信的程序,首先要確定這些程序同通信的協(xié)議(protocol),在設(shè)計(jì)一個協(xié)議的細(xì)節(jié)之前,首先要分清程序是由哪個程序發(fā)起以及響應(yīng)何時產(chǎn)生。 ?舉例來說
    發(fā)表于 12-04 09:46

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

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

    如何幫助孩子高效學(xué)習(xí)Python:開源硬件實(shí)踐是最優(yōu)選擇

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

    Banana Pi BPI-M4 Berry 開源硬件開發(fā)板以太網(wǎng)口和WiFi測試

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

    編程電源的作用是什么

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

    開源芯片系列講座第20期:基于RISC-V向量擴(kuò)展的開源GPGPU軟硬件設(shè)計(jì)

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