开源硬件仿真库spice 3f5在xcode上编译

开关电源仿真技术:PSPICE与SPICE3应用指南 在当今的电子设计自动化(EDA)领域,仿真软件扮演着至关重要的角色。工程师们使用这些软件来预测电路行为,评估设计的可行性,以及在实际硬件制造之前对电路进行测试。PSPICE和SPICE3作为业内两大知名仿真工具,分别代表了仿真软件的发展和演化。 阅读详情
前段时间买了一个示波器,又买了几个三极管,电阻和一些驻极体话筒,作了一个话筒音频放大电路,因为要调整三极管的直流工作回路,所以用了一个叫icrcuit的mac上的软件对三极管上的基极调压电阻和集电极电阻进行了仿真。最后实际焊成的电路结果与仿真结果很接近。下边是我的三极管仿真电路:
开源硬件仿真库spice 3f5在xcode上编译 - ♂苹果 - 眼睛想旅行
 
于是就想看能不能在ipad上也找到这个软件,结果找了半天硬是没有找到。索性就想自已看能不能在ipad上自已作一个硬件电路仿真软件。当然,第一步就是找相关的开源软件,然后我们来把他的源码移值到ios上就可以了。找到了一个ngspice的开源仿真软件。在mac上编译安装成功了。去官网看的时候,作者说自已是用的一个叫spice3f5的开源库,说这个库有好几十年的历史了。
ngspice官网及下载地址: http://ngspice.sourceforge.net/download.html
其中, ng-spice-rework版是ngspice的最新稳定版源码。
用到了spice3f5源码: http://embedded.eecs.berkeley.edu/pubs/downloads/spice/
中间有一个 spice3f5.tar.gz  (1.2Mb),就是源码。只不过这个源码默认的编译环境是windows系统下的。
而我要作的就是把这个源码在mac os系统下编译成功。
首先,解压这个压缩包:
开源硬件仿真库spice 3f5在xcode上编译 - ♂苹果 - 眼睛想旅行
 
这里我们只会用到src文件夹里的include和lib目录。别的东西都可以不要。
spice的源码是用古老的C语言写成的。
然后在xcode下新建一个C语言的命令行项目。
开源硬件仿真库spice 3f5在xcode上编译 - ♂苹果 - 眼睛想旅行
开源硬件仿真库spice 3f5在xcode上编译 - ♂苹果 - 眼睛想旅行
建好以后,把我们说的include和lib两个目录复制到项目路径下,并在xcode中添加上文件。
然后按command+B键先试着编译一下。
这时候会发现有很多的错误。不要怕,我们一点一点的来改就可以了。这里的大部分错误是C语中的函数默认反回值是int型引起的。有一多半的都是简单的给函数最后加一个return 0;就可以了。
再接下来的一些错误是一些系统库中的头文件引用错误。我们只要一点一点的把头文件加上就OK了。
最后出现错误最多的是一些变量重复定义,函数重复定义的错误,我们只要把重复的删除就可以了。
下边是我用了两天的时间修改后可以在xocde下运行起来的截图。
开源硬件仿真库spice 3f5在xcode上编译 - ♂苹果 - 眼睛想旅行
现在还没有真正开始加载电路上去仿真的试过。
明天再试一下在xcode下的电路仿真。看看我要怎么把仿真数据取出来。
计划是先把仿真的实时数据存入内存中,然后使用我熟悉的cocos2d-x游戏引擎来作UI界面以及电路图形绘制。有了电路图,再将电路图转成节点网表,加上元器件属性就可以进行仿真了,仿真结果再用游戏引擎绘制在ios界面上。目前初步计划是这样的。等接下来再对源码分析和调试。
总体上来说,这两天的收获不小啊。
 今天是2015年9月13日,今天接着写这个硬件仿真软件的编译情况。
