引言:写这个主要是觉得ads和candence软件比较麻烦,为了写veriloga模型基还要被各种软件操作困住是很无语的,我就被困了好久,写出来过程是省的别人和我一样花时间在无用的软件上。


ADS如何调用和编译va文件?

方法一:将veriloga文件载入元件中调用

Step1----在元器件中创建va文件,并且右键compile Verilog,显示如下图即为成功。注意,库文件和va文件的model名称需要保持一致。

`include "discipline.h"
`include "constants.h"module res(p,n);
inout p,n;
electrical p,n;
parameter real R=3;
analog beginV(p,n) <+ I(p,n)*R;end
endmodule

                      

出现这个图表示va编译成功了。

如果自己没写文件,可以查找ADS系统文件夹下的veriloga文件夹,里面有所有开源的va文件,也可以搜索Compact Model Coalition | Silicon Integration Initiative (si2.org)和Designer’s Guide Community :: Forum (designers-guide.org)

需要看文档的可以用谷歌(带翻译的)直接看在线的https://edadocs.software.keysight.com/display/ads2009/Using+Verilog-A+and+Verilog-AMS+in+Advanced+Design+System

Step2----在同位置处创建symbol文件(可以自己画,也可以先从ADS其他库中copy一个元件模型放进去改,进入insert-generate-symbol-copy-symbol name)

Step3---修改pin保持和va 的model中一致,否则会检索不到pin

Step4----在sysmbol界面打开design parameter,设置参数,一般是自动默认检索。

Step5----在原理图中调用时,需要注意,一定要选择用va模式进行仿真,否则会报错如下。

         

Step6----选择对应元器件,并在原理图中打开图标,将仿真媒介改为veriloga模式,然后器件就能仿真成功了。

方法二:在工作目录创建veriloga文件,并用model加载

它的原理是构建PDK时可以做veriloga的pcell,它调用时从模型库的系统出发直接检索veriloga文件夹下的器件,如果存在则可以作为器件模型替换内部的模型基,只不过它有一个缺陷,就是它的模型内的参数会复写面板上的参数,所以尽量选同类模型基替换。

Step1---在新创建的工程文件路径下建立一个文件夹,命名为veriloga,并将编译OK的va文件塞入文件夹中。

Step2---ADS自带的器件分两种模式,一种是端口引用,一种是网表表示。这里va文件的本质就是网表,所以只要载入一个端口相同的文件(最好是同系列的器件),然后用model进行引用即可,如下图。

Step3---忽略关于参数的警告,可以看到电容已经被我们复写成了电阻。但是一般建议用电阻模型,因为这样参数可以共用,方便调节R的大小。

Candence如何调用va?

这个没自己跑一边,看到一个ppt感觉有用,先存一下

step1---使用cell模型

step2--设置cell参数

step3---得到逻辑模型

step4--收敛验证

step5--看一下代码内容和结构,主要有6部分,定义端口,定义模型卡参数,定义变量;初始化模拟step,模拟行为模型建立,输出。

如果要是有测试的话,那就有专门的testbanch来进行测试,然后也可以组合成tree-child的va网络群。

ADS和candence如何调用veriloga文件并进行编译?相关推荐

  1. thinkphp 调用php文件上传,ThinkPHP实现带验证码的文件上传功能实例

    本文实例讲述了ThinkPHP实现带验证码的文件上传功能.分享给大家供大家参考.具体实现方法如下: ThinkPHP上传文件非常的简单我们只要调用一个文件上传类UploadFile就可以快速的实现上传 ...

  2. java jni调用dll文件_Java通过jni调用动态链接库

    (1)JNI简介 JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++).从Java1.1开始,JNI标准成为java ...

  3. python调用js库中的函数_Python 调用JS文件中的函数

    Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...

  4. Hadoop集群上使用JNI,调用资源文件

    hadoop是基于java的数据计算平台,引入第三方库,例如C语言实现的开发包将会大大增强数据分析的效率和能力. 通常在是用一些工具的时候都要用到一些配置文件.资源文件等.接下来,借一个例子来说明ha ...

  5. 关于java调用Dll文件的异常 %1 不是有效的 Win32 应用程序。

    关于java调用Dll文件的异常 %1 不是有效的 Win32 应用程序. 参考文章: (1)关于java调用Dll文件的异常 %1 不是有效的 Win32 应用程序. (2)https://www. ...

  6. docker-compose up volumes 调用外部文件,权限问题 cannot open directory xxxxx .: Permission denied

    今天在测试环境上用docker安装测试环境,在nginx 里面,调用外部文件,显示cant open xxx.conf问题. 解决问题思路: 1. 看到pressmission denied 就猜到最 ...

  7. python调用php命令行,python调用php函数 python怎样调用php文件中的函数详解

    前言 python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码.函数所需的参数可通过命令行传递. 测试环境 1. ...

  8. php python-浅谈php调用python文件

    关于PHP调用Python数据传输问题 这是以前大学时做项目出现的问题,现在把它挪上来,希望给遇到问题的未来大佬给出一些小的思路,请大佬们不要大意的帮我改正,如果出现问题或者有更好的解决方法,希望大家 ...

  9. python py生成及调用pyc文件

    本文仅供学习交流使用,如侵立删!demo下载见文末 python py文件中调用pyc文件 1.生成pyc文件 # 目录下所有py文件生成pyc import compileall compileal ...

最新文章

  1. Maya与Substance Painter风格化材质阴影和照明学习教程
  2. 本地html app跨域,本地webapp是怎么解决跨域问题的?
  3. 进阶学习(3.12) Operand Pattern 装饰器模式
  4. 光纤交换机按照级别可分为3种
  5. Spring @Import
  6. dropdownList级联刷新gridView
  7. ES6的开发环境搭建
  8. P1081 开车旅行
  9. 倒立摆:Simulink建模
  10. 海思3559a资料目录整理
  11. 简述网卡的作用和工作原理_简述网卡的主要功能
  12. 中国5级行政区域MySQL数据库库
  13. replacestate 后退刷新_关于如何禁止浏览器后退及刷新功能
  14. vhdl加法器和减法器_半减法器和全减法器的设计
  15. 哈哈哈~井字棋(无心版),快来初步感受一下代码世界的乐趣吧
  16. 【测试用例】文本框测试用例
  17. 学习C++:C++进阶(三)CMake基础篇---用一个小型项目了解CMake及环境构建
  18. Fiddler 学习笔记--Fiddler 教程
  19. mysql判断字段是否存在不存在添加字段_mysql 新增字段时判断字段是否存在
  20. HarmonyOS鸿蒙学习笔记(2)路由ohos.router的使用

热门文章

  1. 美创科技与星环科技大数据平台完成兼容互认证!
  2. 常用数学分析和建模软件
  3. 枚举进程:ring3-ring0
  4. 【人工智能哲学01/2】人工智能前世今生
  5. 电脑公司特别版XP系统 版本及MD5说明
  6. .net 多线程之线程取消
  7. 二进制反码求和java_简单又复杂的“整数类型”
  8. 美拍里的视频要去哪里批量保存到电脑上
  9. 买新不买旧?选购固态硬盘的几点建议
  10. 如何在MySQL中修改'max_questions'资源值?