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

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

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

3天內不再提示

開源工具SkiDL - 用Python來描述電路

電子森林 ? 來源:電子森林 ? 作者: 蘇老師 ? 2021-10-30 10:07 ? 次閱讀

我們用Verilog、VHDL這種硬件描述語言來設計FPGA,是否有一種方式來描述電路?如果采用了這種方式,也會像HDL在FPGA、ASIC領域一樣成為一種主流的趨勢么?我們來看看SkiDL的嘗試。

SKiDL 是一個模塊,允許您使用 Python 緊湊地描述電子電路和組件的互連。 生成的 Python 程序執行電氣規則檢查以查找常見錯誤并輸出用作 PCB 布局工具輸入的網表。

首先,讓我們看看 KiCad 中的“正常”設計流程:

在這里,您在原理圖編輯器(對于 KiCad,即 EESCHEMA)中開始并繪制原理圖。由此,EESCHEMA 生成一個網表文件,其中列出了使用的組件以及它們的引腳如何互連。然后,您將使用 PCB 布局工具(如 KiCad 的 PCBNEW)來排列零件封裝并繪制連接網表中指定的引腳的線跡。

完成后,PCBNEW 會輸出一組 Gerber 文件,這些文件將發送給 PCB 制造商,該制造商將創建物理 PCB 并將其運送給您。然后你會在 Twitter 上張貼他們的照片,然后因為你對這個項目感到厭煩而立即把它們扔進抽屜里幾年。

在基于 SKiDL 的設計流程中,您使用文本編輯器創建 Python 代碼文件,該文件使用 SKiDL 庫來描述組件的互連。該代碼文件由 Python 解釋器執行,并輸出一個網表文件。從那里開始,設計流程與基于原理圖的流程相同(包括將 PCB 傾倒在抽屜中)。

那么,您為什么要使用 SKiDL?以下是 SKiDL 為電子設計帶來的一些功能:

只需要一個文本編輯器和 Python。

具有強大、靈活的語法(因為它是 Python)。

允許對電子電路進行簡潔的描述(考慮不要通過多頁原理圖跟蹤信號)。

允許電子電路的文本描述(考慮對電路使用 diff 和 git)。

對常見錯誤(例如,未連接的設備 I/O 引腳)執行電氣規則檢查 (ERC)。

支持電子設計的線性/分層/混合描述。

促進設計重用(考慮使用 PyPi 和 Github 分發電子設計)。

可以創建其行為/結構以參數方式改變的智能電路模塊(考慮根據您所需的截止頻率自動調整組件值的濾波器)。

可以使用任何 ECAD 工具(只需要兩種方法:一種用于讀取零件庫,另一種用于輸出正確的網表格式)。

利用 Python 生態系統的所有優勢(因為它是 Python)。

免費軟件:MIT 許可證。

開源:https://github.com/devbisme/skidl

生成原理圖:

盡管 SKiDL 可以讓您避免繁瑣的原理圖繪制,但有些人仍然希望看到他們電路的圖形描述。為此,SKiDL 可以使用 1) graphviz DOT 語言或 2) 作為使用 SVG 的更傳統的示意圖將部件的互連顯示為有向圖。

以下電路將用于說明這兩種方法:

The SKiDL script for this circuit is:

from skidl import *

# Create part templates.
q = Part(lib="Device.lib", name="Q_PNP_CBE", dest=TEMPLATE, symtx="V")
r = Part("Device", "R", dest=TEMPLATE)

# Create nets.
gnd, vcc = Net("GND"), Net("VCC")
a, b, a_and_b = Net("A"), Net("B"), Net("A_AND_B")

# Instantiate parts.
gndt = Part("power", "GND")  # Ground terminal.
vcct = Part("power", "VCC")  # Power terminal.
q1, q2 = q(2)
r1, r2, r3, r4, r5 = r(5, value="10K")

# Make connections between parts.
a & r1 & q1["B", "C"] & r4 & q2["B", "C"] & a_and_b & r5 & gnd
b & r2 & q1["B"]
q1["C"] & r3 & gnd
vcc += q1["E"], q2["E"], vcct
gnd += gndt

點圖

注意:查看 DOT 文件需要您在系統上安裝 graphviz。

要為電路生成 DOT 文件,只需將以下內容附加到腳本末尾:

generate_dot(file_='and_gate.dot')

運行腳本生成and_gate.dot文件后,您可以使用以下命令將其轉換為位圖文件:

$ dot -Tpng -Kneato -O and_gate.dot

生成的 and_gate.dot.png 文件如下所示:

e431cd4e-38e3-11ec-82a8-dac502259ad0.png

這張圖可以作為一個小電路的健全性檢查,但你可以想象如果它包括具有數百個引腳的微控制器或 FPGA 會是什么樣子!

另外你可以生成SVG格式的原理圖

e4673f9c-38e3-11ec-82a8-dac502259ad0.png

也可以將現有的KiCad設計轉換到SkiDL

也可以使用SkiDL來描述你的電路,并運行SPICE進行仿真

我對這個了解得很少,只是覺得它值得關注,先分享出來,供有興趣的朋友參考。

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

    關注

    1643

    文章

    21981

    瀏覽量

    614539
  • Verilog
    +關注

    關注

    29

    文章

    1366

    瀏覽量

    111904
  • vhdl
    +關注

    關注

    30

    文章

    819

    瀏覽量

    129600
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86266

原文標題:開源工具SkiDL - 用Python來描述電路

