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

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
    +關注

    關注

    1629

    文章

    21748

    瀏覽量

    603795
  • Verilog
    +關注

    關注

    28

    文章

    1351

    瀏覽量

    110129
  • vhdl
    +關注

    關注

    30

    文章

    817

    瀏覽量

    128159
  • python
    +關注

    關注

    56

    文章

    4797

    瀏覽量

    84742

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

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

收藏 人收藏

    評論

    相關推薦

    云端AI開發者工具怎么

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

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

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

    時序邏輯電路的五種描述方法

    時序邏輯電路是數字電路中的一種重要類型,它具有存儲和處理信息的能力。時序邏輯電路描述方法有很多種,不同的方法適用于不同的設計和分析場景。以下是五種常見的時序邏輯
    的頭像 發表于 08-28 11:39 ?1419次閱讀

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

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

    Python建模算法與應用

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

    python寫驗證環境cocotb

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

    如何實現Python復制文件操作

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

    opencv-python和opencv一樣嗎

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

    pycharm進行python爬蟲的步驟

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

    深度學習常用的Python

    深度學習作為人工智能的一個重要分支,通過模擬人類大腦中的神經網絡解決復雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的庫支持,成為了深度學習研究和應用的首選工具。本文將深入探討
    的頭像 發表于 07-03 16:04 ?658次閱讀

    請問如何修改工程對應的IDF工具的位置?

    之前esp-idf-v4.4.2建立過工程,編譯都沒問題。后來開發環境重裝后,只要裝的是非esp-idf-v4.4.2版本,就不能編譯通過。提示錯誤信息如下: 看上去工程編譯過程依然會去C
    發表于 06-06 08:17

    Pyserial庫進行與stm32的串口通信,write方法給32發數據時會出現數據的錯誤和缺失怎么解決?

    我使用的是Pyserial庫進行與stm32的串口通信,python可以很好地接收32發的數據,但是我write方法給32發數據時會出現數據的錯誤和缺失,同樣的32程序我
    發表于 03-12 07:32

    proteus屬性賦值工具怎么

    Proteus是一種電路設計和仿真軟件,在進行電路設計和仿真時,屬性賦值是非常重要的步驟。屬性賦值工具可以幫助用戶快速有效地配置電路元件的屬性,從而實現
    的頭像 發表于 02-23 17:19 ?4700次閱讀

    如何使用linux下gdb調試python程序

    如何使用linux下gdb調試python程序? 在Linux下,可以使用GDB(GNU調試器)調試Python程序。GDB是一個強大的調試工具
    的頭像 發表于 01-31 10:41 ?2643次閱讀

    eda工具軟件有哪些 EDA工具有什么優勢

    和預測提供基礎。在進行EDA過程中,使用合適的工具軟件可以顯著提升效率和準確性。本文將介紹幾種常見的EDA工具軟件。 Python和其相關的庫 Python是一種廣泛使用的編程語言,擁
    的頭像 發表于 01-30 13:57 ?1175次閱讀
    主站蜘蛛池模板: 天天躁日日躁狠狠躁午夜剧场| 久久久免费热线精品频| 国产这里有精品| 日本漂亮妈妈7观整有限中| 97国产视频| 老师你奶真大下面水真多| 伊人久久大香线蕉综合网站| 寂寞夜晚视频高清观看免费| 亚洲第一综合天堂另类专| 国产午夜亚洲精品不卡电影| 午夜伦午夜伦锂电影| 国产无遮挡无码视频在线观看不卡 | 亚洲午夜福利未满十八勿进| 国产亚洲精品久久久久| 亚洲精品动漫免费二区| 国精品产露脸偷拍视频| 亚洲精品视频在线观看免费| 黄色网址在线免费观看| 一二三区乱码不卡手机版| 久久国产免费| 91在线青春娱乐精品分类| 年轻夫妇韩剧中文版免费观看| sm主人调教揉花蒂H| 色综合久久久久久| 好硬好湿好爽再深一点视频| 诱受H嗯啊巨肉各种play| 浓毛BWBWBWBWBW日本| 成人五级毛片免费播放| 特级aa 毛片免费观看| 狠狠干女人| 99re8在线视频精品| 日日摸夜添夜夜夜添高潮| 含羞草影院免费区| 97色伦图片97色伦图影院久久| 人妻无码AV中文系统久久免费| 国产精品女上位好爽在线短片| 一区二区三区四区国产| 欧美亚洲精品午夜福利AV| 国产精品免费视频能看| 最新国产在线视频在线| 色欲无码国产喷水AV精品|