马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
《Verilog-AMS Language Reference ManualVAMS-2023》是 Accellera Systems Initiative 于 2024 年发布的关于 Verilog-AMS 硬件描述语言的参考手册,主要定义了用于模拟和混合信号系统的行为语言,涵盖语言基础、数据类型、表达式、模拟行为、层次结构、混合信号处理等多方面内容。
- 引言:Verilog-AMS HDL 是基于 IEEE Std 1364 Verilog 发展而来,用于模拟和混合信号系统的硬件描述语言。它融合了数字和模拟建模能力,支持多种系统描述方式,能满足电气、机械等多学科设计需求。该语言具备诸多混合信号特性,如可在同一模块声明模拟和数字信号,提供统一的模拟和数字语义等。同时,介绍了系统相关概念,包括保守系统、信号流系统等,并阐述了文档的组织架构和约定。
- 词法约定:规定了 Verilog-AMS HDL 源文本中词法单元的类型,如空白字符、注释、操作符、数字、字符串、标识符和关键字等,以及它们的书写规则和语法意义。例如,整数常量可采用十进制、十六进制等多种格式表示,实数常量遵循 IEEE Std 754 标准 。
- 数据类型:支持多种数据类型,包括整数、实数、字符串、参数等,还引入了net_discipline类型用于模拟和混合信号仿真。详细说明了各数据类型的声明方式、取值范围、初始化规则以及相互之间的转换规则,如整数和实数的运算及转换、字符串的操作等 。
- 表达式:介绍了该语言中的操作符、操作数以及表达式的构成和使用方法。操作符涵盖算术、关系、逻辑等多种类型,具有不同的优先级和结合性。同时,描述了内置数学函数、信号访问函数和模拟操作符的使用,以及用户自定义函数的定义和调用规则 。
- 模拟行为:模拟行为通过模拟过程块来描述,包括模拟初始块和普通模拟块。其中定义了块语句、模拟信号的访问和操作方式,以及贡献语句、条件语句、循环语句和事件控制语句等在模拟行为中的应用,这些语句用于控制模拟信号的行为和状态变化 。
- 层次结构:支持模块的层次化设计,通过模块实例化实现不同模块间的嵌套和通信。提供了多种参数传递和覆盖方式,如defparam语句、模块实例参数赋值和paramsets等,方便对模块行为进行定制。同时,介绍了端口的定义、连接方式以及生成结构(generate constructs)在构建层次化模型中的作用 。
- 混合信号:详细阐述了模拟和数字信号在同一语言环境中的交互机制。包括不同域(连续域和离散域)之间信号和变量的访问方式,如在连续上下文中访问离散信号,在离散上下文中访问连续信号;以及事件的检测和处理,如离散事件在连续上下文中的检测,连续事件在离散上下文中的检测 。同时,介绍了连接模块(connect modules)在混合信号处理中的应用,包括其自动插入规则、端口方向和 disciplines 的匹配等,以确保模拟和数字部分的正确连接和交互 。
- 调度语义:描述了模拟仿真的基本周期,包括模拟仿真周期和混合信号仿真周期,以及数字引擎的调度语义。在模拟仿真周期中,涉及节点分析、瞬态分析和收敛等过程;混合信号仿真周期则包含电路初始化、混合信号 DC 分析、瞬态分析以及同步循环等步骤,确保模拟和数字部分在仿真过程中的协调工作 。
- 系统任务和函数:介绍了 Verilog-AMS HDL 中的系统任务和函数,这些任务和函数用于实现各种功能,如显示任务、文件输入输出任务、仿真控制任务等。它们为设计人员提供了在仿真过程中进行数据输出、文件操作、仿真控制以及获取系统信息等能力 。
- 编译器指令:定义了一系列编译器指令,如default_discipline用于指定默认的离散规则,define和undef用于宏定义和取消宏定义等。这些指令在编译过程中发挥作用,可用于控制编译行为,如设置默认规则、定义常量等 。
- 使用 VPI 例程:介绍了 VPI(Verilog Procedural Interface)接口的使用,包括 VPI 回调函数、对 Verilog-AMS HDL 对象和仿真对象的访问,以及错误处理等内容。VPI 例程为用户提供了在设计和仿真过程中与外部程序进行交互......
|