Lab1:

实验流程:
1、打开 common_setup.tcl 文件,修改包含逻辑库、设计、脚本的路径:set ADDITIONAL_SEARCH_PAT,
逻辑工艺库文件:set TARGET_LIBRARY_FILES,
符号库文件:set SYMBOL_LIBRARY_FILES,
用户定义的 Milkyway 设计库名称:set MW_DESIGN_LI,
Milkyway所参考的库目录:set MW_REFERENCE_LIB_DIRS;
2、键入命令 dc_shell 打开 dc 命令行模式,
键入命令 printvar search_path、printvar target_library、
printvar link_library 查看库搜索路径、目标库和链接库:
在这里插入图片描述
输入 alisa 查看命令的对应自定义缩写,check_library 除了检查逻辑库和物理库的完整性,还可以查看最小时间、电容、功耗、电流单位。
在这里插入图片描述
3、读入设计 v 文件并与逻辑库相连接
read_file -format verilog ./rtl/TOP.v、 current_design TOP、link
查看设计文件名和与之连接的逻辑库等库的名字:list_designs、list_libs
在这里插入图片描述
4、读入约束文件 source TOP.con
compile_ultra 完成编译
在这里插入图片描述
AREA 表示设计电路的总面积,WORST NEG SLACK 表示最坏的路径裕度(负值)。
5、report_constraint -all 报告违规的路径及其负裕度,和总的裕度值。
在这里插入图片描述
report_timing 指出各路径的延时和数据要求、到达时间,判断违规情况
在这里插入图片描述
report_area:指出设计的各部分形式单元的面积:组合逻辑部分,反相器缓冲器部分、非组合逻辑部分,最后的总面积为单元的面积和连线的面积之和。
在这里插入图片描述

Lab3:实验要进行时序约束的电路框架如下:时序路径用红色箭头标出