文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    自簽名證書工具cfssl詳解

    CFSSL(CloudFlare's PKI and TLS toolkit)由 CloudFlare go語言開發的一個開源工具,用于證書簽名、驗證和管理。
    的頭像 發表于 06-11 16:30 ?83次閱讀
    自簽名證書<b class='flag-5'>工具</b>cfssl詳解

    開源鴻蒙工程工具分論壇圓滿舉辦

    近日,開源鴻蒙開發者大會2025(OHDC.2025)工程工具分論壇在深圳圓滿舉辦。本次分論壇由開源鴻蒙IDE SIG組長、華為終端BG工程工具技術專家唐春擔任出品人,主題為“
    的頭像 發表于 06-05 15:35 ?218次閱讀

    tscircuit - 電路開發的 React 范式? TypeScript、React和 AI工具構建電子產品

    TypeScript、React 和 AI 工具構建電子產品。
    的頭像 發表于 04-30 18:18 ?598次閱讀
    tscircuit - <b class='flag-5'>電路</b>開發的 React 范式?   <b class='flag-5'>用</b>TypeScript、React和 AI<b class='flag-5'>工具</b>構建電子產品

    python入門圣經-高清電子書(建議下載)

    此資料內容是一本針對所有層次的Python 讀者而作的Python 入門電子書。 全書分兩部分:第一部分介紹Python 編程所必須了解的基本概念,包括matplotlib、NumP
    發表于 04-10 16:53

    AI開源模型庫有什么

    AI開源模型庫作為推動AI技術發展的重要力量,正深刻改變著我們的生產生活方式。接下來,AI部落小編帶您了解AI開源模型庫有什么
    的頭像 發表于 02-24 11:50 ?340次閱讀

    OSS Nokalva:適用于Python的OSS NAS工具

    執行以下任務:編寫軟件創建、處理、調試和測試 NAS 消息。在處理 3GPP 版本中的更改時,此任務特別耗時且容易出錯。現在客戶可以專注于他們的核心業務。 用于 Python 的 OSS NAS 工具
    的頭像 發表于 02-09 09:16 ?387次閱讀
    OSS Nokalva:適用于<b class='flag-5'>Python</b>的OSS NAS<b class='flag-5'>工具</b>

    云端AI開發者工具怎么

    云端AI開發者工具通常包括代碼編輯器、模型訓練平臺、自動化測試工具、代碼管理工具等。這些工具不僅降低了AI開發的門檻,還極大地提高了開發效率和模型性能。下面,AI部落小編為您介紹云端A
    的頭像 發表于 12-05 13:31 ?460次閱讀

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

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

    時序邏輯電路描述方法有哪些

    時序邏輯電路是數字電路中的一種重要類型,它具有存儲功能,能夠根據輸入信號和內部狀態的變化改變其輸出。時序邏輯電路廣泛應用于計算機、通信、控制等領域。本文將介紹時序邏輯
    的頭像 發表于 08-28 11:37 ?1259次閱讀

    Python建模算法與應用

    Python作為一種功能強大、免費、開源且面向對象的編程語言,在科學計算、數學建模、數據分析等領域展現出了卓越的性能。其簡潔的語法、對動態輸入的支持以及解釋性語言的本質,使得Python在多個平臺
    的頭像 發表于 07-24 10:41 ?1107次閱讀

    python寫驗證環境cocotb

    本文介紹了cocotb的安裝、python tb文件的寫法、xrun仿真cocotb的腳本等,我們來看看體驗如何。
    的頭像 發表于 07-24 09:38 ?957次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>python</b>寫驗證環境cocotb

    如何實現Python復制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些 Python 實現文件復制的特殊方法。下面我們開始學習這九種不同的方法
    的頭像 發表于 07-18 14:53 ?717次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發表于 07-16 10:38 ?1961次閱讀

    pycharm進行python爬蟲的步驟

    以下是使用PyCharm進行Python爬蟲的步驟: 安裝PyCharm和Python 首先,您需要安裝PyCharm和Python。PyCharm是一個流行的Python集成開發環境
    的頭像 發表于 07-11 10:11 ?1355次閱讀

    深度學習常用的Python

    深度學習作為人工智能的一個重要分支,通過模擬人類大腦中的神經網絡解決復雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的庫支持,成為了深度學習研究和應用的首選工具。本文將深入探討
    的頭像 發表于 07-03 16:04 ?1084次閱讀
    主站蜘蛛池模板: 亚洲第一区二区快射影院 | 综合色久七七综合七七蜜芽 | 欧美色频 | 亚洲国产成人在线 | 午夜色大片| 2017av在线| 插综合网 | 日本福利片午夜免费观着 | 黄蓉吕文德欲乱系列小说 | 亚洲色图综合在线 | 婷婷五月五 | 小泽玛利亚在线观看123 | 手机视频在线播放 | 在线观看www日本免费网站 | 一级特黄牲大片免费视频 | 美女被免费网站视频在线 | 噜噜噜久久| 东北老女人啪啪对白 | 久久久久国产成人精品亚洲午夜 | 国产农村一一级特黄毛片 | 九九热在线免费 | 康熙古代高h细节肉爽文全文 | 国产精品怡红院永久免费 | 黄网站在线观看永久免费 | 日韩一级影院 | 久久精品免费 | 欧美四色 | avtt加勒比手机版天堂网 | 亚洲午夜在线观看 | 女人张开腿男人桶 | 日韩欧美视频一区 | 在线啪 | 色午夜视频 | 天天射天天干天天 | 六月婷婷在线观看 | 在线观看视频一区 | 色男人综合 | 日本三级特黄 | 伊人久操 | 天天色天天综合 | 国模小丫大尺度啪啪人体 |