前天编译那个spice3f5已经可以编译通过了,但是发现一直没有加载上源码里的那个元件库,所以一载入电路文件,就会报很多命令找不到,昨天又改了一天的ngspice的源码,一开始也是一直加载不上元器件,经过我打断点一点一点的分析,问题已经得到了解决,今天已经可以正常加载电路,并进行仿真了。为了以后在ios中可以正常使用这个仿真库,所以没有加入ngspice的xspice部分的视图部分源码。打算以后用cocos2d-x游戏引擎来作视图显示。下边是ngspice的基本版使用xcode编译之后的二进制文件运行的mac版 仿真 程序。
下边是电路和电路仿真的结果:
 spice电路网表:
EX
VS 1 0 10
R1 1 2 20
R2 2 0 20
R3 3 0 4K
L 2 3 0.2 IC=0.2
C 3 0 0.5U IC=2
.END
 网表对应的电路图:
开源硬件仿真库spice 3f5在xcode上编译 - ♂苹果 - 眼睛想旅行
使用
tran0.1 30 uic
作瞬态分析的结果:

ngspice 1 -> bjtnoise.cir


Circuit: ex


ngspice 2 -> tran -.1m 30m uic

Warning: TSTEP is invalid, must be greater than zero.


tran simulation(s) aborted

ngspice 3 -> ^R  

 

ngspice 3 -> tran 0.1m 30m uic

Doing analysis at TEMP = 27.000000 and TNOM = 27.000000



Initial Transient Solution

--------------------------


Node                                   Voltage

----                                   -------

1                                            0

2                                            0

3                                            0

l#branch                                     0

vs#branch                                    0




No. of Data Rows : 312

ngspice 4 -> print v(3)

                                       ex

                                       Transient Analysis  Sun Sep 13 21:40:38  2015

--------------------------------------------------------------------------------

Index   time            v(3)            

--------------------------------------------------------------------------------

0 0.000000e+00 0.000000e+00

1 1.000000e-06 2.398807e+00

...这里隐藏了310行...

311 3.000000e-02 4.972044e+00

ngspice 5 -> 

 
有了这些数据,画一个曲线图还是很简单的。接下来要作的事就是作一个画电路图的软件,然后把电路图转换成spice电路网表文件,发送给我的这个ngspice库,由这个库输出上边的这组电压变化数据,然后使用此数据绘画。
先使用原版的带有xspice的ngspice使用plot v(3),来绘制数据看一下:
开源硬件仿真库spice 3f5在xcode上编译 - ♂苹果 - 眼睛想旅行
 好了,今天就到这里,昨天晚上睡的太晚.
项目源码下载地址: https://github.com/fengmm521/myspice
SPICE3原版手册,电路仿真必备知识,芯片仿真的基础知识 立即下载

相关推荐

经典电路分析软件spice3f源代码

经典电路分析软件spice3f源代码

SPICE电路仿真(1)--ngspice

虽然博文题目是spice仿真,但这里是用ngspice实现的,而不是商业版的PSPICE或者其他基于SPICE实现的商业电路仿真器ngspice简介 官网 http://ngspice.sourceforge.net/ ngspice是一个mixed-level/mixed-signal的电路仿真器,他的代码基于三个开源软件库Spice3f5, Cider1b1 and Xspice.ngspice

ouening的博客 3万+

tcl-spice3 源代码 --学习spice必读!

学习开发或是深入了解spice必备的代码及安装文件。 安装文件 学习开发或是深入了解spice必备的代码及安装文件。 安装文件

SPICE简史

如今每一天都有不知其数的半导体芯片设计公司与设计验证工程师,在用着电路仿真软件SPICE。SPICE广泛应用在仿真模拟电路(例如运放Op Amp,能隙基准稳压电源Bandgap Reference,数模/模数转换 AD/DA等),混合信号电路(例如锁相环PLL,存储器SRAM/DRAM,高速输入/输出接口high-speed I/O),精确数字电路(例如延时,时序,功耗,漏电流等)...

weixin_30868855的博客 1081

vs2005下可用的spice3f5源码

vs2005下可用的spice3f5源码 spice3f5是Pspice、Hspice等众多软件的核心算法。

ngspice-开源