在这里插入图片描述
实验的总体步骤如实验 1 那样:设置库搜索路径,打开 dc_shell,确认库,读入设计,读入约束并且编译,生成时序、面积报告。
一些新的指令学习:
read_db sc_max.db #查看逻辑库文件 sc_max.db,可以知道目标库名字(链接库名字为 cb13…)
在这里插入图片描述
redirect -file lib.rpt {report_lib cb13fs120_tsmc_max}(report_lib 库名称)生成对于逻辑库的库报告,可以看到库里对应的时间精度为 1ns。(也可以 check_library,查看 sc_max.db 对应的情况)
report_port -verbose 是查看端口的完整约束,比如:1、port 的 direction、pin load、wire load、max tran、max cap;2、input delay;3、driving cell;4、input port 的 tran;5、output delay。
Lab3 中没有增加端口的外部约束,lab4 和 lab7 中可以看到该命令的作用。
下面主要是对于时许约束命令的分析:
reset_design #移除存在于上个设计之中的约束条件。
1、create_clock -period 3.0 [get_ports clk]
#生成周期为 3ns(时间单位为 1ns,cheak_library 可以看出),即频率为 333Mhz 的时钟。
BNF:create_clock -period vaule -name clock name [source object] -waveform {egde list} -add -comment “commet for this clock”
-period vaule 为周期;-name clock name 表示时钟名字,缺省时表示时钟名字与源对象名字一致;源对象[source object]可以为端口、引脚、网络,虚拟时钟没有源对象;-waveform {egde list}指明占空比,egde list 中的数值表示一个周期之内第一个时钟上升沿到来的时刻和第一个时钟下降沿到来的时刻,缺省时表示占空比为 50%;-add 表示同源对象的时钟(例如源对象通过多路选择器);-comment “commet for this clock”为注释。
2、set_clock_uncertainty -setup 0.15 [get_clocks clk]
#偏斜 skew:30ps 的信号到达和-30ps 的信号捕获(capture),40ps 的抖动(jitter),50ps 的建立裕度。
用不确定度 uncertainty 将偏斜和抖动模型化。包括内部时钟(相同时钟)和交互时钟(不同但同步时钟)的不确定度:对于内部时钟的不确定度,set_clock_uncertainty value [get_clocks** XXX**],建立不确定度 set_clock_uncertainty -setup value [get_clocks XXX]受到偏斜和抖动的影响,而保持不确定度只受到 set_clock_uncertainty -hold value [get_clocks XXX]只受到偏斜的影响;对于交互时钟的不确定度,set_clock_uncertainty value -from XX -to XX,其建立不确定度和保持不确定度均受到偏斜和抖动的影响。交互时钟的不确定度优先级更高。
3、set_clock_transition 0.12 [get_clocks clk]
#时钟的过渡时间,set_clock_transition -rise value [get_clocks XX]表示上升过渡时间, set_clock_transition -fall value [get_clocks** XX**]表示下降过渡时间。
4、set_clock_latency -source -max 0.7 [get_clocks clk] set_clock_latency -max 0.3 [get_clocks clk]
#时钟延迟,包括片外时钟源到定义在端口的时钟的源延迟 set_clock_latency -source -max (-min) value [get_clocks XX],定义在端口的时钟到各个时序单元时钟端口的网络延迟 set_clock_latency -max (-min) value [get_clocks** XX**],-network 为缺省值。
5、端口输入延时:
set_input_delay -max 0.45 -clock clk [get_ports data*]
input delay+delay of S+clock uncertainty+registor setup time=1 period。
#表示通配符,端口输入延时+起点(输入端口)和终点(时序原件的输入端)之间的组合逻辑延时+内部捕获时序元件建立不确定度+内部捕获寄存器的建立时间=1 period。通过约束输入延时来使 DC 约束式中其余的延时数据。
set_input_delay -max 0.4 -clock clk [get_ports sel]
last arrival time=source latency+network latency+input delay max
考虑了设计之外的时序元件的输入延时:输入端口延时+源时钟延时+网络时钟延时=最晚达到输入端口的绝对时间。
6、端口输出延时:set_output_delay -max 0.5 -clock clk [get_ports out1]
端口输出延时=起点(时序元件的时钟端)和终点(输出端口)之间的组合逻辑延时+外部捕获寄存器的建立时间。
set_output_delay -max 2.04 -clock clk [get_ports out2]
internal delay+uncertainty+output delay =external capturing clock
输出端口延时+内部延时+内部建立时间不确定度(发送时间不确定度)=外部时序元件捕获时刻。
7、内部组合逻辑的输入、输出端口延时:set_input_delay -max 0.3 -clock clk [get_ports Cin
] set_output_delay -max 0.1 -clock clk [get_ports Cout]
input delay+uncertainty+delay of COMBO+output delay=1 period。
内部组合逻辑的输入端口延时+内部组合逻辑的延时+内部不确定度+内部组合逻辑的输出端口延时=1 period。

Lab4:此实验的原理图同实验 3,约束文件之中添加了环境因素即输入过渡时间和外部负载。

在这里插入图片描述
对约束文件的分析如下:并且对应运行 report_port -verbose 查看端口的完整约束情况。1、set_driving_cell -lib_cell bufbd1 [remove_from_collection [all_inputs] [get_ports “clk Cin*”]]
指定输入驱动强度,这里指定了除了 clk、cin之外的所有输入端口的驱动能力与 1 个反
相器 bufbd1 的驱动强度相同。
一般情况下的指令格式如下:
set_driving_cell -lib_cell lib cell name -from_pin from pin name -clock clock name [get_ports** XXX**]
-lib_cell 为驱动单元名称,-from_pin 为多输出的驱动单元的区分,-clock 为时钟关联, get_ports 为指定驱动强度的端口名称。
在这里插入图片描述
2、set_input_transition 0.12 [get_ports Cin
]#输入过渡时间声明。
在这里插入图片描述
3、set_load [expr 2 * {[load_of cb13fs120_tsmc_max/bufbd7/I]}] [get_ports out*]
set_load 0.025 [get_ports Cout*]
#指定负载(输入或者输出均有负载,这里指输出负载,lab7 中有指输入负载的),一般指定负载有两种形式:1、用库中的标准负载表示 2、以直接标注电容值的形式。
显然第一条就是标准负载表示,out*端的负载等效为cb13fs120_tsmc_max(库名称)中的库元件 bufbd7 的引脚 I,工具会自动把该引脚的扇出值转换成等效负载电容。
而第二条显然就是直接指定负载的电容值。
在这里插入图片描述

Lab5:预备知识整理

