数模混合信号建模语言Verilog-AMS

article/2025/10/19 13:52:09

5d5fe81cb52c796ec85a6cea9b4895a3.png

混合信号建模语言Verilog-AMS

很多人做模拟电路的朋友,都希望有一款“模拟FPGA”,希望有一个“模拟的Verilog”,但现实是没有“模拟的Verilog”只有混合信号建模语言-Verilog-AMS,今天就简单介绍一下-Verilog-AMS。

为了便于物理系统的建模,人们在Verilog-2005的基础上,添加了一些新的关键字和语法结构,由此诞生了Verilog-AMS标准。所以Verilog-AMS是Verilog-2005的一个超集。换言之,Verilog-2005又是Verilog-AMS的子集。这里还有一个Verilog-A,具体三者关系如下:

1524ee3dd2345b0cc028ada156345756.png ec2f7d95e90603881165da50741eb4c3.png

该标准定义了标准的Verilog仿真器和模拟解算器之间的互动。而且,Verilog-AMS语言从诞生开始,就是为常用的物理系统的建模,而不仅是为电路网络的建模而创造的。

Verilog-AMS基础

Verilog-AMS引入了一些重要的新概念。其中最重要的新概念可以总结为两个关键字:discipline和nature。在“标准”的Verilog中net(线网)类型表示的只是具体的物理连接线路。在显示仿真的结果时,可以观察到在一段时间里这条线路的状态变化。因此,net 有两个含义:具体的物理连接和时间历史。电路节点表示两个或更多个元件连接在一起的那个点。然而,不能讨论该节点本身的行为,除非指定讨论的对象是该节点的电压或流过该节点的电流,以及其他方面。

为了对具体的物理连接和行为进行区别,Verilog-AMS引入了新的关键字。在模型中,节点上的电压或者电流用关键字nature声明。在举例说明之前,必须先解释一下nature和节点之间是怎样相互关联的。

节点和网络类型有着密切的关联。例如,电路节点归属于电路网络,磁节点归属于磁网络。各种网络的行为都可以用关键字nature(性质)来描述。例如,电路网络的行为可以用电压和电流来描述;而磁网络的行为可以用磁动势和磁通量来描述。每一类型的网络 都有自身的一对性质。这一对性质可以描述为flow(流性质)和potential(势性质)。例如,在电路网络中,电流通过元件从网络的一个节点流到另一个节点;此刻,也可以测量元件两端的电动势。每一类型的网络都具有一对这样的流性质和势性质。(请注意,也可 以按照与传统思路完全相反的概念来定义这个电网络,即在该电网络中,定义电流具有势性质,电压具有流性质。从数学角度来定义性质,无论传统的或相反的定义都是可接受的。然而,在电网络中,接受符合传统约定的性质定义比较容易。而在其他类型的网络中,确 定究竟哪个物理量为势性质,哪个物理量为流性质可能不那么清楚。)

在某特定网络节点性质的定义中,事实上定义了该网络的流性质和势性质。因此,只声明某个线网是一个特定的Verilog类型的线网是不够的,所以必须添加一种新结构,即discipline(规则)来描述该线网。规则由两个部分组成:势性质和流性质。此外,domain(域)可以声明为连续的continuous)或者离散的discrete)。在默认情况下,规则是连续的。

电路规则可以用如下语句声明:

discipline electricalpotential Voltage;flow Current;
enddiscipline

与别处-样,代码段中的关键字用粗字体表示。代码段中的Voltage(电压)和Current(电流)是什么?我们知道potential(势)和flow(流)这两部分都是natures(性质),所以Voltage和Current一定是natures。

nature Voltageunits="V";access = V;idt_nature = Flux;abstol = le-6;
endnaturenature Currentunits="A";access Iidt_nature = Charge;abstol = le-12;endnature

这两个性质声明块的内容都由四条语句组成,但并非每条语句都是必需的。第1条语句units列出了用于表示该性质的符号。Verilog-AMS语言不执行维度分析,所以这条语句只是提供可读性而已。第2条语句中的access给出了访问功能。由于第2条语句中存在access,所以在代码段中,V(nodel)表示引用节点1的电压。第3条语句中的idt_nature表示等号后的物理量具有时间积分的性质。也可以用ddt_nature来表示等号后的物理量具有时间导数的性质。但在这种场合,Flux(通量)和Charge(电荷)应该在别处声明。最后一条语句中的关键字abstol表示允许的绝对误差,这条语句定义了性质块声明的变量在计算过程中的精确度。

