低功耗设计及其UPF实现第二节

2023-11-01

通过上一节对基本概念的了解之后,我们对下面的基本概念进行跟进一步学习。

Power domain

对于upf的实现,我们必须要有一个pd,哪怕只有一个aon的pd,任何一个逻辑只能属于一个pd,不能同时属于两个pd。允许嵌套的pd,即一个pd里面还有另外的pd。下面是一个例子。注意:一般定义top为aon pd,这会大大降低实现难度,top上的端口input,output,inout也是aon的。

图 1

UPF描述:

create_power domain Top // 创建TOP PD

create_power_domain pd1 -elements

u_dhm_core // 创建 TOP下的pd1


pd的scope的概念,对于hier的upf调用,我们使用scope,如果子模块的upf在top中调用我们使用scope

upf描述:load upf -scope u_dhm_core core.upf

或者>set scope u_dhm_core  

       >load_upf core.upf

Pd的划分

如果把B定义成一个pd,那么B下面所有的逻辑都是这个pd的,图2紫色upf描述。

如果把A定义成一个pd,如果A下面还有逻辑不是这个pd的,图2绿色upf描述。

有时候大家想使用图三红色框图的pd划分,这个时候因为D是A下面的逻辑,我们需要把D flatten出来做一个VA(voltage area),再使用PD1去供电,这样实现的难度很大,一般不建议。同理,也不建议像图4那样去定义pd,如果非要这样,图4左图需要使用下面的upf描述

create_power_domain PD1 -elements {A} //定义A及其附属结构为pd1。

create_power_domain PD2 -elements {A/C}//定义A下面C的附属结构为pd2。

图4右图需要使用下面的upf描述

create_power_domain pd1 -elements {B}

create_power_domain pd2 -elements {B/F}

图 2

图 3

         

                                                                        图 4

Pd的具体实现

不同的pd划分,后端会在不同的pd上面做VA(voltage area),并在VA上面做power plan,再放入special cell。图5是pd的划分对应的后端版图的划分,这是一一对应的关系。如果top下面的一个ip里面还有另外的一个pd,我们可以把这个pd flatten出来,如图6所示,即单独把D的逻辑拉到顶层,使用顶层的pd供电,D和C之间的逻辑均需要插入special cells。同理,在图7中,我们也需要把B flatten出来和A在一块VA上。

图 5

   

                                                                           图 6

                        

                                                                             图 7

Supply network

Supply network包含了下面3种元素,supply nets(电线),supply ports(插座)和power switch(开关)。

首先我们学习一些基本的UPF描述去定义Supply network。

  1. -create_supply_net       //  创建一根电线
  2. -create_supply_port      //  创建一根电源
  3. -connect_supply_net     //  把电源和电线连接起来
  4. –set_domain_supply_net  //  告诉工具一个pd里面所有的电源都来自哪一个port
  5.  -create_power_switch       //  创建开关

对下面的图8进行supply network举例。

图 8

  1. 建立两个pd

create_power_domain TOP

create power domain pd1 -elements u_dhm_core

  1. 建立ports

create_supply_port VDD

create_supply_port VDDL

create_supply_port VSS

  1. 在top层建立supply nets,信号可以和ports一样。

create_supply_net VDD-domain TOP

create_supply_net VDDL -domain TOP

create_supply_net VSS  -domain TOP

  1. 在pd1创建supply nets,这里的reuse表示从top上的nets可以复用到这里。

create_supply_net VDDL   -domain pd1 -reuse

create_supply_net VSS     -domain pd1 -reuse

create_supply_net VDDLS1  -domain pd1

  1. 将ports和nets链接起来

connect_supply_net VDD  –ports  { VDD }

connect_supply_net VDDL -ports   { VDDL }

connect_supply_net VSS  -ports   {VSS}

  1. 但是这个时候我们还是不知道top层的电源从哪里过来的。下面的描述告诉工具,top和pd1的电和地来自哪里,TOP的电工具认为可能来自VDDL。所以需要定义。

set_domain_supply_net TOP -primary_power_net VDD -primary_ground_net VSS

set_domain_supply_net pd1  -primary_power_net VDDLS1 -primary_ground_net VSS

Supply set