dc_shell 模式下使用 compile 来综合优化设计;dc_shell -topo 模式下使用 compile_ultra 来综合优化设计;
设计的综合分层为:Architectural(结构级)、Logicl(逻辑级)、Gate(门级)
Architectural(结构级)包括:设计结构的选择、数据通路的优化、共享(算术电路)子表达式、资源共享(其中的算术资源共享默认是约束驱动,将 hlo_resource_allocation 变量设置为 area,使得算术资源共享的策略是约束面积的(面积优化);将 hlo_resource_allocation 变量设置为 none 即使 DC 综合时停用资源共享,但此时也可以在 RTL 代码中指明资源共享)、重新排序运算符号。
Logicl(逻辑级):电路的功能以 gtech 器件表示,进行 Structuring(结构)和 Flattening(展平)优化。
其中 Structuring( 结构 ) 优化采用 共用 ( 门级电路 ) 子表达式 的策略,优化速度和面积,set_structure ture 命令启用。
Flattening(展平)优化将组合逻辑路径减少为先与后或的两级,即将门级电路的表达式写成多个乘积的和,优化速度,set_flatten ture -effort low(medium 或 high)。
Gate(门级)优化:DC 开始映射(延迟优化、设计规则调整、以时序为代价的设计规则调整、面积优化)完成门级电路,例如组合逻辑电路的映射是从目标库中选择满足时序、面积要求的组合单元来完成组合逻辑设计(其中可以包括有调整逻辑表达式和分割关键路径手段);时序电路的映射是从目标库中选择满足时序、面积要求的时序单元(通常比较复杂)来完成组合逻辑设计;
其他的优化情况:一个寄存器驱动多个寄存器时复制驱动寄存器并且分割被驱动的寄存器组
(dc_shell -topo 下使用 compile_ultra -timing);一个模块被多次调用时,将名字唯一化(虽然是同个模块,但名字不同),对应 uniquify 命令。
时序优化的一些方法:时序违规在 25%情况下时可以使用:
compile_ultra 的一些开关选项:
compile_ultra -scan -no_autoungroup -no_boundary_optimization -no_uniquify -area(timing)_high_effort_script
分别对应:DFT 可测试编辑、关闭自动取消划分功能、不进行边界优化、不进行模块名称唯一化来加速含多次调用例化模块的设计的时间、面积(时序)优化。
set compile_ultra_ungroup_dw ture#取消所有的 DesignWare 层次,综合之后各个大模块间的边界被清除。
set compile_auto_ungroup_delay_num_cells NUM#综合之后大模块 A 与被 A 调用的小模块 B之间的边界被清除。
边界优化:对一些固定电平或者固定逻辑的边界引脚(GND、VCC)进行优化。
BRT 技术:(Behavioral ReTiming):包括对包含寄存器的门级网表进行 optimize_registers,将前后级寄存器间的组合逻辑进行分割再组合使得寄存器间的时序均满足要求,或者加入 -retime 选项进行路径间的逻辑迁移(adaptive retiming),使得不满足时序要求的路径可以被逻辑迁移到相邻的满足时序的路径上去(一般是通过迁移时序器件),set_dont_retime [XXX] ture 可以让 dc 不迁移某些器件;和对纯组合逻辑的门级网表进行 pipeline_design(流水线设计),使用这个命令时需要先在 RTL 中将寄存器预置好。 compile -scan -inc#编译时不做逻辑级优化只进行门级优化。
(路径组:多条时序路径的组合(寄存器到寄存器的路径组由于受 clk 控制,默认是 clk 路径组)。路径延时:cell 时间弧(cell 延时+setup/hold time 检查+c-q 时间等)+连线延时(线负载模型计
算),并且路径延时中 cell 延时与起点是上升沿(输入信号上升跳变)还是起点是下降沿(输入信号下降跳变)有关(tphl、tplh)。DC 执行 report_timing 时就是计算起点上升沿延时和计算起点下降沿延时并且找出每个路径组中的关键路径,最后显示每个组的时序报告。DC 默认行为是对于同一个路径组中对关键路径进行优化完成之后才对次关键路径(sub-critical paths)进行优化,关键路径不满足时序要求时永远不会对次关键路径进行优化。但是有时候我们想在关键路径没被优化完成的基础上优化次关键路径时,就是可以自定义路径组或者设置关键范围)
自定义路径组:group_path -name XXX -from [XXX] -to [XXX],-from -to 优先级最大,-from 次之,-to 优先级最小。综合时 DC 对每个路径组中时序最差的路径做各自组别相互独立的优化。还可以设置优化权重(各个路径组之间的权重)和优化关键范围(只对时序违规超过这个范围的路径进行优化)group_path -name XXX -from [XXX] -to [XXX] -critical critical num -weight weight num
重新划分模块:自动划分和手动划分。