Ngspice项目旨在改进spice3f5电路模拟器。

【chatgpt】SPICE 发展历程

更多开源 SPICE 工具,如 OpenROAD + Ngspice。:基于 AWS/Google Cloud 运行超大规模仿真。开发,成为全球电子设计自动化(EDA)的核心工具之一。:Laurence Nagel(伯克利大学),SPICE 计算压力更大,开始引入。的电路仿真工具,用于 IC 设计。:用机器学习加速 SPICE 计算。

Never Give Up 1422

DataEaseV2.9 本地开发环境搭建与调试指南

本文详细指导如何搭建DataEase V2.9的本地开发环境,涵盖从软件准备、源码获取、数据库初始化到在IDEA中配置、编译和调试的全过程。重点解决了本地运行环境的关键配置与常见问题,帮助开发者高效开启DataEase的定制化开发与二次开发。

weixin_29290863的博客 143

ngspice 的手册阅读笔记

通过阅读ngspice 的官方pdf版本的document做得笔记。 ngspice RUN source EX1.cir run plot v(5) CMD .TITLE line //Examples: POWER AMPLIFIER CIRCUIT * additional lines following *... Test of CAM cell * additional lines f...

True Truth 3019

RocketMq面板访问异常 com.alibaba.fastjson.JSONException: not close json text, token : string

rocketmq JSONException: not close json text, token : string 问题解决

qq_21067307的博客 5573

别再说Fortran过时了!手把手教你用VS Code + gfortran搭建现代开发环境(2024版)

本文打破Fortran过时的刻板印象,详细介绍如何利用VS Code和gfortran搭建现代开发环境。从编译器安装、VS Code插件配置到项目结构标准化,提供完整的2024版跨平台解决方案,并展示Fortran 2023标准的协程、并行计算等现代特性,助力科学计算与高性能开发。

weixin_42629815的博客 243

开源电子电路仿真资源:助力电子设计的利器

虽然Multisim和Proteus本身不是开源软件,但市场上有很多优秀的开源替代品可以满足不同的仿真和设计需求。Kicad和Qucs等软件在开源社区中非常活跃,拥有大量的用户支持和文档资源。

数字人生 2960

STM32与AD7606的SPI通信优化:提升高精度数据采集效率

本文深入探讨了STM32与AD7606的SPI通信优化策略,旨在提升高精度数据采集系统的效率与稳定性。文章从硬件连接、电源去耦、PCB布局等基础环节入手,详细解析了软件驱动中SPI模式配置、DMA应用及精准时序控制等关键优化技术,并提出了系统级的性能提升方案,帮助开发者解决高速采样下的数据跳动、效率瓶颈等实际问题。

weixin_29192211的博客 393

编译MobileVLC for iPad

VLC는 한번에 제대로 컴파일된 적이 없네요. iOS 버전은 최근에 작업중인지 그나마 덜 고생하고 컴파일 성공했습니다. 프로젝트들이 얽혀있어 분석이 쉽진 않겠네요. http://www.videolan.org/vlc/download-ios.html http://download.videolan.org/pub/videolan/testing/...

X in Action 249

微软登录OAuth 2.0授权流程

OAuth 2.0是一个关于授权的开放网络标准,它允许第三方应用获取用户数据,是目前最流行的授权机制。微软身份平台支持OAuth 2.0授权码流程,使得客户端应用程序能够获得对受保护资源(如网络API)的授权访问。这一流程在保障用户数据安全的前提下,实现了应用的便捷登录与数据共享。当用户在一个支持OAuth 2.0的应用上,希望使用微软账号进行登录时,OAuth 2.0授权流程即被触发。

qq_36569837的博客 4091

PICO G2 4K Unity开发环境配置完全指南

VR开发中,Android平台的硬件适配与Unity版本兼容性是基础性技术命题。PICO G2 4K作为基于骁龙845+Android 8.1的专用VR一体机,其开发链路高度依赖特定Unity LTS版本(2020.3.41f1)、NDK r21e及OpenJDK 11等工具链组合,本质是嵌入式Android VR Runtime与Unity IL2CPP ABI的深度对齐问题。该配置方案不仅解决ADB识别、APK签名、Logcat捕获等工程痛点,更支撑手柄6DoF追踪、射线交互、Haptic反馈等核心XR