Supply network包含了下面3种元素,supply nets(电线),supply ports(插座)和power switch(开关)。

首先我们学习一些基本的UPF描述去定义Supply network。

  1. -create_supply_net       //  创建一根电线
  2. -create_supply_port      //  创建一根电源
  3. -connect_supply_net     //  把电源和电线连接起来
  4. –set_domain_supply_net  //  告诉工具一个pd里面所有的电源都来自哪一个port
  5.  -create_power_switch       //  创建开关

对下面的图8进行supply network举例。

Supply network包含了下面3种元素,supply nets(电线),supply ports(插座)和power switch(开关)。

首先我们学习一些基本的UPF描述去定义Supply network。

  1. -create_supply_net       //  创建一根电线
  2. -create_supply_port      //  创建一根电源
  3. -connect_supply_net     //  把电源和电线连接起来
  4. –set_domain_supply_net  //  告诉工具一个pd里面所有的电源都来自哪一个port
  5.  -create_power_switch       //  创建开关

对下面的图8进行supply network举例。

 图 8

  1. 建立两个pd

create_power_domain TOP

create power domain pd1 -elements u_dhm_core

  1. 建立ports

create_supply_port VDD

create_supply_port VDDL

create_supply_port VSS

  1. 在top层建立supply nets,信号可以和ports一样。

create_supply_net VDD-domain TOP

create_supply_net VDDL -domain TOP

create_supply_net VSS  -domain TOP

  1. 在pd1创建supply nets,这里的reuse表示从top上的nets可以复用到这里。

create_supply_net VDDL   -domain pd1 -reuse

create_supply_net VSS     -domain pd1 -reuse

create_supply_net VDDLS1  -domain pd1

  1. 将ports和nets链接起来

connect_supply_net VDD  –ports  { VDD }

connect_supply_net VDDL -ports   { VDDL }

connect_supply_net VSS  -ports   {VSS}

  1. 但是这个时候我们还是不知道top层的电源从哪里过来的。下面的描述告诉工具,top和pd1的电和地来自哪里,TOP的电工具认为可能来自VDDL。所以需要定义。

set_domain_supply_net TOP -primary_power_net VDD -primary_ground_net VSS

set_domain_supply_net pd1  -primary_power_net VDDLS1 -primary_ground_net VSS

Supply set和Supply set handle

电源集合(Supply set)

Supply set就是多组supply nets的集合,每一组包含了power供电和vss接地,方便调用。Supply set物理上不存在的,是一种抽象的,只是方便在upf中的使用。设计者只关心Supply set,不关心Supply nets。下面进行例子说明。下面的例子中myss1的电源为MYVDD,接地为MYVSS,myss2,myss3都插在myss1上,且电源和地都是MYVDD和MYVSS。

create_supply_set myss1 // 创建myss1 supply set

create_supply_set myss2// 创建myss1 supply set

create_supply_set myss3 -function {ground myss1.ground}  -function {power \ myss1.power}// 创建myss3 supply set,function只有两个选项,power和ground,这里的意思是将myss1的ground和power给到myss3

create_supply_set myss2 -function {power myss1.power} -function {ground myss1.ground} \

-update // 因为之前创建了myss2,现在使用-update更新myss2,只能更新一次。这里的意思是将myss1的power给到myss2

create_supply_set myss1 -function {power MYVDD}  -function {ground MYVSS}     \

-update //因为之前创建了myss1,现在使用-update更新myss1。这里的意思是将myss1的电源设置为MYVDD,接地设置为MYVSS。

需要注意的是,定义set之前还是需要定义port和net,然后组成set用于iso和retention等special cell

电源集合句柄(Supply set handle)

Supply set handle用于在一个pd里面设置默认值,包含了primary,default_isolation,default_retention三个基础选项。Primary又包括了power和ground。

举例1:

写法1:

set_isolation PD1_iso –domain PD1 -isolation_supply_set PD2.primary

//这里在pd1里面建立一个iso,但是它的primary即它的供电和接地来自pd2,这样的方法比第二种写法简单高效。

写法2:先定义一个在pd2 建立一个supply set ss2, 在把supply set给到PD1里面的iso。

create_supply_set ss2 -function {ground VSS}  -function {power  VDD}

// VSS,VDD都来自pd2

