【HSPCIE仿真】输入网表文件(1)基本内容和基本规则

输入网表文件

  • 1. 输入网表文件基本内容
  • 2. 输入网表文件示例
  • 3. 一些基本规则
  • 4. 数值表示
  • 5. 压缩文件格式的读取
  • 6. 参数和表达式

从HSPICE的仿真流程看,出去初始化配置过程,真正的仿真是从输入网表文件开始的。

HSPICE 根据输入网表文件( input netlist file )运算并产生仿真结果,仿真结果存储在输出列表文件或图形数据文件之中。

1. 输入网表文件基本内容

输入网表文件的名称为 design.sp,其包含的内容如下:

  • Design netlist (subcircuits, macros, power supplies, and so on)(设计网表)
  • Statement naming the library to use (optional)(所用到的库)
  • Specifies the type of analysis to run (optional)(所执行分析的类型)
  • Specifies the type of output desired (optional)(期望的输出)

一个简单的示例如下:

在这里插入图片描述

一般情况下,输入网表文件包含如下内容:

在这里插入图片描述

  1. 标题语句:放在代码的第一行,通常情况下代码的第一行在执行时会被忽略,所以这一行可以是文件名,或者是对文件内容的简单描述。
  2. 电源和信号源描述语句:指明电路中使用的电源和信号源的类型、连接关系和参数
  3. 元器件描述语句(电路描述语句):指明电路中元器件的类型和它们之间的链接关系,以及元器件参数和模型参数等
  4. 仿真类型语句:指明进行什么类型的仿真分析,如直流、交流、瞬态分析等
  5. 模型语句:指明元器件采用的模型,可以调用已有模型,也可以在代码中自己定义。
  6. 结束语句.end 位于代码的最后一行,表示代码结束。

不同内容对应的一些指令如下:

在这里插入图片描述
在这里插入图片描述

2. 输入网表文件示例

这里给出了一个简单输入网表文件的示例。

如果你想对一个简单的反相器进行进行仿真,测量其时序行为,你需要在在输入网表文件中描述以下内容:

在这里插入图片描述
定义好上述内容之后,可以使用瞬态分析,然后生成输入、输出端口的波形数据。

最终的输入王网表文件的内容如下:

* Sample inverter circuit
* **** MOS models *****
.MODEL n1 NMOS LEVEL=3 THETA=0.4 ...
.MODEL p1 PMOS LEVEL=3 ...
* ***** Define power supplies and sources *****
VDD VDD 0 5
VPULSE VIN 0 PULSE 0 5 2N 2N 2N 98N 200N
VGND GND 0 0
* ***** Actual circuit topology *****
M1 VOUT VIN VDD VDD p1
M2 VOUT VIN GND GND n1
* ***** Analysis statement *****
.TRAN 1n 300n
* ***** Output control statements *****
.OPTION POST PROBE
.PROBE V(VIN) V(VOUT)
.END

3. 一些基本规则

  1. 输入文件的第一行无论内容是什么,总是会被工具认为是标题行,工具会在每一个输出文件中打印该行内容。第一行的任何内容都不会作为仿真内容,如果没有标题,就要空出来。

  2. 输入文件支持 .gzip 格式,文件中的.inc, .lib , .load也支持这种格式。

  3. 输入网表中的指令顺序可随意,最后一定要以 .end 结尾,否则会报错。

  4. 默认情况下,行指令不区分大小写,但是.INC.LIB 跟的路径有大小写之分的。如果想要开启大小写敏感,可以在启动HSPCIE的时候使用-case 1选项,如下:

% hspice -case 1 -i design.sp -o design.lis

大小写敏感作用在以下内容:

在这里插入图片描述

  1. 注释有两种,以 * 开始的一整行都为注释内容,跟在某一个命令行后面的注释可以使用 $

  2. 续行有两种情况,如下所示,使用+或者是\\