在下面的例子中,假设在文件disciplines.vams中包含一些电规则的定义。每个模块的开头都包括该规则定义文件。现在就可以用该文件中定义的电规则来定义一个或者多个节点。

electrical nodel,node2;

我们可以用与定义线网或端口完全相同的方法在模块中定义节点。在端口声明时,必须声明端口的方向为inout(输入/输岀双向端口)类型。例如,下面的代码段声明了一个电阻模块:

'include "disciplines.vams";
module resistor (nodel , node2 );
inout nodel, node2;
electrical nodel, node2;
parameter real R = 1;

写到这里,只是创建了物理节点。可以用I(nodel,node2)表示在这两个节点之间流动的电流;也可以声明一个或多个支路。两个节点之间的支路可以用下面的语句声明:

branch (nodel,node2) res;

所以,现在还可以用I(res)来表示流经电阻的电流。

每个流经物理量的计算基准点就是所谓的参考节点。在电路网络中,该参考节点通常称为地线或者接地点。在Verilog-AMS模型中,通常用下面的语句来表示接地点:公众号:OpenFPGA

ground gnd;

作用语句

作用语句(contrihution statement)用于定义模拟模型的线路方程。在作用语句中,使用符号“<+”来表示表达式如何作用于某线路方程组。请注意,“<+”不是传统意义上的赋值操作符,而是对同一个流或者势的多个作用的总和。

因此,作用语句是由模拟仿真器求解的联立方程。作用语句必须放在模拟过程块之中。为了说明作用语句,我们编写了一个电阻器的完整模型:

'include "disciplines.vams"
module resistor (nodel, node2 );inout nodel , node2;electrical nodel, node2;parameter real R = 1;branch (nodel, node2) res;analog beginI(res) <+ V(res)/R ;
endendmodule

可以用类似的方法为其他元件建模。例如,下面的代码段是一个电容器的Verilog-AMS模型:

'include "disciplines.vams"
module capacitor (nodel, node2);inout nodel, node2;electrical nodel, node2;parameter real C = 1;branch (nodel , node2) cap;analog beginI(cap) <+ C*ddt(V(cap));
end
endmodule

上面程序中的ddt是一个求导函数。其功能是求出电容两端电压的变化率,即求电压的微分。而下面语句中的idt是一个积分函数,其功能是计算其后面变量(流经电容的电流)的积分。由于作用语句是代数表达式而不是赋值操作,所以可以用以下方程来表示电容电压:

V(cap) < + idt ( I(cap))/C;

在结束这些基本模型的讨论之前,让我们先考虑一个产生正弦波形的纯电压源,以后需要把这个电压源模型作为基础元件来描述DAC。