set_isolation PD1_iso –domain PD1 -isolation_supply_set ss2

//再把ss2的power和ground给到iso

举例2:

写法1:

create_supply_set ssPD1 -function {power MYVDD0}  -function {ground MYVSS0} // 创建ssPD1 supply set ,MYVDD和MYVSS不是顶层接入,可能被关掉。

create_supply_set ssAo  -function {power MYVDD}  -function {ground MYVSS} //  创建ssAO supply set , MYVDD和MYVSS是顶层接入,为aon信号。

create_power_domain PD1 -elements {inst1} // 创建PD1

set_domain_supply_net PD1-primary_power_net ssPD1.power -primary_ground_net ssPD1.ground //告诉工具PD1的供电来自ssPD1.power,接地来自ssPD1.ground,他们都是ssPD1这个supply set里的。

set_domain_supply_net AON -primary_power_net ssAo.power -primary_ground_net ssAo.ground //告诉工具AON的供电来自ssAo.power,接地来自ssAo.ground,他们都是ssAo这个supply set里的。

set_isolation PDiso -domain PD1-isolation_supply_set ssAO

-clamp_value 1 // 在PD1创建ISO,ISO的电源来自ssAO,为aon的信号,所以在pd1断电后保持1

set_retention PDret -domain PD1-retention_supply_set ssAO //在PD1创建retention电源来自ssAO,为aon的信号,所以在pd1断电保持。

写法2:

create_power_domain PD1 -elements {inst1}  // 创建PD1

set isolation PDiso -domain PD1

-isolation_supply_set PD1.default_isolation

-clamp_value 1

// 使用了pd1默认的ISO供电,这就是Supply set handle

set_retention PDret -domain PD1

-retention_supply_set PD1.default_retention

// 使用了pd1默认的retention供电,这就是Supply set handle

习题:对比下面两种upf的写法,并理解。

第一种:相当于把外面的电线和地线都拉到pd1

create_power_domain PD1-elements {inst1} //建立pd1

create_supply_port spVPD1 -direction in //建立spVPD1 电线

create_supply_port snvss //建立snvss port

create_supply_net snVPD1 -domain PD1 //在PD1建立snVPD1电线

create_supply_net snVss -domain PD1. //在PD1建立snVss地线

connect_supply_net snVPD1 -ports {spVPD1} // 链接snVPD1电线和spVPD1 port

oonnect_supply net snVss -ports {snvss} // 链接snVss地线和spvss port

set_domain_supply_net PD1 -primary_power snVPD1 -primary_ground snvss

//在告诉工具PD1的供电和接地来自snVPD1和snvss

第二种:相当于带外面的电线和地线的插座送到了pd1

create_supply_set ssPD1 -function {ground VSS}  -function {power  VDD}

create_power_domain PD1 -elements {inst1}

set_domain_supply_net PD1 -primary_power_net ssPD1.power -primary_ground_net ssPD1.ground

图 8

  1. 建立两个pd

create_power_domain TOP

create power domain pd1 -elements u_dhm_core

  1. 建立ports

create_supply_port VDD

create_supply_port VDDL

create_supply_port VSS

  1. 在top层建立supply nets,信号可以和ports一样。

create_supply_net VDD-domain TOP

create_supply_net VDDL -domain TOP

create_supply_net VSS  -domain TOP

  1. 在pd1创建supply nets,这里的reuse表示从top上的nets可以复用到这里。

create_supply_net VDDL   -domain pd1 -reuse

create_supply_net VSS     -domain pd1 -reuse

create_supply_net VDDLS1  -domain pd1

  1. 将ports和nets链接起来

connect_supply_net VDD  –ports  { VDD }

connect_supply_net VDDL -ports   { VDDL }

connect_supply_net VSS  -ports   {VSS}

  1. 但是这个时候我们还是不知道top层的电源从哪里过来的。下面的描述告诉工具,top和pd1的电和地来自哪里,TOP的电工具认为可能来自VDDL。所以需要定义。

set_domain_supply_net TOP -primary_power_net VDD -primary_ground_net VSS

set_domain_supply_net pd1  -primary_power_net VDDLS1 -primary_ground_net VSS

Supply set和Supply set handle

电源集合(Supply set)