*** continuation is between tokens ***
R1 1 0
+ R='res1-res2'*** string continuation ***
R6 4 0 R='res1-\\ 
res2'
R5 4 0 R='res1- \\
res2'
*** token continuation ***
R4 node1 no\\
de2 R= 'res1-res2'

4. 数值表示

HSPICE 中的数值可以是整数或浮点数,浮点数后面可以跟一个整数类型的指数。
整数和浮点数后面都可以跟一个缩放因子,

在这里插入图片描述

  1. 如果想要定义指数,也可以用两个 **,比如 2的5次方可以写成:2**5

5. 压缩文件格式的读取

6. 参数和表达式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/53964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【80天学习完《深入理解计算机系统》】第十一天 3.4 跳转指令

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

深度学习7:生成对抗网络 – Generative Adversarial Networks | GAN

生成对抗网络 – GAN 是最近2年很热门的一种无监督算法,他能生成出非常逼真的照片,图像甚至视频。我们手机里的照片处理软件中就会使用到它。 目录 生成对抗网络 GAN 的基本原理 大白话版本 非大白话版本 第一阶段:固定「判别器D」&#x…

element-ui:Vue开发者的最佳伙伴

如果你是一个使用Vue框架开发网页应用的开发者,那么你一定不会想错过element-ui这个优秀的UI组件库。element-ui为你提供了一套完善的设计规范和丰富的组件示例,让你可以快速地构建出美观、高效和易用的页面。在这篇博客中,我将介绍element-u…

基于poi生成excel模板并生成下拉选择框

直接上代码&#xff08;有注释&#xff09; public void downloadImportTemplate(HttpServletResponse response) {try {ServletOutputStream outputStream response.getOutputStream();//创建工作表XSSFWorkbook workbook new XSSFWorkbook();//标题行的标题List<String…

CSS 对象模型

定义&#xff1a; CSS对象模型是一组允许用JavaScript操纵CSS的API&#xff0c;他很像DOM&#xff0c;但针对的是CSS而不是HTML。它允许用户动态地读取和修改CSS样式 CSS的值是没有类型的&#xff0c;也就是使用String对象来表示 下面列一些常用的API 对象&#xff1a; 1. C…

设计模式-适配器模式

核心思想 见名知意&#xff0c;是作为两个不兼容的接口的桥梁&#xff0c;属于结构型模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作 常见的几类适配器 类的适配器模式 想将一个类转换成满足另外一个新接口的类时&#xff0c;可以使用类的适配器模式&#x…

springCloudGateway网关配置