'include "constants.vams"
'include "disciplines.vams"
module vsin(a,b);inout a, b;electrical a,b;branch(a,b) vs;parameter real vo = 1;
parameter real va = 1;
parameter real freq = 1;analog beginV(vs) <+ vo + va * sin('M_TWO_PI*freq*$abstime);
end
endmodule

在文件constants.vams中,定义了许多有用的参数,其中包括M_TWO_PI(即2倍的圆周率—2π),$表示当前的仿真时间,这个系统任务类似于标准的语言中调用仿真时间的系统任务time,但是$abstime返回的是一个实型数。

混合信号建模

Verilog-AMS是一种混合信号建模语言,所以我们可以把模拟结构和数字结构写在同一个模块中。下面编写一个简单比较器的模型。该比较器可以对两个模拟电压信号进行比较,把比较结果转换为1比特的数字信号。当第1个输人信号比第2个大时,比较器输出逻辑1,否则输出逻辑0。该比较器的Verilog-AMS模型如下:

"include "disciplines.vams"
module comp(Aplus, Aminus, Dout);inout Aplus, Aminus;electrical Aplus, Aminus;output Dout;reg Dout;
initialbeginDout = l'bl;foreverbegin@(cross(V(Aplus, Aminus), -1)) Dout = 1'bO;@(cross(V(Aplus, Aminus) , +1)) Dout = l'bl;
end
end
endmodule

这个模块有三个端口,其中两个是电路节点,另一个是数字输出端口。在模块体中,必须能检测到其中一个模拟电压大于或小于另一个模拟电压的时刻,根据比较的结果,对开关进行相应的操作,输出逻辑1或者0。这个比较器当然可以用一个简单的比较操作符这个模块有三个端口,其中两个是电路节点,另一个是数字输出端口。在模块体中,必须能检测到其中一个模拟电压大于或小于另一个模拟电压的时刻,根据比较的结果,对开关进行相应的操作,输出逻辑1或者0。这个比较器当然可以用一个简单的比较操作符来表示,但是在这里用cross函数来表示更好一些。当表达式越过0时,立即产生一个数字信号事件。在cross函数中的第2个参数是用来表示方向的,只有从一个方向越过0才能触发事件,+1表示正方向,-1表示负方向,而0或不指定参数,则表示有两个方向。然而cross函数并不触发初始条件事件。因此,编写一个初始化块,先给Dout赋一个初始值,然后检测输入的模拟电压的上升或下降是否越过0,一旦越过,立即触发事件,根据越过0的方向,切换Dout的逻辑值为1或0。公众号:OpenFPGA

Verilog-AMS仿真器

ADC、DAC和PLL的混合信号模型是否可以完全用标准的Venlog语言来建模,可能还有争论。实际上,在这些模型中只有极少量的行为必须用模拟解算器才行。Verilog-AMS真正强大的功能在于允许在Verilog数字模型仿真的同时,进行模拟电路的仿真,而传统的模拟电路仿真必须使用SPICE软件才行。我们可以把SPICE的网表添加到Verilog-AMS的仿真库中。

目前,有许多仿真器支持多种语言的仿真。因此,组成系统模型的子模块可以用Verilog、SystemVerilog、Verilog-AMS、SPICE、VHDL、VHDL-AMS和SystemC等多种语言来编写。

总结

数字电路必须与真实的模拟世界接口,这个接口及与模拟元件的相互作用的建模总是十分困难的。Verilog-AMS扩展了Verilog功能,允许模拟和混合信号建模。典型的转换器包括阶梯型DAC、快闪型ADC和PLL。所有这些元件都可以用Verilog-AMS建模和仿真。目前从这些无件的行为模型还不能自动综合出元件的物理构造,由于rilog-AMS仿真器还是-个相对较新的事物,所以个別Venlog-AMS语法得不到Verilog-AMS仿真器的支持是很冇吋能的。这些仿真器确实提供了SPICE模型与Verilog-AMS之间进行接口的手段,从而允许完整系统的建模。

目前,国内对Verilog-A/Verilog-AMS研究很少,希望借此文章让更多人了解Verilog-A/Verilog-AMS,在未来可能有更大的用途。

资料推荐

本人对这方面研究有限,这里推荐大家一些资料以便进行研究。

Verilog- ams是Verilog标准的模拟混合信号版本。在开放Verilog国际(OVI)下进行标准化。开发的第一阶段是Verilog-A,描述模拟电路所必需的一组连续时间构造。这是基于SPICE的语言。Verilog-A并不打算直接与Verilog-HDL一起工作。相反,它是一种具有类似语法和相关语义的语言,旨在为模拟系统建模,并与板级电路仿真引擎兼容。公众号:OpenFPGA

Verilog-A在1996年被OVI标准化,Verilog-AMS 1.3在1998年发布。版本2.0在2000年完成,所有的后续工作都在Accellera内完成。Verilog-AMS的上一个版本是2.4,发布于2014年,基于IEEE 1364-2005。这将是它的最后一个版本,因为从那时起,Verilog已经被SystemVerilog取代。模拟扩展从来没有交给过IEEE。

工作组目前正在努力使Verilog-AMS与IEEE 1800的SystemVerilog工作保持一致,或者在新的“SystemVerilog-AMS”标准中包含AMS能力。此外,工作正在进行中,重点关注社区要求的新功能和增强,以改进混合信号设计和验证,以及通过小组委员会将SystemVerilog断言扩展到模拟和混合信号设计。

一、原文目录

Overview https://verilogams.com/refman/overview.html

Systems

Signals

Basics https://verilogams.com/refman/basics/index.html

Comments

Identifiers

Keywords

Compiler Directives

Numbers

String Literals

Array Literals

Wires

Branches

Natures and Disciplines

Variables

Expressions

Modules https://verilogams.com/refman/modules/index.html

Ports

Parameters

Declarations

Continuous Assigns

Initial and Always Processes

Analog Processes

Instantiation

二、Verilog-AMS学习资源

Verilog-AMS是一种硬件描述语言,可以对模拟和数字系统进行建模。Verilog-AMS语言的官方描述包含在Verilog-AMS语言参考手册中。本网站旨在成为你的Verilog-A和Verilog-AMS的快速参考指南。在这一点上,参考资料还不完整,但仍然很有用。随着时间的推移,参考材料应该填写并补充有用的应用注释和注释模型,这将帮助您学习更有效地使用Verilog-A/MS。重点是模拟和混合信号建模。

如果您正在寻找关于综合或Verilog语言的模糊角落的信息,您必须到别处寻找。我们的目标是使www.VerilogAMS.com成为您关于Verilog-A/MS的日常信息来源。请四处看看,并告诉你的朋友和同事。如果你有关于Verilog-AMS的问题,请在designers-guide.org的论坛上问他们。

[Link https://verilogams.com/index.html

[Verilog-AMS Quick Reference https://verilogams.com/quickref/index.html

[The Verilog-AMS Language https://verilogams.com/refman/index.html

[Verilog-AMS Tutorials https://verilogams.com/tutorials/index.html

[Glossary https://verilogams.com/glossary.html#glossary

[Index https://verilogams.com/genindex.html

[Search https://verilogams.com/search.html

阅读原文,有链接

796f0146352c86e748e7b478a289590d.gif

NOW

学习Xilinx FPGA最好的资料其实就是官方手册,下表总结了部分手册的主要介绍内容,关注我,持续更新中......

文件名主标题内容简单介绍是否有中文版
UG4767 Series FPGAs GTX/GTH  TransceiversGTX和GTH介绍,PCIe、serdes等学习必备
UG4717 Series FPGAs SelectIO Resources描述 7 系列 FPGA 中可用的 SelectIO资源。
UG1114PetaLinux Tools DocumentatonPetaLinux 工具文档 参考指南是,V2019.2
UG949UltraFAST 设计方法指南(适用于 Vivado  Design Suite)赛灵思® UltraFast™  设计方法是用于为当今器件优化设计进程的一套最佳实践。这些设计的规模与复杂性需要执行特定的步骤与设计任务,从而确保设计每一个阶段的成功开展。依照这些步骤,并遵循最佳实践,将帮助您以最快的速度和最高的效率实现期望的设计目标是,V2018.1
IP手册pg057FIFO GeneratorFIFO生成器IP使用手册
pg104Complex Multiplier复数乘法器IP使用手册
pg122RAM-Based Shift Register 移位寄存器IP使用手册

d789ad9a6854ab64dc6db23f72385e7b.png

推荐阅读

【Vivado那些事】如何查找官网例程及如何使用官网例程

【Vivado使用误区与进阶】总结篇

【Vivado那些事】Vivado中常用的快捷键(二)其他常用快捷键

SystemVerilog数字系统设计_夏宇闻 PDF

图书推荐|ARM Cortex-M0 全可编程SoC原理及实现

简谈:如何学习FPGA

1202年了,还在使用虚拟机吗?Win10安装Ubuntu子系统及图形化界面详细教程

Github 上有哪些优秀的 VHDL/Verilog/FPGA 项目

AD936x+ZYNQ搭建收音机(一)

AD936x+ZYNQ搭建OpenWIFI

无招胜有招-Vivado非工程模式下的详细设计

面试中经常会遇到的FPGA基本概念,你会几个?

Xilinx FPGA MIPI 接口简单说明

Vivado ML(机器学习) 2021尝鲜

推荐一些可以获取免费的国外的原版书籍(电子版)网站

【Vivado那些事】FPGA的配置方式

FPGA 的重构

浅析FPGA局部动态可重构技术

ISP(图像信号处理)算法概述、工作原理、架构、处理流程

国产CPU概括

从电子游戏历史看IC发展的助推剂

80年代电子游戏及电脑游戏的发展历史

PCIe总线的基础知识

万字长文带你回顾电子游戏的七十多年历史(完整版)

FPGA中异步复位,同步释放的理解

OpenFPGA系列文章总结

用Verilog设计一个16 位 RISC 处理器

介绍一些新手入门FPGA的优秀网站(新增)

Verilog数字系统基础设计-CRC

FPGA 的布局规划艺术

Verilog数字系统基础设计-奇偶校验

建立和保持时间及时序简单理解

(Xilinx)FPGA中LVDS差分高速传输的实现

Xilinx Multiboot实例演示

高速串行通信常用的编码方式-8b/10b编码/解码
Verilog计时(微秒、毫秒和秒)脉冲的产生及同步整形电路

再说System Verilog 与 Verilog 的关系

图书推荐|一本图像/视频处理的强大工具书

Verilog HDL-同步技术

 


http://chatgpt.dhexx.cn/article/DbBx6eaL.shtml

相关文章

Java入门-Java语言概述

1、Java语言基本概述 1.1、什么是计算机编程语言 人与人之间是如何沟通的呢&#xff1f;从小父母就教会我们说话&#xff0c;在长期的熏陶和自我学习中&#xff0c;我们就学会了普通话&#xff0c;学会了表达自己的需求&#xff0c;父母收到我们的信号或者听到我们的要求也会尽…

Python 批量下载BiliBili视频 打包成软件

文章目录 一、项目概述1.项目背景2.环境配置下载ffmpeg设置环境变量 二、项目实施1.导入需要的库2.设置请求参数3.基本处理4.下载视频5.视频和音频合并成完整的视频6.3种下载方式的分别实现7.主函数 三、项目分析和说明1.结果测试改进说明2.软件打包3.改进分析4.合法性说明 如有…

Java 之父 James Gosling 最新访谈:JIT 很好,但不适合所有语言

计算机编程确实是一门艺术。 James Gosling&#xff0c;“Java 之父”, 完成了 Java 的原始设计&#xff0c;并实现了 Java 最初版本的编译器和虚拟机。 90年代初&#xff0c;James Gosling和一群技术人员合作“绿色计划”&#xff0c;创建了一个名为Oak的项目&#xff0c;旨在…

Python语言概述及其运行机制详解

即日起&#xff0c;我们将打开一个新的编程世界的大门——Python语言。Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言&#xff0c;最初被设计用于编写自动化脚本(shell)&#xff0c;随着版本的不断更新和语言新功能的添加&#xff0c;越来越多被用于独…

go语言开发环境搭建

Go 是一个开源的编程语言&#xff0c;它能让构造简单、可靠且高效的软件变得容易。 Go语言专门针对多处理器系统应用程序的编程进行了优化&#xff0c;使用Go编译的程序可以媲美C或C代码的速度&#xff0c;而且更加安全、支持并行进程。 学习Go一部分是兴趣&#xff0c;一部分是…

汇编语言程序运行过程分析

实验项目程序运行过程分析综合性实验2020年11月 18日 一、实验综述 1.实验目的及要求 &#xff08;1&#xff09;掌握程序执行具体过程 &#xff08;2&#xff09;构建汇编语言的运行环境 &#xff08;3&#xff09;掌握汇编语言的编译连接过程 &#xff08;4&#xff09;掌…

【x86汇编】第六章 输出/输出和win32编程

文章目录 输入/输出指令和数据的传送方式输入/输出指令输入指令IN输出指令OUT串输入指令INS串输出指令OUTS 数据的传送方式无条件传送查询传送直接存储器中断传送 中断与异常中断的概念不可屏蔽中断 NMI可屏蔽中断 INTR除法出错溢出调试异常&#xff08;单步&#xff09;软中断…

总算编译通过了《自制编程语言》一书里的代码!

起初按照书里的说明来搭建Windows下的环境&#xff0c;卡在下载和编译正则表达式库“鬼车”的地方&#xff0c;后来留言给作者&#xff0c;才知道这个库已经转移到github上了&#xff08;2018年4月25时点&#xff1a;https://github.com/kkos/oniguruma&#xff09;&#xff0c…

脑语言v0.5.8 2500令【单字编程】

脑语言v0.5.8 2500令【单字编程】 【号】【单字】【多字】【英文】 1 1脑 脑语言 naoyuyan 2 配 配置 config 3 班 班级 grade 4 令 指令 command 5 述 描述 description 6 横 ■横 ■x 7 纵 ■纵 ■y 8 深 ■深 ■z 9 宽 ■宽 width 10 高 ■高 height 11 撑 缩放…

p4 编程语言环境配置

文章目录 前言建议直接看第二种方法第一种方法&#xff1a;p4官方教程里的方法&#xff08;不建议&#xff0c;我没安装成功&#xff09;1.1 下载并安装 Virtual Box1.2 下载并安装 Vagrant1.3 利用 Vagrant 安装虚拟机 第二种方法&#xff1a;直接导入已经配置好的虚拟镜像文件…

Python学习笔记 - Python语言概述和开发环境

一、Python简介 1.1 Python语言简史 Python由荷兰人吉多范罗苏姆(Guido van Rossum)于1989年圣诞节期间&#xff0c;在阿姆斯特丹&#xff0c;为了打发圣诞节的无聊时间&#xff0c;决心开发一门解释型程序语言。Python语言基于ABC教学语言开发的。1991年第一个Python解释器公…

西门子plc如何用c语言编程软件下载,s7一200编程软件下载安装

s7-200编程软件是专为西门子s7-200系列可编程控制器而设计开发的一款工业化编程工具,该工具基于Windows系统而开发,功能强大,既可用于开发用户程序,又可实时监控用户程序的执行状态,是西门子PLC用户不可缺少的开发工具。 软件特色 1、简单、易学,能够解决复杂的自动化任务…

2019常用的几种编程语言的简单介绍和特点以及应用领域

常用编程语言的特点以及应用 编程语言有很多种&#xff0c;以下就是对一些常用的编程语言的简单介绍和特点以及他们的一些应用领域。希望对你能有所帮助。 在介绍各种编程语言前&#xff0c;我们先来看一下下面这个图&#xff0c;从图中可以明显看出来&#xff0c;当前应用最…

【编程实践】编程语言之 Smalltalk

目录 Smalltalk 简介 什么是Smalltalk 理解Smalltalk 基础语法 方法与类 代码块 控制流

浅谈对话系统

随着社会发展&#xff0c;我们的生活中方方面面都充斥着各种对话系统&#xff0c;常见提供对话系统的组织有&#xff1a;运营商、电商、政府服务窗口等&#xff0c;刚才提到的例子一般都属于任务型对话系统。何为任务型的对话系统呢&#xff1f;指的就是用户通常通过该对话系统…

如何实现一个简单的对话系统

文章目录 前言一、为什么需要对话二、创建对话框1.创建Canvas2.创建Panel3.创建Text和Image4.Text介绍5.Image介绍 三、对话的实现&#xff08;脚本&#xff09;四、实际效果总结 前言 本文主要是对如何完成简单的游戏类对话做一个学习总结&#xff0c;新手菜勿喷 一、为什么需…

面向任务的对话系统

面向任务的对话系统 1.1 流水线方法1.1.1 语言理解1.1.2 对话状态跟踪1.1.3 策略学习1.1.4 自然语言生成 1.2 端到端方法 面向任务的对话系统一直是口语对话系统的重要分支。在本节中&#xff0c;我们将回顾面向任务的对话系统的流水线方法和端到端方法。 1.1 流水线方法 基于…

对话系统简单笔记

开放域对话系统&#xff1a;没有限定主题或明确目标&#xff0c;用户与系统之间自由对话。 特定域对话系统&#xff0c;面向具体任务。 如&#xff1a;任务型对话&#xff08;siri&#xff09;&#xff0c;属于特定域&#xff0c;完成任务或动作&#xff0c;话轮数越少越好。…

自然语言处理与企业对话系统设计

原创:晏茜 资料来源:李俊 本文分享的主题分为两个部分,第一部分内容是关于企业级对话系统的简介,第二部分探讨对话系统和自然语言处理技术结合的领域。 1. 企业对话系统 我们首先来介绍一下企业级对话系统。谷歌的 CEO 桑达尔在 16 年曾发表言论,人工智能将通过各式各样…

定义对话系统

定义对话系统 一、定义对话系统的方法 以下方法论其实就是在定义对话系统&#xff0c;后面的 确定场景边界 梳理业务要素和知识库 撰写故事线 抽取对话流程 都是下面方法论的具体展开。 二、确定场景边界 1.创建机器人定位&#xff08;机器人的性格定位&#xff09; 2.明…