weixin_30298497的博客 618

ASPICE SWE3之——C代码生成软件详细设计2 注释格式

Doxygen工具就提供了一种通过给代码注释的方式,导出详细设计文档,至于导出什么内容,主要取决于注释的内容。当然这里注释的格式是有要求的。 结合Doxygen注释格式的要求,以及ASPICE对详细设计内容的要求,制定此C代码注释规范。.........

gaoxuexidan0307的博客 1222

12、有杆泵抽油系统:原理、性能与选择

本文全面介绍了有杆泵抽油系统的原理、性能分析和设备选择方法。有杆泵抽油系统广泛应用于石油开采领域,通过地面抽油装置与井下柱塞泵的配合,实现高效、稳定的原油提升。文章详细解析了系统的工作原理、组成结构、光杆运动特性、载荷计算、泵输送能力及功率需求,并提供了抽油装置的选择流程和实际案例分析。此外,还探讨了泵的容积效率影响因素、示功图的作用及系统优化运行的建议,为石油开采工程提供了理论支持和实践指导。

gan8painter的博客 435

数模混合仿真

1.[求助] 请问怎么把DC综合之后的网表转换成spectre的网表,再跟其他模拟电路一起仿真呢 方法有好几种。 数字电路很小,在 Cadence CIW,File - Import - Verilog。 这样其实把Verilog netlist转成了原理图,在ADE里当成模拟电路仿真。 数字电路很大,不可能当成模拟电路仿真,就只能AMS,用现有的AMS设置,加上 -v 把库里标准元的Verilog model文件也装进来,和Verilog网表一起compile, elaborate 自建一个库,专门用来

Carol0630的博客 1万+

DICOM图像知识:深入详解DICOM的层级关系

解析DICOM的四个主要层级:Patient(患者)、Study(检查)、Series(序列)和SOP(服务-对象对),探讨它们之间的关系、各自的唯一标识符以及在实际应用中的用途

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 3305

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

SPICE 开源项目教程

SPICE 开源项目教程 项目介绍 SPICE(Semantic Parsing with Implicit and Explicit Links)是一个用于语义解析的开源项目,旨在通过隐式和显式链接来提高解析的准确性和效率。该项目由peteanderson80开发,主要应用于自然语言处理和语义理解领域。 项目快速启动 环境准备 首先,确保你已经安装了Python 3.6或更高版本。然后,克隆项目...

gitblog_01104的博客 588

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SPICE电路仿真(2)--电源

参考手册:ngspice26-manual(官网下载) 关于ngspice的介绍上一篇博文 SPICE电路仿真(1) 已经简单介绍了,并且给出了3个例子,这篇博文主要介绍电源部分,因为是每隔一段时间学一下,看英文帮助文档学的,为了不忘记所学就记录在博客上,顺道和大家一起分享,有错误之处也请指正。主要介绍4种电源,直接给出代码了,代码有详细注释(1)PulsePULSE SOURCE

ouening的博客 6142

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SPICE源码笔记

SPICE 源码笔记

qq_33190216的博客 2197

spice3编程手册下载:开启电子设计新篇章

spice3编程手册下载:开启电子设计新篇章 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在当今电子设计领域,spice3作为一款经典且强大的电路仿真工具,得到了广泛的认可和应用。为了让更多的电子工程师和爱好者深入了解并掌握spice3编程和应用,我们特别提供了一份全面的spice3编程手册下载资源。这份手册详细介绍了spice3的语法规则、使用方法和实际应用案例,...

gitblog_06780的博客 499

开源硬件电路总结

Gitee网站:

保持每天的清醒 557
上一篇: Python GUI编程各种实现的对比(转)
下一篇: C++与C语言混合编程
woodcol
博客等级 码龄19年 288粉丝 429原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值