Supply set就是多组supply nets的集合,每一组包含了power供电和vss接地,方便调用。Supply set物理上不存在的,是一种抽象的,只是方便在upf中的使用。设计者只关心Supply set,不关心Supply nets。下面进行例子说明。下面的例子中myss1的电源为MYVDD,接地为MYVSS,myss2,myss3都插在myss1上,且电源和地都是MYVDD和MYVSS。

create_supply_set myss1 // 创建myss1 supply set

create_supply_set myss2// 创建myss1 supply set

create_supply_set myss3 -function {ground myss1.ground}  -function {power \ myss1.power}// 创建myss3 supply set,function只有两个选项,power和ground,这里的意思是将myss1的ground和power给到myss3

create_supply_set myss2 -function {power myss1.power} -function {ground myss1.ground} \

-update // 因为之前创建了myss2,现在使用-update更新myss2,只能更新一次。这里的意思是将myss1的power给到myss2

create_supply_set myss1 -function {power MYVDD}  -function {ground MYVSS}     \

-update //因为之前创建了myss1,现在使用-update更新myss1。这里的意思是将myss1的电源设置为MYVDD,接地设置为MYVSS。

需要注意的是,定义set之前还是需要定义port和net,然后组成set用于iso和retention等special cell

电源集合句柄(Supply set handle)

Supply set handle用于在一个pd里面设置默认值,包含了primary,default_isolation,default_retention三个基础选项。Primary又包括了power和ground。

举例1:

写法1:

set_isolation PD1_iso –domain PD1 -isolation_supply_set PD2.primary

//这里在pd1里面建立一个iso,但是它的primary即它的供电和接地来自pd2,这样的方法比第二种写法简单高效。

写法2:先定义一个在pd2 建立一个supply set ss2, 在把supply set给到PD1里面的iso。

create_supply_set ss2 -function {ground VSS}  -function {power  VDD}

// VSS,VDD都来自pd2

set_isolation PD1_iso –domain PD1 -isolation_supply_set ss2

//再把ss2的power和ground给到iso

举例2:

写法1:

create_supply_set ssPD1 -function {power MYVDD0}  -function {ground MYVSS0} // 创建ssPD1 supply set ,MYVDD和MYVSS不是顶层接入,可能被关掉。

create_supply_set ssAo  -function {power MYVDD}  -function {ground MYVSS} //  创建ssAO supply set , MYVDD和MYVSS是顶层接入,为aon信号。

create_power_domain PD1 -elements {inst1} // 创建PD1

set_domain_supply_net PD1-primary_power_net ssPD1.power -primary_ground_net ssPD1.ground //告诉工具PD1的供电来自ssPD1.power,接地来自ssPD1.ground,他们都是ssPD1这个supply set里的。

set_domain_supply_net AON -primary_power_net ssAo.power -primary_ground_net ssAo.ground //告诉工具AON的供电来自ssAo.power,接地来自ssAo.ground,他们都是ssAo这个supply set里的。

set_isolation PDiso -domain PD1-isolation_supply_set ssAO

-clamp_value 1 // 在PD1创建ISO,ISO的电源来自ssAO,为aon的信号,所以在pd1断电后保持1

set_retention PDret -domain PD1-retention_supply_set ssAO //在PD1创建retention电源来自ssAO,为aon的信号,所以在pd1断电保持。

写法2:

create_power_domain PD1 -elements {inst1}  // 创建PD1

set isolation PDiso -domain PD1

-isolation_supply_set PD1.default_isolation

-clamp_value 1

// 使用了pd1默认的ISO供电,这就是Supply set handle

set_retention PDret -domain PD1

-retention_supply_set PD1.default_retention

// 使用了pd1默认的retention供电,这就是Supply set handle

习题:对比下面两种upf的写法,并理解。

第一种:相当于把外面的电线和地线都拉到pd1

create_power_domain PD1-elements {inst1} //建立pd1

create_supply_port spVPD1 -direction in //建立spVPD1 电线

create_supply_port snvss //建立snvss port

create_supply_net snVPD1 -domain PD1 //在PD1建立snVPD1电线

create_supply_net snVss -domain PD1. //在PD1建立snVss地线

connect_supply_net snVPD1 -ports {spVPD1} // 链接snVPD1电线和spVPD1 port