Lab5:实验结构图如下:

顶层结构图:
在这里插入图片描述
各子模块结构图:
在这里插入图片描述
实验要求和对应脚本的解析:
1、
group_path -name clk -critical 0.21 -weight 5
group_path -name INPUTS -from [all_inputs]
group_path -name OUTPUTS -to [all_output]
group_path -name COMBO -from [all_inputs] -to [all_output] 自定义路径组且 clk 路径组的权重为最高(5)。
2、对应实验要求 3 和 4:子模块 INPUT 结构需要被保护,子模块 PIPELINE 需要进行 BRT 技
术中的 optimize_registers,也需要被保护,所以这两个子模块均不可以被打散。
set_ungroup [get_designs “INPUT”] false
set_optimize_registers true -design PIPELINE
3、对应实验要求 5 和 6:子模块 PIPELINE 的输出寄存器不可以被流水线移动,子模块 I_DONT_PIPELINE 的寄存器也不可以被流水线移动。
set_dont_retime [get_cells I_MIDDLE/I_PIPELINE/z_reg*] true set_dont_retime [get_cells I_MIDDLE/I_DONT_PIPELINE] true 4、设置综合中时序优先:set_cost_priority -delay 5、验证:
①、查看时序路径组情况是否与上述分组一致:
report_path_group
在这里插入图片描述
②、查看子模块 PIPELINE 也没有进行 optimize_registers:
get_attribute [get_designs “PIPELINE”] optimize_registers
在这里插入图片描述
③、查看 INPUT 的打散情况和该需要不被移动的单元或者模块的移动情况:
get_attribute [get_designs “INPUT”] ungroup
在这里插入图片描述
INPUT 模块没有被打散。
get_attribute [get_cells I_MIDDLE/I_PIPELINE/z_reg*] dont_retime
在这里插入图片描述
所有的 z_reg寄存器在 retiming 过程中没有被移动。
get_attribute [get_cells I_MIDDLE/I_DONT_PIPELINE] dont_retime
在这里插入图片描述
模块 I_MIDDLE/I_DONT_PIPELINE 在 retiming 过程中没有被移动。④、查看综合中是否是设置建立时间冲突的优先级高于 DRC 冲突 (Prioritize fixing of setup timing (delay) violations over DRC violations): get_attribute [get_designs “STOTO”] cost_priority
在这里插入图片描述
⑤、compile_ultra -retime -scan 之后查看没有被打散 ungroup 的模块:
report_hierarchy -noleaf
在这里插入图片描述
⑥、查看时序报告:
redirect -tee -file rt_compile_ultra.rpt {report_timing} 可以看到各个路径组分别的时序报告。
其中 clk 组中优化权重最高并且在 PIPELINE 加入 optimize_registers,不存在时序违规,slack为正值:
在这里插入图片描述
⑦、查看子模块 PIPELINE 进行 optimize_registers 之后被移动的寄存器: report_cell -nosplit I_MIDDLE/I_PIPELINE#查看例化名字对应的原模块的名字 report_cell -nosplit I_IN#查看例化名字对应的原模块的名字
在这里插入图片描述
或者:
在这里插入图片描述
get_cells -hier r_REG_S
#optimize_registers 之 后 被 移 动 的 寄 存 器 的 名 字 为 r_REGS*(start_gui 查看图形界面,查看 I_MIDDLE/I_PIPELINE 中的大部分寄存器名称)
在这里插入图片描述
在这里插入图片描述
估计被移动的寄存器有 z1_reg 等寄存器。
get_cells -hier z_reg#验证寄存器 z_reg 是否被移动过:
在这里插入图片描述
有存在值,说明 z_reg 没被移动。
get_cells -hier z1_reg#验证寄存器 z1_reg 是否被移动过
在这里插入图片描述
无存在值,说明被 retiming 移动的寄存器为 z1_reg。
get_cells -hier R
#查看被 retiming 过程移动过的却不是流水线中的寄存器,retiming 过程中被移动过的却不是流水线中的寄存器被命名为 R_
在这里插入图片描述
get_cells I_IN/_reg#查看 INPUT 模块中没有被移动过的寄存器(start_gui 对比 INPT 模块前后的电路图中寄存器的名称差别)
前:
在这里插入图片描述
后:
在这里插入图片描述
**

