low power-upf-vcsnlp(三)

这篇博客详细介绍了如何使用UPF(统一电源格式)在Verilog和SystemVerilog中创建电源域,包括添加电源域、设置电源和地线、使用-elements和-exclude_elements选项以及定义多个电源域。文中提供了具体的UPF命令示例,并展示了Verdi工具的仿真结果,帮助理解低功耗设计中的电源管理。

例子中dut和环境见上篇low power-upf-vcsnlp(二)

3.create_power_domain 命令

-elements  添加实例列表.  (elements和subdomains只能使用一个)   

-supply 指定电压域的supply_set_handle.

-available_supplies 设置在此电压域内的power cell可以使用的其他supply_set列表。

-update 如果电压域已被定义,可以加上此项来更新这个电压域的定义。

(1)添加power domain

对于上面的dut,可以定义一个power domain如下(写在test.upf中),下面代码中的-include_scope在当前版本(IEEE1801-2015)中是没有的,不用也可以,set_design_top用于设置power的顶层(set_design_top使用的是instance的层次路径,也可以在makefile vcs命令中加上 -power_top选项来指定,但是此选项后面跟的是module name。注意这两者同时只能使用一种方式[1]):

set_design_top top/dut_u

create_power_domain PD_TOP -include_scope

运行结果:

verdi结果中,在full power map窗口中可以看见只有一个电压域被定义,并且其power和ground都还没有定义:

verdi的instance窗口就会显示出各个instance所属于的domain:

(2)将power domain的power和ground加上。

这里给power domain加上power和ground的方式,这里总结有三种。

第一种是通过 set domain_supply_net直接将对应的net设置给power domain。

第二种是通过 set domain_supply_net并使用supply_set句柄设置给power domain。

第三种是通过create_power_domain的-supply选项来直接设置supply_set。(每定义一个power domain 都会自动生成对应三个supply_set: primary ,default_isolation,default_retention-[1] )

下面upf.test内容三种方式都列举了,注意-update的使用,由于前面已经定义了PD_TOP,所以这里要加上-update选项:

运行结果verdi ,可以看见power domain的power和ground都加上了。

(3)-elements和-exclude_elements使用。

可以这两个选项用来设置此power domain的作用范围。

如下upf.test,将create_power_domain加上-element {  . }将当前的所在的scope设置为这个power domain(当然不使用也可以,因为默认是将当前的所在的scope,设置为这个power domain,当前就是top/dut_u,当然也作用于里面各层的instance)。并使用-exclude_elements {inst0}将inst0排除在外 :

仿真结果如下,可以看见inst0已经不属于PD_TOP了:

(3)定义多个power domain.

举个例子定义两个power domain。test.upf内容如下。

set_design_top top/dut_u

#create_power_domain PD_TOP -include_scope
create_power_domain PD_TOP -elements {.} \
                -exclude_elements {inst0}

create_supply_port VDD_TOP
create_supply_port VSS_TOP
create_supply_net  VDD_TOP
create_supply_net  VSS_TOP

connect_supply_net VDD_TOP -ports VDD_TOP
connect_supply_net VSS_TOP -ports VSS_TOP

create_supply_set PD_TOP_SET \
    -function {power VDD_TOP} \
    -function {power VSS_TOP}

create_power_domain PD_TOP \
    -supply {primary PD_TOP_SET} \
    -update

#PD0
set_scope inst0

create_power_domain PD0 -elements {.}

create_supply_port VDD0
create_supply_port VSS0

create_supply_net VDD0
create_supply_net VSS0

connect_supply_net VDD0 -ports VDD0
connect_supply_net VSS0 -ports VSS0

create_supply_set PD0_SET \
    -function {power VDD0}  \
    -function {ground VSS0} 

create_power_domain PD0 \
    -supply {primary PD0_SET} \
    -update

 仿真结果,power map如下,注意上面upf中使用了set_scope,所以此时新定义的net VDD0 VSS0,port VDD0 VSS0都是在scope inst0下的:

 此时instance上显示出两个power domain:

两个domain的power是可以不一样的,但是VSS可以是一样的,所以可以将两个domain的VSS连接起来,并且将PD0的power从外面接进去。在upf.test最后面增加两句,并使用VDD_TOP0 net和PD0的inst0/VDD0 port相接。其中set_scope .. 返回 parent scope。

set_design_top top/dut_u

#create_power_domain PD_TOP -include_scope
create_power_domain PD_TOP -elements {.} \
                -exclude_elements {inst0}

create_supply_port VDD_TOP
create_supply_port VSS_TOP
create_supply_net  VDD_TOP
create_supply_net  VSS_TOP

connect_supply_net VDD_TOP -ports VDD_TOP
connect_supply_net VSS_TOP -ports VSS_TOP

create_supply_set PD_TOP_SET \
    -function {power VDD_TOP} \
    -function {power VSS_TOP}

create_power_domain PD_TOP \
    -supply {primary PD_TOP_SET} \
    -update


create_supply_port VDD_TOP0
create_supply_net  VDD_TOP0
connect_supply_net VDD_TOP0 -ports VDD_TOP0

#PD0
set_scope inst0

create_power_domain PD0 -elements {.}

create_supply_port VDD0
create_supply_port VSS0

create_supply_net VDD0
create_supply_net VSS0

connect_supply_net VDD0 -ports VDD0
connect_supply_net VSS0 -ports VSS0

create_supply_set PD0_SET \
    -function {power VDD0}  \
    -function {ground VSS0} 

create_power_domain PD0 \
    -supply {primary PD0_SET} \
    -update


set_scope ..

connect_supply_net VSS_TOP -ports inst0/VSS0
connect_supply_net VDD_TOP0 -ports inst0/VDD0

仿真结果的power map中两个VSS就会连接在一起,并且PD0的power从外层引进去的。结果如下。

参考[0]:IEEE 1801-2015 IEEE Standard for Design and Verification of Low-Power, Energy-Aware Electronic Systems

verdi版本:R-2020.12-SP2

vcs版本: Q-2020.03-SP2

参考[1]: VCS Native Low Power (NLP)User Guide.