oonnect_supply net snVss -ports {snvss} // 链接snVss地线和spvss port

set_domain_supply_net PD1 -primary_power snVPD1 -primary_ground snvss

//在告诉工具PD1的供电和接地来自snVPD1和snvss

第二种:相当于带外面的电线和地线的插座送到了pd1

create_supply_set ssPD1 -function {ground VSS}  -function {power  VDD}

create_power_domain PD1 -elements {inst1}

set_domain_supply_net PD1 -primary_power_net ssPD1.power -primary_ground_net ssPD1.ground

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

低功耗设计及其UPF实现第二节 的相关文章

  • 大数据从入门到精通(超详细版)之 Hive的配置与基本语法

    前言 嗨 各位小伙伴 恭喜大家学习到这里 不知道关于大数据前面的知识遗忘程度怎么样了 又或者是对大数据后面的知识是否感兴趣 本文是 大数据从入门到精通 超详细版 的一部分 小伙伴们如果对此感谢兴趣的话 推荐大家按照大数据学习路径开始学习哦
  • MIPI接口中DPHY、CPHY简介及概要设计

    一 分类简介 MIPI是移动领域最主流的视频传输接口规范 目前应用最广泛的是MIPI DPHY和MIPI CPHY两组协议簇 另外还有MIPI MPHY 属于高速Serdes范畴 应用不那么广泛 1 MIPI DPHY 是MIPI的一种物理
  • What do pull-up transistors and pull-down transistors mean in CMOS?

    原文链接 https www quora com What do pull up transistors and pull down transistors mean in CMOS Originally Answered What is
  • Using UPF for Low Power Design and Verification

    Using UPF for Low Power Design and Verification Presented at DVCon 2014 This tutorial provides information on the Unifie
  • NVIDIA FasterTransformer

    NVIDIA FasterTransformer NVIDIA GPU计算专家团队针对transformer推理提出了性能优化方案 FasterTransformer 截止到2022年7月 这套方案支持的模型涵盖了BERT GPT Long
  • 优化基于FPGA的深度卷积神经网络的加速器设计

    英文论文链接 http cadlab cs ucla edu cong slides fpga2015 chen pdf 翻译 卜居 转载请注明出处 http blog csdn net kkk584520 article details
  • METRICS-BASED VERIFICATION

    原文链接 https www intrinsix com metrics based soc verification Complex SoC Verification Verification is the process by whic
  • FPGA原理与结构——时钟IP核原理学习

    一 前言 在之前的文章中 我们介绍了FPGA的时钟结构 FPGA原理与结构 时钟资源https blog csdn net apple 53311083 article details 132307564 spm 1001 2014 300
  • 《硬件架构的艺术》笔记(二)

    时钟和复位 2 1 同步设计 2 1 1避免使用行波计数器 用触发器来驱动其他触发器的时钟输入端 一般会存在问题 由于第个触发器时钟到g的延而使第二个触发器的时钟输入产生偏 而且不能在每个时钟边沿都激活 用这种方式连接两个以上的触发器就会形
  • 聊聊最近几年的路径追踪技术的进展(一)

    路径追踪技术 Path tracing PT 已经是当下工业中离线渲染使用的主流技术 不管是商业渲染器如皮克斯的RenderMan Solid Angle的Arnold等 还是迪士尼的in house渲染器Hyperion以及Weta Di
  • RJ45网口座子上的LED接法详解

    搞硬件的朋友 经常免不了会用到RJ45网口座子 但是你会发现在许多参考设计中 RJ45上的LED接线方式经常各不相同 许多朋友可能并不是很在意这个 认为只要网络通了就行 此外在进行物料替换的时候 通常也只是关注4对差分信号的连接方式 并不怎
  • Tutorial: Low Power Design, Verification, and Implementation with IEEE 1801™ UPF™

    Tutorial Low Power Design Verification and Implementation with IEEE 1801 UPF Presented at DVCon 2013 on February 25 2013
  • 每个工程师都应该知道的 5 个射频发射器测量指标(自NI官网翻译)

    概述 射频发射器是现代通信的重要组成部分 射频发射器由核心射频组件设计和组装而成 具有多种不同的形式和应用 我们经常想到无线通信中的射频发射器 但这个概念同样适用于有线应用 如有线电视 蜂窝电话 雷达 军事通信 航空电子设备 无线局域网 调
  • ARMv8-A 地址翻译技术之MMU的前世今生

    MMU的重要性不言而喻 支撑操作系统之上的各种复杂应用 但在正式讲MMU之前 我们先说说MMU的发展史 因为ARMv8 A的MMU相当复杂 直接切入正题 会显得比较枯燥 废话不多说 咱们马上开始 一 前言 关于虚拟内存系统的演变史 MMU在
  • Zynq7000硬件开发之芯片供电电源功耗(电流)评估

    案头语 单板硬件的主控芯片集成度越来越高 多核处理器越来越多 一块单板可能只需要1块芯片就能满足整体需求 一方面减少设计复杂度 另一面节省PCB面积成本 能同时掌握硬件原理设计以及PCB Layout设计逐渐成为主流 本系列文章同时包含有两
  • 【Xilinx Vivado时序分析/约束系列6】FPGA开发时序分析/约束-IO时序输入延时

    目录 源同步FPGA输入时序分析的模型 input delay约束 极限input delay 往期系列博客 源同步FPGA输入时序分析的模型 以下为源同步FPGA输入时序分析的模型的示意图 在之前的文章中介绍过 在此介绍一下各个时钟延时的
  • 【数电】如何通俗地理解锁存器和触发器

    目录 一 相关知识 1 三极管和MOS管 2 TTL电路和CMOS电路 3 门电路 4 双稳态电路 二 锁存器 触发器 1 锁存器 2 触发器 1 电平触发的SR触发器 2 电平触发的D触发器 3 边沿触发的D触发器 4 脉冲触发的SR触发
  • VT Msr Hook Syscall

    VT Msr Hook Syscall 什么是系统调用 系统调用是内核提供给应用层的接口 比如在 win10x64 应用层打开一个应用 其实就是 explorer 调用了 CreateProcess 这个函数通过 NTDLL 调用表的 0x
  • 程序的链接

    程序的链接是一个非常实际的问题 他建立在很实际的问题之上 不从程序员的角度去思考问题 则是从软件的角度去思考如何复用错综复杂的代码 因为 这个问题的本质是我们没有给底层的硬件一个完整的可按顺序执行的程序 我们在前几章虽然讨论了指令流的问题
  • 【数字IC】从零开始的Verilog SPI设计

    从零开始的Verilog SPI协议设计 一 写在前面 1 1 协议标准 1 2 数字IC组件代码 1 3 设计要求 1 4 其他协议解读 1 4 1 UART协议 1 4 2 SPI协议 1 4 3 I2C协议 1 4 4 AXI协议 二