1.配置跨域支持 /*** 跨域支持*/ Configuration public class CorsConfig {Beanpublic CorsWebFilter corsFilter() {CorsConfiguration config new CorsConfiguration();config.addAllowedMethod("*");config.addAllowedOrigin("*");config.addAllowedH…

基于CH552G主控的开源九键小键盘(资料齐全)

Content 1. 前言2. CH55X Arduino平台环境搭建2.1 常规安装2.2 HFS挂载本地服务器安装 3. 例程使用3.1 工程下载及编译3.2 程序烧录 1. 前言 芯片选型&#xff1a;CH552G 本文主要解决Arduino下CH552G芯片包的环境配置问题 开源地址&#xff1a;CV键盘有线小键盘 - 嘉立创ED…

一分钟学会用pygame制作棋盘背景

一分钟一个Pygame案例&#xff0c;这一集我们来学习一下如何生成一个视频中的棋盘背景效果&#xff0c;非常非常简单。 视频教程链接&#xff1a;https://www.bilibili.com/video/BV17G411d7Ah/ 当然我们这里是用来做页面的背景&#xff0c;你也可以拿来做别的效果&#xff0…

fdm-cli,一个致力于管理项目初始化模板的工具脚手架

希望各位可以了解fdm-cli&#xff0c;并在合适的时候尝试使用一下。 阅读本文你将获得 一个&#xff08;好用的&#xff09;项目模板初始化工具这个&#xff08;好用的&#xff09;工具的使用方法给作者点一个 star 的机会 一、不愿再复制粘贴 小N每次在写项目的时候&#x…

vmware禁用内存交换,减少磁盘占用

1、全局禁用交换内存 选择VMware菜单&#xff1a;编辑–>首选项–>内存&#xff0c;选取第一项“调整所有虚拟机内存使其适应预留的主机RAM&#xff08;F&#xff09;”。 设置后虚拟机只使用主机内存&#xff0c;不会读硬盘&#xff08;不使用类似交换文件的形式&#…

php curl apache 超时 500错误

web请求超过40s 就返回500错误 php的超时时间 set_time_limit无效 curl CURLOPT_TIMEOUT 设置请求时间 无效 设置apache Timeout 链接超时 无效 最后添加 Fcgid才可以 apache 配置文件 httpd.conf <IfModule mod_fcgid.c>FcgidProcessLifeTime 10000FcgidIOTimeout 1000…

JVM及垃圾回收机制

文章目录 1、JVM组成&#xff1f;各部分作用&#xff1f;1.1 类加载器&#xff08;Class Loaders&#xff09;1.2 运行时数据区&#xff08;Runtime Data Area&#xff09;1.3 执行引擎&#xff08;Execution Engine&#xff09;1.4 本地方法接口&#xff08;Native Interface&…

百度Apollo学习心得:探索自动驾驶技术的前沿之旅

文章目录 前言一、理论学习与实践结合二、多方资源的整合利用三、团队合作与交流分享四、持续学习与创新思维总结 前言 百度Apollo是一项引领自动驾驶技术发展的开放平台&#xff0c;通过深度学习、感知与决策、定位与控制等关键技术&#xff0c;为开发者提供了丰富的工具和资…

按钮权限控制

搜索关键字&#xff1a; 自定义指令传参| "自定义指令""dataset"|自定义指令dataset| "Vue""directives"|vue按钮权限实现 1、完整代码&#xff1a; <template> <div> <el-breadcrumb separator-class"el-icon…

淘宝免费爬虫数据 商品详情数据 商品销售额销量API

场景&#xff1a;一个宽敞明亮的办公室&#xff0c;一位公司高管坐在办公桌前。 高管&#xff08;自言自语&#xff09;&#xff1a;淘宝&#xff0c;这个平台上商品真是琳琅满目&#xff0c;应该有不少销售数据吧。我该怎么利用这些数据呢&#xff1f; 突然&#xff0c;房间…

Oracle跨库访问DBLINK

1. DBLINK的介绍 Oracle在进行跨库访问时&#xff0c;可以创建DBLINK实现&#xff0c;比如要将UAT的表数据灌入开发环境&#xff0c;则可以使用UAT库为数据源&#xff0c;通过DBLINK实现将查出的数据灌入开发库。 简而言之就是在当前数据库中访问另一个数据库中的表中的数据 2…

github gitee go开发 热门开源工具包

目录 高性能go开发建议测试系统字符串flag日志reflect文件IOmath数字runtime远程调用限流注册中心链路跟踪监控日期时间Decimal配置缓存异常开发工具包调试工具分布式调度Json网络net/httphttp clientwebsocketpinguser_agent 并发sync 异步channelcontext异步并发 数据库 存储…

P1052 [NOIP2005 提高组] 过河

[P1052 NOIP2005 提高组] 过河 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 问题描述&#xff1a;给定长度L&#xff0c;和一次可以跳动的长度 s 到 t&#xff0c;给定m个石头的位置&#xff0c;求最少经过多少个石头可以超过L。 思路&#xff1a;如果L很小的话&#xff0…

js中作用域的理解?

1.作用域 作用域&#xff0c;即变量(变量作用域又称上下文)和函数生效(能被访问)的区域或集合 换句话说&#xff0c;作用域决定了代码区块中变量和其他资源的可见性 举个例子 function myFunction() {let inVariable "函数内部变量"; } myFunction();//要先执行这…