Verilog

您所在的位置:网站首页 描写语言的语句 Verilog

Verilog

2024-07-17 07:38:01| 来源: 网络整理| 查看: 265

前言

由于前些天在进行毕设时,本人需要给某个器件建立一个电路模型,来使这个器件可以在Cadence IC中与电路进行联合仿真,因此学习了一些Verilog-A语言相关的知识,并成功的使用该语言建立了器件的模型。

在学习的过程中,本人主要参考的是OVI_VerilogA文档。但是在学习中本人发现,Verlog-A语言在语法上与普通的Verilog HDL差不多,仅仅是多了一些自己独特的语法罢了。然而在一开始的学习时,本人只顾着看文档,导致最终用了几天的时间才完成了Verilog-A的学习和建模工作。现在回想起来,感觉完全没有必要如此。因此想写一篇教程,如果读者有一定的电路基础知识,并且以前学过Verilog HDL,看了这个教程后因该很快就能入门。

1. 什么是Verilog-A

Verilog-A可以理解为一种使用Verilog的语法来描述模拟电路的行为的语言。

维基百科中对Verilog-A的解释:Verilog-A是一种针对模拟电路的工业标准模型语言,它是 Verilog-AMS的连续时间子集。Verilog-A被设计用来对Spectre电路仿真器(Spectre Circuit Simulator)的行为级描述进行标准化,以实现与VHDL(另一个IEEE标准支持的硬件描述语言)。它从其他语言(例如MAST)吸收了对模拟电路的支持。国际Verilog开放组织(Open Verilog International, OVI)支持 Verilog的标准化,使得Verilog-A作为整个Verilog-AMS计划的一部分,从而实现对模拟电路和数字电路设计的处理能力。Verilog-A是Verilog-AMS项目的最初阶段发展起来的。不过,Verilog的开发进展与Verilog-AMS延迟不同,而当时Verilog被纳入了IEEE 1364标准,这就使得Verilog-AMS被遗留给了Accellera公司。因此最初的单一语言标准的目标并没有实现。[1]2. 流量(flow)、势(potential)与参考节点(Reference nodes)

在一个保守场中,每个节点都有两个非常重要的特征参数,就是「流量(flow)」和「势(potential)」。对于任一节点来说,连接到每个节点上的所有端子的势相等,并且来自连接在这个节点上的所有终端上的流量之和必须为零。对于保守场来说,「分支(branch)」的概念也十分重要。每一个「分支」都有一个相应的「势」和一个对应的「流量」。而对于一个保守场,它的「参考节点(Reference nodes)」是一个人为规定的具有零的势的节点。其他节点的势都是相对于这个节点而言的。

在电学中,「流量」可以对应为电流(I),「势」可以对应为电压(V),「分支」在电路中可以对应成支路,而「参考节点」可以对应为接地点。而在电学中,每一条支路也都具有电流与电压参数。而对于任一节点上的两个规律在电学中就对应着基尔霍夫电压定律与电流定律(KCL, KVL)。Verilog-A中同样以基尔霍夫电学定律为基础。在Verilog-A的「保守系统(Conservative systems)」描述中,主要是通过定义支路,并将各个支路进行组合来完成对模拟电路的描述的。(此外Verilog-A还有「信号流系统(Signal-flow systems)」和「混合系统(Mixed systems)」描述,本文中不介绍)

3. 数据类型

Verilog-A中支持Verilog HDL中的整型(integer)、实数型(real)以及参数型(parameter)数据类型,同时还有一个比较常用的数据类型叫做 discipline,我也不太知道这个词该怎么翻译,也许可以叫做「约束」?它有点像某些面向对象的编程的语言中定义用来「类(class)」的关键字。

对于整型和实数型数据类型,它的使用方法和Verilog HDL很类似,例如:

integer num = 10; // 单个的整型变量 integer flag [7:0]; // 8个整数组成的数组 real pi = 3.1415926; // 单个的实数型变量

而对于discipline数据类型,我们可以用discipline关键字来定义一个叫electrical的「类」,然后这个「类」有两个「属性」,就是电压和电流。随后,我们就可以用electrical来定义一个「对象」,这个「对象」在电路中就相当于一个节点。而这个electrical「类」的定义,已经被包含进Verilog-A的头文件`include discipline.h中了。

因此在Verilog-A中,我们想要定义一个节点,导入头文件后就直接用electrical node_name;命令就好了,如:

electrical VINN, VINP, VOUT; // 定义VINN、VINP和VOUT三个电路节点

此外,Verilog-A中还有一种数据类型叫做「支路(branch)」,如果电路的拓扑结构比较明确时使用这个数据类型会让写程序变得更方便一些,但是不使用也没什么问题,因此把它放进折叠区块里面介绍,大家可以选择先不了解这个类型,等有需要了再了解或者看文档也不迟:

支路数据类型

「支路」是两个节点间的通路。通过branch命令可以创建一个支路,并赋予支路一个代称。创建好支路之后,就可以通过这个支路的代称,来获取该支路的电压和电流等模拟信号的信息(详见4.3)。一个支路需要有两个节点,如果只提供了一个节点,那么第二个节点会被默认为gnd。下面是一些用法示例:

electrical a, b; branch (a, b) res; //将a,b两个节点创建为一个支路,并称其为res parameter real R = 50; analog V(res)


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