Lab7:一些额外的约束,在 lab2 与 lab3 的约束文件之中添加了一些额外的约束条件。

**
在这里插入图片描述
1、set_input_delay -max 1.02 -clock my_clk -add_delay -clock_fall
-network_latency_included -source_latency_included [get_ports sel]
#\表示换行符,时钟信号到达 F4 的时钟输入端有 600ps 的延时,该延时包含了时钟源延时和时钟网络延时;F4 的信号输入端到达 sel 又有着 420ps 的延时,且 F4 为下降沿触发,所以数据到达 sel 的输入延时的绝对时间为 600ps+420ps=1.02ns。可以看一下 set_input_delay 命令的一般写法:
set_input_delay -clock clock name (clock_fall) (-network_latency_included)
(-source_latency_included) (-add_delay) [get_ports** XXX**]
一般(clock_fall)缺省时表示对应的 launch 时序元件(寄存器)为上升沿触发型。
通过 report_timing -from [get_ports sel] -to [get_ports Cout] -input -trans -sig 6 命令我们可以看到对于时序路径起点 sel 到终点 cout 的时序报告:
在这里插入图片描述
表明时序路径的起点和终点和所属于的时序路径组。
在这里插入图片描述
裕度 slack 为正值,符合约束。
2、set_output_delay -max -0.24 -clock my_clk -add_delay -clock_fall -network_latency_included [get_ports out1]
out1 的数据被 F5 捕获,且 F5 为下降沿触发,在 F5 的下降沿到来之前,数据得在 260ps(绝对时刻)之前到达 out1 端口,但是由于 F5 的 network 延时又 500ps,相当于对于 out1 的约束放松了,所以 F5 的捕获下降沿推迟了 500ps,所以数据在 260ps-500ps=-240ps=0.24ns 到达 out1 端口即可。
此处 set_output_delay 命令的一般写法和前面 set_input_delay 写法一致。
通过 report_timing -to [get_ports out1] -input -trans -sig 6 -nets 命令我们可以看到对于 out1 的时序报告:
在这里插入图片描述
表明时序路径的起点和终点和所属于的时序路径组。
在这里插入图片描述
裕度 slack 为正值,符合约束。
3、set all_in_ex_clk [remove_from_collection [all_inputs] [get_ports clk]] set_load [expr 6 * {[load_of cb13fs120_tsmc_max/bufbd1/I]}] $all_in_ex_clk
#expr 表示计算值操作。负载的表示方法为用库中的标准值表示。这里表示对输入端负载的约束,这里题目中设置的条件是除了 clk 之外的所有输入端口均连接到 2 个块(block),而每个块(block)驱动是 3 个反相器的输入引脚 I,所以对于输入端口来说总的负载相当于 2×3=6
个反相器输入引脚 I,工具会将这个扇出值转换成等效电容负载。
通过 report_port -verbose 命令我们可以看到现在的端口约束情况。
在这里插入图片描述
本文的参考文献:虞希清老师《专用集成电路设计使用教程》
韩德等人译《综合与时序分析的时序约束》
特别是虞希清老师的《专用集成电路设计使用教程》一书给了我学习 DC 很大的帮助。
–stark 2018.12.27

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Zabbix

    监控的目的报告系统运行状态每一部分必须同时监控 内容包括吞吐量/反应时间/使用率等提前发现问题进行服务器性能调整前,知道调整什么 找出系统瓶颈监控的资源类型公开数据web/ftp/ssh/数据库等应用服务 TCP或UDP端口私有数据CPU/内存/磁盘/网卡流量的使用信息 用户/进程等运行…...

    2024/3/31 4:28:44
  2. 最短路算法

    最短路算法笔记 Dijkstra算法 ​ Dijkstra算法基于贪心思想,它适用于所有边长的长度都是非负数的图。当边长zzz都是非负数时,全局最小值不再可能被其他节点更新,故在第iii步中选出的节点x必然满足:dist[x]dist[x]dist[x]已经是起点到xxx的最短路径。我们不断的选择全局最小…...

    2024/4/30 19:47:26
  3. 2019 GDUT新生专题Ⅳ E题

    E - Revenge of GCD 题目链接 题目大意及思路:给出x,y,k,(1<=x,y,k<=1000000000000),求出x和y中第k大的约数,数字很大,不过刚刚好时间够的。首先我们有这么一个定理:最大公约数=公约数1*公约数2;所以我们可以求最大公约数的所有因数,然后判断是否存在第k大的数…...

    2024/4/30 6:32:14
  4. 逆波兰表达式(栈操作)

    #include #include #include #include using namespace std; class Solution { public: int elaLRPN(vector& tokens) { if (tokens.empty()) { return 0; } stackst; for (int i = 0;i < size(tokens);i++) { if (tokens[i] == “+” || tokens[i] == “-” || tokens[…...

    2024/3/31 8:50:40
  5. vue项目封装组件发布到npm笔记

    一、创建项目新建一个文件夹,在该文件夹目录下的控制台执行vue init webpack-simple,创建vue新项目,然后在执行npm install安装依赖,创建好vue项目后,在src下新建一个放组件源码的文件夹,我下面是两个组件,最好是所有组件放在一个文件夹。二、创建组件自己随便写一个小的…...

    2024/3/31 9:13:28
  6. C++编程之美-结构之法(代码清单3-3)

    代码清单3-3 for(answer[0] = 0; answer[0] < total[number[0]]; answer[0]++)for(answer[1] = 0; answer[1] < total[number[1]]; answer[1]++)for(answer[2] = 0; answer[2] < total[number[2]]; answer[2]++){for(int i = 0; i < 3; i++)printf("%c",…...

    2024/4/30 23:14:22
  7. Dubbo的泛化调用demo

    application.propertisedubbo.address=zookeeper://127.0.0.1:2181 # application.name 自定义 应用名称 application.name=api-test apigateway.dubbo.protocol.name=dubbo apigateway.dubbo.protocol.port=20880初始化 ApiGateway的Controller,只需要开启一个Controller入口…...

    2024/4/30 0:23:26
  8. Android基础之Activity不同场景的生命周期

    打开应用 onCreate() -> onStart() -> onResume()关闭应用 onPause() -> onStop() -> onDestroy()进入最近应用屏(任务管理器) onPause() -> onStop()最近应用屏进应用 onStart() -> onResume()设备旋转 onPause() -> onStop() -> onDestroy() ->…...

    2024/3/31 11:07:32
  9. 子组件修改父组件的值

    首先明确子组件可以父组件的值,但不能直接修改,那怎么修改呢,通过父组件传的方法来修改 1、父组件传值给子组件,首先在父组件声明值。2、引用子组件的时候将值用属性的方式传递给子组件。3、子组件用props接收来自父组件的值 。4、子组件可以直接使用接收到的值。5、如果子…...

    2024/4/30 16:10:23
  10. u盘大白菜装系统步骤

    华硕主板f8 u盘启动...

    2024/4/27 20:42:53
  11. linux 下安装redis

    文档:linux下安装redis.note 链接:http://note.youdao.com/noteshare?id=e8b27363f705e710e203dc303f8db591&sub=DF422E7EE87240BD9307AD30B7DDC39E...

    2024/4/27 20:02:13
  12. C++编程之美-结构之法(代码清单3-4)

    代码清单3-4 while(true) {// n为电话号码的长度for(i = 0; i < n; i++) printf("%c", c[number[i]][answer[i]]);printf("\n");int k = n - 1;while(k >= 0){if(answer[k] < total[number[k]] - 1) {answer[k]++;break;}else{answer[k] = 0; k--…...

    2024/4/27 15:34:03
  13. 由Session到Token的身份验证演变过程理解Session、Cookie、Token

    本文将从Web应用 由传统身份验证到基于Token的身份验证的演变过程的角度,介绍Session、Cookie、Token。 很久以前,Web 应用基本用作文档的浏览,如网络黄页。既然仅仅是浏览,因此服务器不需要记录具体用户在某一段时间里都浏览了哪些文档,每次请求都是一个新的HTTP协议,对…...

    2024/4/27 20:55:53
  14. 视图的getWidth()和getHeight()返回0

    我正在动态创建我的android项目中的所有元素。 我正在尝试获取按钮的宽度和高度,以便可以旋转该按钮。 我只是想学习如何使用android语言。 但是,它返回0。 我做了一些研究,发现需要在onCreate()方法之外的地方进行。 如果有人可以给我一个例子,那就太好了。 这是我当前的…...

    2024/4/27 13:30:32
  15. 洛谷 P2564 [SCOI2009]生日礼物 题解

    题目:P2564 [SCOI2009]生日礼物 队列 - 单调队列 - 双指针 双倍经验:P3029 [USACO11NOV]牛的阵容Cow Lineup 这里讲一种双指针的做法 首先将牛输入后,按坐标升序排列 维护指针 l=1,r=0l=1,r=0l=1,r=0,再维护数组 c[]c[]c[] 记录每种珠子出现的次数,cntcntcnt 为区间中珠子…...

    2024/4/27 16:38:12
  16. IO操作(3):装饰流(字节缓冲流BufferedInput/OutputStream)

    装饰流 IO流按功能可分为节点流和处理流(装饰流),装饰流是在节点流基础上进行操作可以提高IO流的性能。 如果不需要装饰流则需要对硬盘重复操作,性能不高,BufferedInputStream可以相当于设置一个缓冲区先将要读取的内容放在一辆车上统一进行存取(默认内容为8k) (Filter…...

    2024/4/27 18:52:07
  17. 数论笔记

    1. 质数 1.1 质数的判定 试除法 若一个正整数NNN为合数(除了能被1和自身以外的数整除),则存在一个能整除NNN的数TTT,其中2≤T≤N2\leq T\leq \sqrt N2≤T≤N​。 bool is_prime(int n) {if (n < 2) return false;for (int i = 2; i < sqrt(n); ++ i )if (n % i == 0)…...

    2024/4/30 14:12:18
  18. ElasticSearch是什么

    1. 为什么要使用全文检索 首先呢,用户访问我们的首页,一般都会直接搜索来寻找自己想要购买的商品。比如淘宝,京东等等, 而商品的数量非常多,而且分类繁杂。如果能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易,是搜索系统要研究的核心。 面对这样复杂的搜…...

    2024/4/27 19:33:56
  19. 【Python】(八)列表生成式、迭代器、生成器、装饰器

    文章目录1.列表生成式2.迭代器3.生成器4.装饰器 1.列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)): >>> list(range(1, 11…...

    2024/4/27 15:52:21
  20. 如何在github上面高效的找开源项目

    1.在名字中寻找包含starsreadme中描述中语言和发布时间的过滤做技术不能只看书和视频,要找开源项目来多练练手...

    2024/4/27 17:20:34

最新文章

  1. Grafana可视化-之仪表盘开发变量详解

    文章目录 Grafana大盘整理归类面板跟仪表盘的区别面板更新编辑更新,有的是因为用的图标比较老图标更新成最新的修改模板变量变量:自定义编辑修改的查询的时候筛选条件变量添加查看变量的编写Grafana链接跳转与值传递测试dash_1一配置2. dash_1:创建跳转用的表格收集不同数据…...

    2024/5/1 0:17:04
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. jdk8/9新特性

    package chapter08_oop3_teacher.src.com.atguigu08._interface.jdk8;/*** ClassName: CompareA* Description:** Author 尚硅谷-宋红康* Create 9:33* Version 1.0*/ public interface CompareA {//属性&#xff1a;声明为public static final//方法&#xff1a;jdk8之前&…...

    2024/4/30 8:40:35
  4. 逻辑回归(Logistic Regression)详解

    逻辑回归是一种用于解决二分类问题的统计方法&#xff0c;它通过构建一个模型来预测某个事件的概率。 以下是逻辑回归的一些关键要点&#xff1a; 适用场景&#xff1a;逻辑回归特别适合于处理二分类问题&#xff0c;即两个类别的分类问题&#xff0c;例如判断一封邮件是否为…...

    2024/4/29 11:35:37
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/29 23:16:47
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/30 18:14:14
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/30 18:21:48
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57