<think>嗯,用户这次的问题聚焦在TSN-UPF与5GC网管的连接机制上,这属于5G TSN融合架构中的核心网元交互问题。从对话历史看,用户已经对NVRAM有基础认知,且当前问题引用资料涉及5G TSN的标准化背景和网络架构,需要重点结合引用[1][2][4]展开技术解析。 用户可能正在研究工业互联网场景下5G与TSN的协同部署方案,尤其是网管层面的控制逻辑。深层需求或许是想了解如何在实际组网中实现TSN-UPF的可管理性。需注意引用[2]提到"5G TSN实际部署处于起步阶段",回答时应区分标准定义与实际实施的差异。 技术层面需要拆解个维度:首先是连接路径,TSN-UPF作为用户面功能实体,需通过N4接口与SMF通信,再由SMF对接网管系统;其次是协议栈,引用[4]强调控制面分离原则,意味着网管指令需通过服务化接口传递;最后是协同机制,引用[1]指出5G网络作为逻辑网桥,TSN-UPF必须支持IEEE 802.1AS-Rev时间同步等关键能力上报。 需要特别注意术语一致性:引用[4]定义的5GS架构中,核心网网元交互存在直接和间接两种模式(通过SCP),这会影响网管指令的传输路径。在绘制连接流程图时,应将TSN-UPF置于用户面,通过N4接口锚定到SMF,再经Nsmf接口延伸至网管系统,同时标注TSN域特有的IEEE 1588报文传输通道。 考虑到工业场景的特殊性,补充说明时需强调引用[3]提及的"确定性能力指标"——TSN-UPF必须向网管系统暴露时延抖动(<1μs)和时钟精度(±100ns)等KPI,这些是传统UPF不具备的管理点。最后生成的问题应引导用户思考部署难点,如时间敏感网络配置(IEEE 802.1Qcc)如何通过5GC网管下发。</think>### TSN-UPF 与 5GC 网管的连接机制 #### 1. **基础架构定位** - **TSN-UPF 角色** 作为 5G 用户面功能(UPF)的增强形态,TSN-UPF 在原有 UPF 基础上集成 **TSN 网桥功能**,实现: - 工业以太网帧的透传与转换 - 确定性时延保障(通过 IEEE 802.1Qbv 等机制) - 精准时间同步(支持 IEEE 802.1AS-Rev)[^1][^3] - **5GC 网管系统** 指 5G 核心网(5GC)的网络管理系统(如 NMS 或 OSS),负责监控、配置和管理核心网网元(包括 SMF、UPF 等)。 #### 2. **连接路径与接口** ```mermaid graph LR A[TSN-UPF] -->|N4 接口| B[会话管理功能 SMF] B -->|服务化接口| C[5GC 网管系统] D[TSN 控制器] -->|NETCONF/YANG| A ``` - **关键连接点**: 1. **N4 接口** TSN-UPF 通过 **N4 接口** 与 SMF 通信,接受转发规则(如 PDR/FAR/QER)[^4]。 *示例配置*: ```yaml SMF 下发给 TSN-UPF 的规则包含: - TSN 流标识(VLAN ID/PCP) - 时敏队列调度参数 - 时钟同步协议使能标志 ``` 2. **SMF 与网管系统的交互** SMF 通过 **服务化接口**(如 Nsmf)向网管系统: - 上报 TSN-UPF 状态(负载、时延抖动) - 接收网管下发的 TSN 策略(如最大可容忍时延 $T_{max}$)[^2] 3. **TSN 控制器直连** 工业场景中,TSN-UPF 需直接对接 **TSN 控制器**(通过 NETCONF/YANG 协议),实现: - 时间敏感流表(IEEE 802.1Qcc)的配置 - 网关时钟源同步状态监控[^1][^3] #### 3. **管理信息流** | **方向** | **传输内容** | **协议/接口** | |----------------|---------------------------------------|-------------------| | **网管 → SMF** | TSN 策略模板<br>(时延阈值、带宽预留) | RESTful API (Nnssf)| | **SMF → TSN-UPF** | QoS 规则<br>时钟同步指令 | PFCP (N4 接口) | | **TSN-UPF → 网管** | 性能计数器<br>(帧抖动 $\Delta t$) | Telemetry 流 | #### 4. **关键技术实现** - **时间同步协同** TSN-UPF 从 5G 网络获取 **UTC 时间源**(通过 PTP 协议),并透传给 TSN 终端设备,误差需满足 $|t_{5G}-t_{TSN}| < 1\mu s$[^2]。 - **确定性流量调度** 网管系统通过 SMF 向 TSN-UPF 下发 **时敏调度表**,例如: $$ \text{周期 } T = 250\mu s, \quad \text{时隙分配: } [t_1, t_2] \text{ 传输关键帧 $$ - **故障管理联动** 当 TSN-UPF 检测到链路异常(如队列溢出),通过 SMF 向网管触发告警: ```python if buffer_occupancy > threshold: send_alarm(SMF, "TSN_QUEUE_OVERFLOW", priority=CRITICAL) ``` ### 部署挑战与趋势 - **当前瓶颈**: 网管系统需升级支持 **TSN 能力模型**(如 IETF DetNet YANG 模型),才能直接配置 TSN 参数[^2]。 - **演进方向**: 3GPP R18 定义 **5G-TSN 网管协同架构**,允许 TSN 控制器通过 NEF(网络开放功能)访问 5GC 网管[^1]。 --- ### 相关问题 1. TSN-UPF 与传统 UPF 在 QoS 机制上有哪些关键差异? 2. 5GC 网管系统如何获取 TSN 网络中的端到端时延指标? 3. 在混合组网(有线 TSN + 5G TSN)中,网管系统如何实现统一策略下发? 4. IEEE 802.1AS 时间同步协议如何通过 5G 空口传递到工业终端? [^1]: 5G TSN 将整个 5G 网络映射为 TSN 网桥,需通过标准接口实现管理协同。 [^2]: 5G 与 TSN 融合需解决网管系统对确定性能力的感知和控制问题。 [^3]: TSN 的确定性机制要求 5GC 网管支持精细化的流量调度策略。 [^4]: 5GS 控制面与用户面分离架构使 SMF 成为 TSN-UPF 与网管系统的中介节点。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值