随机推荐

  • 虚拟机ubuntu18.04安装AoiAWD

    AoiAWD 轻量级EDR系统 AoiAWD 是一个由Aodzip 安恒信息 海特实验室研究员 HAC战队成员 维护的一个针对于CTF AWD模式的开源项目 专为比赛设计 便携性好 低权限运行的EDR系统 任何人都可以在 GNU AGPL
  • unity解决射线穿透UGUI的问题

    if Input GetMouseButtonDown 0 EventSystem current IsPointerOverGameObject Ray ray Camera main ScreenPointToRay Input mou
  • STL中的list容器

    以下转自http www cnblogs com BeyondAnyTime archive 2012 08 10 2631191 html STL中的list容器的一点总结 1 关于list容器 list是一种序列式容器 list容器完成
  • Excutors 线程池

    实例一 作为服务端 使用线程池接收多个客户端的TCP请求 String port 9015 ServerSocket serverSocket new ServerSocket port Executor exe Executors new
  • Base64加密解密算法【js】

    废话不多说 上代码 var Base64 private property keyStr ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 public metho
  • 最小二乘法(Least square method)

    最小二乘法是在线性回归模型最小化均方误差时使用 其实就是对误差函数求导数 然后让其等于0 然后解出使得误差最小 本篇文章讲解最小二乘法 首先声明 此篇的内容是来自 马同学高等数学 微信公众号的内容 目录 1 日用而不知 2 最小二乘法 3
  • 模板--类型萃取

    当我们在实现数据结构vector时 我们发现使用mencpy时只能实现基本类型的拷贝 而不能实现自定义类型的拷贝 比如说字符串类型 这问题如何解决呢 在学习了模板和基于模板的类型萃取之后 我们就有方法是在实现基本类型的拷贝时使用memcpy
  • iOS 网络

    1 http介绍 请求报文 响应报文 2 http的请求方式有哪些 get post head put delete options 3 get和post方式的区别 rfc官方文档 get请求参数以 分割拼接到url后面 post请求参数在
  • WPF 下的 VlcControl 控件,播放视频过程中,闪黑屏问题的排查与解决方法

    在Wpf 下 使用 VlcControl 控件 可以实现很多强大的播放功能和解码功能 但是在使用过程中发现当视频播放时 会有预加载时间 导致出现闪黑屏的情况 如下面gif所展示 这种情况其实是VlcControl视频控件在预加载视频 从而导
  • Linux shell上传/下载命令

    sz 和 rz sz命令发送文件到本地 sz filename rz命令本地上传文件到服务器 rz 执行该命令后 在弹出框中选择要上传的文件即可
  • ADB error: device unauthorized 问题解决

    error device unauthorized This adb server s ADB VENDOR KEYS is not set Try adb kill server if that seems wrong Otherwise
  • 学习笔记(材料力学组合梁实验报告图表绘制)

    一些反思 虽然大学里做了一些物理和力学实验 会进行基本的数据处理 但是其实还是很皮毛 深以为不可得过且过 本着钻研问题 深入研究excel制图的角度开启此篇章 一 需求 1 实验时本人所测量的 叠梁和楔块梁的实验应力值 表格化 对应力 高度
  • Truncate和Delete的区别

    1 表和索引所bai占空间 当表被truncate 后 这个表和索引所占du用的空间会恢复到初始zhi大小 delete操作不dao会减少表或索引所占用的空间 2 应用范围 truncate 只能对table delete可以是table和
  • 国内好的破解软件下载站

    MSDN https msdn itellyou cn 吾爱破解 https www 52pojie cn 奥学网 https 6so so 果核剥壳 http www ghboke com zd423 http www zdfans co
  • 使用STM32测量脉宽可变的PWM波的脉冲宽度

    最近受疫情影响导致我莫得办法出去玩 打游戏一不小心又给打通关了就只能找点东西玩玩了 所以就有了下面这篇文章 搞这个东西的时候遇见一些好玩的问题 我写在第6部分 希望能帮到看到这篇小文章的同志们 1 硬件平台 stm32f103zet6 正点
  • Windows远程桌面(mstsc)笔记:Windows 7远程桌面连接Windows Server 2019报错:“您的凭证不工作“

    使用Windows 7的远程桌面连接Windows Server 2019报错 您的凭证不工作 关联 内部错误 解决方法一 在Windows Server 2019的本地组策略编辑器 gpedit msc 上修改远程连接配置 本地组策略编辑
  • Python3从Excel中读接口测试数据和需要检查的响应内容

    需求 接口测试 包含有多种测试场景 检查response 只是一次性测试 就不弄啥测试框架了哈 简单看看 设计表格内容 包含request 和response需要检查的code result code message等代码主要设计如下部分
  • ToDesk企业版上新

    目录 控制台 管理方便更安全 用AD域实现便捷管理 新增临时用户功能 安全措施升级 数据信息可追溯 客户端 体验再升级 两大场景更新 功能更强大
  • 粗虚线和细虚线_高速虚线两侧是粗虚线 高速公路虚线两边加斜线什么意思?...

    高速公路虚线两边加斜线什么意思 中间是白虚线两边是斜线是车道减速标线 车道减速标线分为感觉和视觉两大类 以前在部分路段设置的横跨车道且碾压有明显感觉的标线属于车道感觉减速标线 此次设置的属于车道视觉减速标线 视觉减速标线分为两种形式 一种是
  • 低功耗设计及其UPF实现第二节

    通过上一节对基本概念的了解之后 我们对下面的基本概念进行跟进一步学习 Power domain 对于upf的实现 我们必须要有一个pd 哪怕只有一个aon的pd 任何一个逻辑只能属于一个pd 不能同时属于两个pd 允许嵌套的pd 即一个pd