作者 主题:[已解决]通过插槽生成SPICE网表和PCB抵押品 (Read 1145 times)

0位成员和1位访客正在查看此主题。

离线 杰夫伯豪

  • 贡献者
  • 帖子:7
[解决]通过插槽生成SPICE网表和PCB抵押品
« 上: 2020年11月27日,下午05:19:55»
你好,

I'm很难用相同的原理图(gschem)生成SPICE网表(gnetlist)和PCB附属品(gsch2pcb)。

我有一个双运算放大器封装(lm358n),在原理图中用两个启用了插槽的独立运算放大器符号表示。

如果我给每一个都相同的refdes = U1并分配单独的插槽,则PCB中的布局符合预期:一个设备。但是我可以't生成没有错误的SPICE网表,因为参考是相同的,并且仿真需要单独的参考。

如果我将每个的引用都设置为单独的值U1 / U2,则SPICE网表看起来不错,并且模拟工作正常。现在,BUT PCB显示两个连接错误的设备。

我如何才能两全其美?

It'd如果gnetlist有办法知道相同的引用和不同的插槽应在香料中赋予不同的引用,则很好,例如U1A和U1B。这是我的功能吗'm not aware of?

谢谢,
杰夫
« 上次编辑:2020年11月28日,下午07:06:57 by 杰夫伯豪 »
 

离线 杰夫伯豪

  • 贡献者
  • 帖子:7
回复:带槽位生成SPICE网表和PCB附属品
« 在以下方面回复#1: 2020年11月27日,晚上11:12:32»
通过spice-sdb的后端代码,看来它应该能够处理这个问题。

我有一些配置吗'想念吗?这是我当前的gnetlistrc:
码: [选择]
(hierarchy-uref-mangle "enabled")
(hierarchy-uref-order "prepend")
(hierarchy-uref-separator ":")

spice-sdb后端代码:
码: [选择]
;; Custom get-uref function to append ".${SLOT}" where a component
;; has a "slot=${SLOT}" attribute attached.
;;
;; NOTE: Original test 对于 appending the ".<SLOT>" was this:
;;   (let ((numslots (gnetlist:get-package-attribute package "numslots"))
;;        (slot-count (length (gnetlist:get-unique-slots package)))
;;     (if (or (string=? numslots "unknown") (string=? numslots "0"))
;;
(define get-uref
  (lambda (object)
    (let ((real_uref (gnetlist:get-uref object)))
      (if (null? (get-attrib-value-by-attrib-name object "slot"))
        real_uref
        (string-append real_uref "."
          (car (get-attrib-value-by-attrib-name object "slot")))
      )
    )
  )
)
 

离线 杰夫伯豪

  • 贡献者
  • 帖子:7
回复:带槽位生成SPICE网表和PCB附属品
« 在以下方面回复#2: 2020年11月28日,下午07:06:29»
我在一些ngspice文档中遇到了一个解决方法。似乎是合理的流程。

基本上,它说是创建一个subckt定义来单独实例化每个运算放大器,并将该subckt定义用作符号指向属性文件的那个。

必须注意确保所有接口都已同步。

ngspice文档以供参考:
http://ngspice.sourceforge.net/ngspice-eeschema.html#multi
第8节
 
以下用户对此帖子表示感谢: techman-001


分享我

掘客  脸书  SlashDot  美味的  Technorati  推特  谷歌  雅虎
中频