129|0

435

帖子

1

资源

一粒金砂(高级)

Verilog – AMS 语法解析(1)电阻 [复制链接]

 

在使用SIMpiles时候会用到一些Verilog A的代码,这个系列相当于LTspice的Sub circuit 系列。希望能帮助大家更快的完成工作有时间整点活。

本期解析代码如下

module hello_world ;

analog

begin

@(initial_step)

$strobe("Hello World!") ;

end

endmodule

参考代码1

181553ksxq6ibdug5662hi.png

图1:参考代码1

第一行

代表定义一个模块,模块名称为hello_world

 

最后一行

代表结束这个模块的定义

 

第三行和第六行代表

这个执行顺序是按照顺序来执行的,先执行第4行在执行第五行

而initial_step则表示下面的代码只在分析一开始的时侯运算,不会每次都运算

 

第二行

Analog 关键字引入了模拟的运算过程,代表这个信号始终是连续的在Hello world的这个例程里面并没有太大感觉。

 

第五行

$strobe(“hello world”);其实相当于C语言的Printf

 

 

`include "disciplines.vams"

module resistor (p, n);

parameter real r=0; // resistance (Ohms)

inout p, n;

electrical p, n;

analog

V(p,n) <+ r* I(p,n);

endmodule

 

 

参考代码2

181553tbx4ddad7dm24mge.png

图2:参考代码2

因为Verilog A 不止用于描述电路也能描述其他东西,这里的disciplines.vams 代表一个头文件,和C语言的头文件是一个意思,里面已经实现了一些功能模块

第2行和Verilog 一样他也有输入输出端口,在这里p 和n是他的端口,在这里这个端口是inout型代表他们又是输入又是输出。

防自动大写electrical p,n代表p,n是电气相关的端口,意味着这个端口的输入的是电压/电流信号

防自动大写 analog 代表以下的表达式是表述模拟信号的,就是表示下面的表达式是连续变化的。

以下引用:THE DESIGNER’S GUIDE TO VERILOG-AMS

“模拟关键字引入了模拟过程。模拟过程用于描述连续时间行为。从句法上讲,它是一个模拟关键字,后跟一个描述信号之间关系的语句。这种关系在任何时候都必须是真实的。在这种情况下,定义端口信号之间关系的语句是贡献语句。贡献语句采用贡献运算符左侧的分支信号的形式,“<+”,然后是右侧的表达式 。”

<+ 的意思可能表示的是两边的代码在任何时刻都是相等的,可以从左到右也可以从右到左,具体我们到时候可以将电阻的Verilog A 模块开始去观察其变化。

另提一嘴,在Verilog A 里面 parameter 有两种类型,一种是integral另外一种是real,real用于给这些电路器件参数。

在描述p,n的电压电流关系时候和LTspice要看 a,b的电压是一样的,只需要描述成V(a,b)即可,电流的关系式也是一样的。

参考文档

THE DESIGNER’S GUIDE TO VERILOG-AMS

SIMetrix Verilog A Manual

此帖出自模拟电子论坛
个人签名

希望做一些大家觉得好用的东西!


回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表