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

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

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

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

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

電子森林 ? 來源:電子森林 ? 作者: 蘇老師 ? 2021-10-30 10:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

首先,讓我們看看 KiCad 中的“正?!痹O(shè)計(jì)流程:

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

完成后,PCBNEW 會輸出一組 Gerber 文件,這些文件將發(fā)送給 PCB 制造商,該制造商將創(chuàng)建物理 PCB 并將其運(yùn)送給您。然后你會在 Twitter 上張貼他們的照片,然后因?yàn)槟銓@個項(xiàng)目感到厭煩而立即把它們?nèi)舆M(jìn)抽屜里幾年。

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

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

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

具有強(qiáng)大、靈活的語法(因?yàn)樗?Python)。

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

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

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

支持電子設(shè)計(jì)的線性/分層/混合描述。

促進(jìn)設(shè)計(jì)重用(考慮使用 PyPi 和 Github 分發(fā)電子設(shè)計(jì))。

可以創(chuàng)建其行為/結(jié)構(gòu)以參數(shù)方式改變的智能電路模塊(考慮根據(jù)您所需的截止頻率自動調(diào)整組件值的濾波器)。

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

利用 Python 生態(tài)系統(tǒng)的所有優(yōu)勢(因?yàn)樗?Python)。

免費(fèi)軟件:MIT 許可證。

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

生成原理圖:

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

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

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

點(diǎn)圖

注意:查看 DOT 文件需要您在系統(tǒng)上安裝 graphviz。

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

generate_dot(file_='and_gate.dot')

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

$ dot -Tpng -Kneato -O and_gate.dot

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

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

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

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

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

也可以將現(xiàn)有的KiCad設(shè)計(jì)轉(zhuǎn)換到SkiDL

也可以使用SkiDL來描述你的電路,并運(yùn)行SPICE進(jìn)行仿真。

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

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

    關(guān)注

    1645

    文章

    22036

    瀏覽量

    618073
  • Verilog
    +關(guān)注

    關(guān)注

    29

    文章

    1367

    瀏覽量

    112241
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    820

    瀏覽量

    129922
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86675

原文標(biāo)題:開源工具SkiDL - 用Python來描述電路

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    自簽名證書工具cfssl詳解

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

    擁抱開源!一起做FPGA開發(fā)板啦!

    我們,一起為國產(chǎn)FPGA開發(fā)注入開源的活力,代碼和電路點(diǎn)亮創(chuàng)新的火花,共同打造一款屬于開發(fā)者們的、獨(dú)一無二的FPGA開發(fā)板!期待你的加入,讓我們攜手開啟這場充滿挑戰(zhàn)與驚喜的開源之旅!
    發(fā)表于 06-06 14:05

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

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

    tscircuit - 電路開發(fā)的 React 范式? TypeScript、React和 AI工具構(gòu)建電子產(chǎn)品

    TypeScript、React 和 AI 工具構(gòu)建電子產(chǎn)品。
    的頭像 發(fā)表于 04-30 18:18 ?692次閱讀
    tscircuit - <b class='flag-5'>電路</b>開發(fā)的 React 范式?   <b class='flag-5'>用</b>TypeScript、React和 AI<b class='flag-5'>工具</b>構(gòu)建電子產(chǎn)品

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

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

    AI開源模型庫有什么

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

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

    執(zhí)行以下任務(wù):編寫軟件創(chuàng)建、處理、調(diào)試和測試 NAS 消息。在處理 3GPP 版本中的更改時,此任務(wù)特別耗時且容易出錯?,F(xiàn)在客戶可以專注于他們的核心業(yè)務(wù)。 用于 Python 的 OSS NAS 工具
    的頭像 發(fā)表于 02-09 09:16 ?450次閱讀
    OSS Nokalva:適用于<b class='flag-5'>Python</b>的OSS NAS<b class='flag-5'>工具</b>

    云端AI開發(fā)者工具怎么

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

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

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

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

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

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

    時序邏輯電路是數(shù)字電路中的一種重要類型,它具有存儲功能,能夠根據(jù)輸入信號和內(nèi)部狀態(tài)的變化改變其輸出。時序邏輯電路廣泛應(yīng)用于計(jì)算機(jī)、通信、控制等領(lǐng)域。本文將介紹時序邏輯
    的頭像 發(fā)表于 08-28 11:37 ?1405次閱讀

    Python建模算法與應(yīng)用

    Python作為一種功能強(qiáng)大、免費(fèi)、開源且面向?qū)ο蟮木幊陶Z言,在科學(xué)計(jì)算、數(shù)學(xué)建模、數(shù)據(jù)分析等領(lǐng)域展現(xiàn)出了卓越的性能。其簡潔的語法、對動態(tài)輸入的支持以及解釋性語言的本質(zhì),使得Python在多個平臺
    的頭像 發(fā)表于 07-24 10:41 ?1246次閱讀

    python寫驗(yàn)證環(huán)境cocotb

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

    如何實(shí)現(xiàn)Python復(fù)制文件操作

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

    opencv-python和opencv一樣嗎

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