当前位置: 首页 > news >正文

17.1 Display system tasks

系统任务的显示组分为三类:显示和写入任务、选通监视任务和连续监视任务。
17.1.1 The display and write tasks
$display和$write系统任务的语法如语法17-1所示。

display_tasks ::=display_task_name [ ( list_of_arguments ) ] ;
display_task_name ::=$display | $displayb | $displayo | $displayh| $write | $writeb | $writeo | $writeh

17-1  Syntax for $display and $write system tasks

        这些是显示信息的主要系统任务例程。这两组任务完全相同,只是$display会自动在输出末尾添加换行符,而$write任务则不会$display和$write任务显示其参数的顺序与它们在参数列表中显示的顺序相同。每个参数可以是带引号的字符串、返回值的表达式或空参数。除非插入某些转义序列以显示特殊字符或指定后续表达式的显示格式,否则字符串参数的内容将按字面形式输出。
        转义序列以三种方式插入字符串:
特殊字符\表示后面的字符是文字字符或不可打印字符(见表17-1)。
—特殊字符%表示下一个字符应被解释为格式规范,该规范为后续表达式参数建立显示格式(见表17-2)。对于字符串中出现的每个%字符(%m和%%除外),应在字符串后面提供相应的表达式参数。
特殊字符串%%表示百分号字符%的显示(见表17-1)。任何空参数都会在显示中产生一个空格字符。(空参数由参数列表中的两个相邻逗号表示。)在没有参数的情况下调用$display任务时,只需打印一个换行符。没有参数的$write任务根本不会打印任何内容

17.1.1.1 Escape sequences for special characters(特殊字符的转义序列)

当包含在字符串参数中时,表17-1中给出的转义序列会显示特殊字符。

参数描述
\n换行符
\t制表符
\\\字符
\"“字符
\ddd以1–3个八进制数字(0≤d≤7)指定的字符。
如果使用的字符少于三个,则以下字符不得为八进制数字。
如果表示的字符大于\377,则实现可能会发出错误。
%%%字符

表17-1-打印特殊字符的转义序列

例如:

module disp;
initial begin
$display("\\\t\\\n\"\123");
end
endmodule

模拟该示例应显示以下内容:
\    \
"S

17.1.1.2 Format specifications

        表17-2显示了用于格式规范的转义序列。当包含在字符串参数中时,每个转义序列指定后续表达式的显示格式。对于字符串中出现的每一个%字符(%m和%%除外),参数列表中的字符串后面都应该有一个相应的表达式。显示字符串时,表达式的值将替换格式规范。
        任何没有相应格式规范的表达式参数都使用$display和$write中的默认十进制格式、$displayb和$writeb中的二进制格式、$displayo和$swriteo中的八进制格式以及$displayh和$writeh中的十六进制格式显示。

参数描述
%h or %H显示16进制格式
%d or %D显示10进制 格式
%o or %O显示8进制格式
%b or %B显示二进制格式
%c or %C以ASCII字符格式显示
%l or %L显示库绑定信息
%v or %V显示网络信号强度
%m or %M显示层次化名称
%s or %S显示为字符串
%t or %T以当前时间格式显示
%u or %U未格式化的2值数据
%z or %Z未格式化的4值数据

表17-2格式规范的转义序列

        格式化规范%l(或%L)是为显示特定模块的库信息而定义的。 该信息应显示为“library.cell”,与提取当前模块实例的库名称和当前模块实例单元名称相对应。 有关库和配置设计的信息,请参见第13条。
        格式化规范%u(或%U)是为写入不带格式(二进制值)的数据而定义的。应用程序应将指定数据的2值二进制表示传输到输出流。这个转义序列可以用于任何现有的显示系统任务,尽管$fwrite应该是首选的。
源中的任何未知或高阻抗位应视为零此格式说明符用于支持与没有x和z概念的外部程序之间的数据传输。鼓励需要保留x和z的应用程序使用%z I/O格式规范。数据应以底层系统的本端字节格式写入文件(即,按照与使用PLI和使用C语言write(2)系统调用相同的字节顺序)。数据应以32位为单位写入,首先写入包含LSB的字。格式化规范%z(或%z)是为写入不带格式(二进制值)的数据而定义的。应用程序应将指定数据的4值二进制表示传输到输出流。
        这个转义序列可以用于任何现有的显示系统任务,尽管$fwrite应该是首选的。此格式说明符用于支持与识别并支持x和z概念的外部程序之间的数据传输。不需要保留x和z的应用程序建议使用%u I/O格式规范。数据应以基础系统的原生端序格式写入文件[即,按照与使用PLI相同的端序顺序,数据采用s_vpi_vecval结构(参见27.14中的图27-8),并且使用C语言write(2)系统调用将结构写入磁盘]。数据应以32位为单位写入,结构包含先写入的LSB。

        表17-3中的格式规范与实数一起使用,并具有C语言中可用的全部格式功能。例如,格式规范%10.3g指定最小字段宽度为10,带3个小数位数。

参数描述
%e or %E以指数格式显示“实数”
%f or %F以十进制格式显示“实数”
%g or %G以指数或十进制格式显示“实数”,无论哪种格式都会缩短打印输出

表17-3:实数格式规范

        17.1.1.5至17.1.1.7中描述了网络信号强度、层次化名称和字符串格式规范。
        %t格式规范与$timeformat系统任务一起工作,以指定统一的时间单位、时间精度和格式,用于报告来自使用不同时间单位和精度的各种模块的计时信息。17.3.2中描述了$timeformat任务。
例如:

module disp;
reg [31:0] rval;
pulldown (pd);
initial begin
rval = 101;
$display("rval = %h hex %d decimal",rval,rval);
$display("rval = %o octal\nrval = %b bin",rval,rval);
$display("rval has %c ascii character value",rval);
$display("pd strength value is %v",pd);
$display("current scope is %m");
$display("%s is ascii value for 101",101);
$display("simulation time is %t", $time);
end
endmodule

仿真结果如下:

rval = 00000065 hex 101 decimal
rval = 00000000145 octal
rval = 00000000000000000000000001100101 bin
rval has e ascii character value
pd strength value is StX
current scope is disp
e is ascii value for 101
simulation time is 0

17.1.1.3 Size of displayed data
        对于表达式参数,写入输出文件(或终端)的值将自动调整大小。例如,当以十六进制格式显示时,12位表达式的结果将被分配三个字符,当以十进制格式显示时将被分配四个字符,因为表达式的最大可能值是FFF(十六进制)和4095(十进制)。
        显示十进制值时,前导零将被抑制并由空格替换
        在其他进制中,始终显示前导零。通过在%字符和表示基数的字母之间插入一个零,可以覆盖显示数据的自动大小,如下例所示:

module printval;
reg [11:0] r1;
initial begin
r1 = 10;
$display( "Printing with maximum size - :%d: :%h:", r1,r1 );
$display( "Printing with minimum size - :%0d: :%0h:", r1,r1 );
end
endmodule

显示结果如下:
Printing with maximum size - : 10: :00a:  (显示十进制值时,前导零将被抑制并由空格替换
Printing with minimum size - :10: :a:
        在此示例中,显示12位表达式的结果。对$display的第一次调用使用标准格式说明符语法,生成的结果需要分别为十进制和十六进制的四列和三列。第二个$display调用使用格式说明符语法的%0形式,并生成分别需要两列和一列的结果。

17.1.1.4 Unknown and high-impedance values
        当表达式的结果包含未知或高阻抗值时,某些规则适用于显示该值。
        十进制(%d)格式的规则如下:
如果所有位都处于未知值,则显示单个小写x字符
如果所有位都处于高阻抗值,则显示单个小写z字符
如果某些(但不是全部)位处于未知值,则显示大写的X字符
如果一些(但不是全部)位处于高阻抗值,则显示大写Z字符,除非也有一些位处于未知值,在这种情况下显示大写X字符
十进制数字在固定宽度字段中总是右对齐
        在十六进制(%h)和八进制(%o)格式中,规则如下:
每组4位表示为单个十六进制数字;每组3位表示为单个八进制数字
如果组中的所有位都处于未知值,则该数字将显示小写x
如果组中的所有位都处于高阻抗状态,则会为该数字打印小写的z
如果组中的某些位(但不是全部)未知,则该数字将显示大写X
如果组中的一些位(但不是所有位)处于高阻抗状态,则该数字将显示大写Z,除非还有一些位处于未知值,在这种情况下,该数字显示大写X。在二进制(%b)格式中,使用字符0、1、x和z分别打印每个位。例如下面的例子:

STATEMENT RESULT
$display("%d", 1'bx); x
$display("%h", 14'bx01010); xxXa
$display("%h %o", 12'b001xxx101x01,
12'b001xxx101x01); XXX 1x5X

17.1.1.5 Strength format
        %v格式规范用于显示标量网络的强度。对于字符串中出现的每一个%v规范,参数列表中的字符串后面都应跟随相应的标量引用。标量网络的强度以三个字符的格式报告。前两个字符表示强度。第三个字符表示标量的当前逻辑值,可以是表17-4中给出的任何一个值。

参数描述
0逻辑0
1逻辑1
X未知的值
Z高阻态值
L逻辑0或高阻态值
H逻辑1或高阻态值

        前两个字符(强度字符)是两个字母的助记符或一对十进制数字。通常,助记符用于指示强度信息;然而,在不太典型的情况下,可以使用一对十进制数字来指示强度级别的范围。表17-5显示了用于表示各种强度水平的助记符。
        有四个驱动强度和三个电荷存储强度。驱动强度与门输出和连续分配输出相关。电荷存储强度与trireg型网络相关。(强度建模见第7条。)
        对于逻辑值0和1,当信号中没有强度范围时,使用助记符。否则,逻辑值前面有两个十进制数字,表示最大和最小强度级别。

强度强度名称强度等级
SuSupply drive7
StStrong drive6
PuPull drive5
LaLarge capacitor4
WeWeak drive3
MeMedium capacitor2
SmSmall capacitor1
HiHigh impedance0

表17-5-强度等级的助记符

        对于未知值,当0和1强度分量处于相同强度级别时,使用助记符。 否则,未知值X前面有两个十进制数字,分别表示0和1强度级别。 高阻抗强度不能具有已知的逻辑值;该级别允许的唯一逻辑值是Z。 对于值L和H,助记符始终用于指示强度级别。例如:

always
#15 $display($time,,"group=%b signals=%v %v %v",{s1,s2,s3},s1,s2,s3);

下面的示例显示了这种调用可能产生的输出,而表17-6解释了输出中出现的各种强度格式。

0 group=111 signals=St1 Pu1 St1
15 group=011 signals=Pu0 Pu1 St1
30 group=0xz signals=520 PuH HiZ
45 group=0xx signals=Pu0 65X StX
60 group=000 signals=Me0 St0 St0
参数描述
St1强驱动1值
Pu0上拉驱动强1
HiZ高阻态
Me0中等电容强度的0电荷存储
StX强驱动的未知值
PuH

上拉驱动强度1或者高阻态值

65X具有强驱动0分量和上拉驱动1分量的未知值
520具有上拉驱动到中等电容器的可能强度范围的0值

表17-6-强度格式说明

17.1.1.6 Hierarchical name format(层次化命名格式)
        %m格式说明符不接受参数。相反,它使显示任务打印调用包含格式说明符的系统任务的模块、任务、函数或命名块的层次结构名称。当有许多调用系统任务的模块实例时,这很有用。一个明显的应用是触发器或锁存器模块中的定时检查消息;%m格式说明符应精确定位负责生成定时检查消息的模块实例。

17.1.1.7 String format(字符串格式)
        %s格式说明符用于将ASCII代码打印为字符。对于字符串中出现的每个%s规范,参数列表中的字符串后面都应该有相应的参数。相关参数被解释为8位十六进制ASCII码序列,每8位代表一个字符。如果参数是一个变量,其值应该右对齐,以便值的最右边的位是字符串中最后一个字符的最低有效位。字符串的结尾不需要终止字符或值,并且不会打印前导零

17.1.2 Strobed monitoring

$strobe系统任务的语法如语法17-2所示。

strobe_tasks ::=strobe_task_name [ ( list_of_arguments ) ] ;
strobe_task_name ::=$strobe | $strobeb | $strobeo | $strobeh

语法17-2-$strobe系统任务的语法

        系统任务$strobe提供在选定时间显示仿真数据的能力。该时间是当前仿真时间的结束时间,此时该仿真时间内的所有仿真事件都已发生,就在仿真时间提前之前。此任务的参数的指定方式与$display系统任务完全相同,包括特殊字符和格式规范的转义序列的使用(见17.1.1)。例如:

forever @(negedge clock)$strobe ("At time %d, data is %h",$time,data);

        在本例中,$strobe在时钟的每个负边沿将时间和数据信息写入标准输出和日志文件。该动作应在仿真时间提前之前发生,并在该时间发生所有其他事件之后发生,以确保写入的数据是该仿真时间的正确数据。

17.1.3 Continuous monitoring(连续监控)
$monitor系统任务的语法如语法17-3所示。

monitor_tasks ::=monitor_task_name [ ( list_of_arguments ) ] ;| $monitoron ;| $monitoroff ;
monitor_task_name ::=$monitor | $monitorb | $monitoro | $monitorh

语法17-3-$monitor系统任务的语法

        $monitor任务提供了监视和显示指定为任务参数的任何变量或表达式的值的能力。此任务的参数的指定方式与$display系统任务完全相同,包括特殊字符和格式规范的转义序列的使用(见17.1.1)。
        如果两个或多个参数同时更改值,则只生成一个显示新值的显示。一次只能激活一个$monitor显示列表;然而,在仿真过程中,可以多次发出带有新显示列表的新$monitor任务。
        $monitoron和$monitoroff任务控制启用和禁用监视的监视器标志使用$monitoroff关闭标志并禁用监视$monitoron系统任务可用于打开标志,以便启用监视,并且最近对$monitor的调用可以恢复显示。调用$monitoron后,无论值是否发生变化,都应立即显示;这用于在监控会话开始时建立初始值。默认情况下,监视器标志在仿真开始时打开。


$display 和$strobe 和$monitor的区别:
(1)当许多语句与 $display 任务在同一时间内执行时,这些语句和 $display 的执行顺序是不确定的,一般按照程序的顺序结构执行。两者的区别在于:$strobe命令会在当前时间部结束时完成;而$display是只要仿真器看到就会立即执行。例如:

`timescale 1ns/1ns
module test_tb();reg [3:0]  a ;
initial begin$strobe("begin!");a = 1 ;#1 ;a <= a + 1 ;//第一次显示$display("$display excuting result: %d.", a);$strobe("$strobe excuting result: %d.", a);#1 ;$display();//第二次显示$display("$display excuting result: %d.", a);$strobe("$strobe excuting result: %d.", a);$strobe("end!");
endendmodule 

运行结果如下:

 可以看到,$strobe与$display的打印内容不是一致的。这是因为该语句:    a <= a + 1 ;也就是
在第一次打印时,$display不会管a是阻塞赋值还是非阻塞赋值,它就直接打印a当前的值1。而$strobe则会等到非阻塞赋值完成后再打印,所以其打印的值为2。在第二次打印时,又延时了1ns,所以此时的非阻塞赋值完成,那么$strobe与$display的打印内容就均为2了。所以$strobe这个系统任务通常是用来打印当前非阻塞赋值的变量值的。
(2)$monitor 为监测任务,用于变量的持续监测。只要变量发生了变化,$monitor 就会打印显示出对应的信息。

`timescale 1ns/1nsmodule test_tb();reg [1:0]  a ;
reg [1:0]  b ;
reg [1:0]  c ;initial begina = 0 ;b = 0 ;c = 0 ;$monitor("a=%d b=%d c=%d",a,b,c);#50 $finish;	//50ns后停止
endalways #10 begin		//每10ns,随机生成a,b,ca = {$random}%4;b = {$random}%4;c = {$random}%4;
endendmodule 

 (3) $display可以直接打印一条文本信息,并在每一次$display执行后会自动换行,$write的用法与$display一致,区别在于,一条$write语句执行完后,不会自动换行。

相关文章:

17.1 Display system tasks

系统任务的显示组分为三类&#xff1a;显示和写入任务、选通监视任务和连续监视任务。17.1.1 The display and write tasks $display和$write系统任务的语法如语法17-1所示。 display_tasks ::display_task_name [ ( list_of_arguments ) ] ; display_task_name ::$display | …...

【4】linux命令每日分享——cd切换路径

大家好&#xff0c;这里是sdust-vrlab&#xff0c;Linux是一种免费使用和自由传播的 类UNIX操作系统&#xff0c;Linux的基本思想有两点&#xff1a;一切都是文件&#xff1b;每个文件都有确定的用途&#xff1b;linux涉及到IT行业的方方面面&#xff0c;在我们日常的学习中&am…...

诚邀您体验人工智能AI

近期&#xff0c;人工智能&#xff08;AI&#xff09;领域动作频频&#xff0c;OPENAI公司Chat GPT的出现&#xff0c;标志着人工智能的研究与应用已经进入了一个崭新的发展阶段&#xff0c;国内腾讯、阿里巴巴、百度、易网、国外微软、谷歌、苹果、IBM、Amazon&#xff0c;等互…...

【蓝桥杯集训·每日一题】AcWing 2058. 笨拙的手指

文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴哈希表秦九韶算法一、题目 1、原题链接 2058. 笨拙的手指 2、题目描述 奶牛贝茜正在学习如何在不同进制之间转换数字。 但是她总是犯错误&#xff0c;因为她无法轻易的用两…...

运维排查篇 | Linux 连接跟踪表满了怎么处理

nf_conntrack (在老版本的 Linux 内核中叫 ip_conntrack )是一个内核模块&#xff0c;用于跟踪一个网络连接的状态 一旦内核 netfilter 模块 conntrack 相关参数配置不合理&#xff0c;导致 nf_conntrack table full &#xff0c;就会出现丢包、连接无法建立的问题 这个问题其…...

docker网络基

本文简单介绍下&#xff0c;容器之间的网络访问、容器与宿主机之间的网络访问、宿主机上有哪些网络接口。lolocal的简写&#xff0c;本地回环地址&#xff0c;127.0.0.1&#xff0c;它代表本地虚拟设备接口&#xff0c;默认被看作是永远不会宕掉的接口eth0ethernet的简写&#…...

C++:谈谈单例模式的多种实现形式

文章目录实现 1&#xff1a;静态成员实现 2&#xff1a;atexit 懒汉模式实现 3&#xff1a;原子变量 懒汉模式实现4&#xff1a;atexit 饿汉模式* 实现5&#xff1a;magic static单例模式&#xff1a;保证一个类仅有一个实例&#xff0c;并提供一个该实例的全局访问点。 稳…...

【Spring Cloud Alibaba】007-Nacos 配置*

【Spring Cloud Alibaba】007-Nacos 配置* 文章目录【Spring Cloud Alibaba】007-Nacos 配置*一、概述1、概述2、对比 spring cloud config二、基本使用1、在管理界面新建配置2、启动权限3、 搭建 nacos-config 服务第一步&#xff1a;引入依赖第二步&#xff1a;修改 yaml 配置…...

《安富莱嵌入式周报》第304期:开源硬件耳机设计,AI单片机STM32N6已确定为M55内核,另外还有新品STM32H5, H50X, H7R, H7S发布

往期周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 更新一期视频教程&#xff1a; 第6期ThreadX视频教程&#xff1a;图文并茂吃透RTOS运行机制&#xff0c;任务管理&…...

vuex篇

1.简介(1)vuexVuex 是一个专为 Vue.js 应用程序开发的状态管理模式 库vuex是为vue.js开发的状态管理模式、组件状态集中管理(2)单页面数据流状态发生变化, 视图就重新渲染state发生变化时, 导致view视图发生改变, 视图通过操作action行为, 又会使得state状态发生变化(3)使用场…...

嵌入式开发:在嵌入式应用程序中混合C和C++

许多嵌入式应用程序仍使用c语言编写&#xff0c;但越来越多的嵌入式开发人员现在使用C语言编写程序。某些应用程序甚至共享这两种语言。这有意义吗?C是嵌入式应用中最常用的编程语言。多年来&#xff0c;人们一直期待着向C过渡&#xff0c;但过渡速度相当缓慢。但是&#xff0…...

【2023/图对比/增强】MA-GCL: Model Augmentation Tricks for Graph Contrastive Learning

如果觉得我的分享有一定帮助&#xff0c;欢迎关注我的微信公众号 “码农的科研笔记”&#xff0c;了解更多我的算法和代码学习总结记录。或者点击链接扫码关注【2023/图对比/增强】MA-GCL: Model Augmentation Tricks for Graph Contrastive Learning 【2023/图对比/增强】MA-…...

TensorBoard自定义修改单条及多条曲线颜色

在深度学习可视化训练过程中&#xff0c;曲线颜色是随机的&#xff0c;想要将好看的曲线颜色图放到论文中&#xff0c;就得自定义曲线颜色&#xff0c;具体方法见下文。 目录一、下载svg文件二、修改svg文件三、修改后曲线颜色对比四、总结一、下载svg文件 在TensorBoard界面中…...

时间和空间复杂度

文章目录 前言 一、算法效率 1.如何评判算法效率&#xff1f; 2.算法的复杂度 二、时间复杂度 1.时间复杂度的定义 2. 大O的渐进表示法 三、空间复杂度 总结 前言 本文章讲解时间与空间复杂度 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、算法…...

关于Linux下调试

关于Linux下调试 无论是内核&#xff08;操作系统&#xff09;还是应用程序&#xff0c;都存在需要调试的情况。 所谓工欲善其事&#xff0c;必先利其器。一个好的称手的工具&#xff0c;对于快速分析问题、定位问题&#xff0c;提高效率&#xff0c;非常有帮助。 除了工具&a…...

理解TP、FP、TN、FN

概念定义 按照常用的术语&#xff0c;将两个类分别称为正类 (positive) 和 负类 (negative)。使用数学表示&#xff1a; 1表示正类 &#xff0c; -1 表示负类。 正类通常是少数类&#xff0c;即样本较少的类&#xff08;例如有缺陷的零件&#xff09; 负类通常是多数类&#x…...

软考中级有用吗

当然有用了&#xff01; 软考“简历”&#xff1a;计算机软件资格考试在全国范围内已经实施了二十多年&#xff0c;近十年来,考试规模持续增长&#xff0c;截止目前,累计报考人数约有五百万人。该考试由于其权威性和严肃性&#xff0c;得到了社会各界及用人单位的广泛认同&…...

计算机网络之IP协议(详解

网络层主管地址管理与路由选择。而IP协议就是网络层中一个非常重要的协议。它的作用就是在复杂的网络环境中确定一个合适的路径。IP协议头格式4位版本号(version) 指定IP协议的版本&#xff0c;目前只有两个版本&#xff1a;IP v4和IP v6.对于IP v4来说&#xff0c;这个值就是4…...

Kubernetes之探针probe

deployment只保证pod的状态为running。如果pod状态是running&#xff0c;但是里面丢失了文件&#xff0c;导致用户不能访问数据&#xff0c;则deployment是不管用的&#xff0c;此时就需要probe来检测pod是否正常工作。 probe是定义在容器里的&#xff0c;可以理解为容器里加的…...

高性能低功耗4口高速USB2.0 HUB NS1.1S 兼容FE1.1

NS1.1S是一款高性能、低功耗4口高速 USB2.0 HUB 控制器&#xff0c;上行端口兼容高速 480MHz和全速12MHz两种模式&#xff0c;4个下行端口兼容高速480MHz、全速12MHz、低速1.5MHz三种模式。 NS1.1S采用状态机单事务处理架构&#xff0c;而非单片机架构&#xff0c;多个事务缓冲…...

通过VS Code轻松连接树莓派

如果您正在使用树莓派作为开发平台&#xff0c;那么通过远程连接VS Code到树莓派是非常方便的一种方法。这样&#xff0c;您可以在Windows或macOS等计算机上开发和测试代码&#xff0c;而不必在树莓派上进行。 以下是通过VS Code远程连接到树莓派的步骤&#xff1a; 1.安装Re…...

图纸等敏感文件数据外发时 如何确保效率和安全性?

很多企业随着业务的发展&#xff0c;需要频繁的与外部供应商、合作伙伴之间进行数据的交换和使用。尤其是制造型企业&#xff0c;可能每天都要与几十、上百家供应商及合作伙伴进行产品数据交换。目前&#xff0c;大多数企业已经在内部实施了PDM/PLM系统&#xff0c;实现了对组织…...

2023年CDGA考试-第4章-数据架构(含答案)

2023年CDGA考试-第4章-数据架构(含答案) 单选题 1.请从下列选项中选择不属于数据架构师职责的选项 A.确保数据架构和企业战略及业务架构一致 B.提供数据和组件的标准业务词汇 C.设计企业数据模型 D.整合企业数据架构蓝图 答案 C 2.请从下列选项中选择不属于企业数据架构…...

理解随机游走

随机游走 基本思想 从一个或一系列顶点开始遍历一张图。在任意一个顶点&#xff0c;遍历者将以概率1-a游走到这个顶点的邻居顶点&#xff0c;以概率a随机跳跃到图中的任何一个顶点&#xff0c;称a为跳转发生概率&#xff0c;每次游走后得出一个概率分布&#xff0c;该概率分布…...

mqtt协议1- 简介和报文格式

文章目录1.mqtt协议1: 简介和报文格式1.1.MQTT概念1.2.数据2.控制报文格式2.1.MQTT数据包结构2.2.固定头2.2.1.控制报文类型2.2.2.标志FLag2.2.3.剩余长度2.3.可变头2.4.有效载荷Payload消息体安全QoS(Quality of Service levels)ref:1.mqtt协议1: 简介和报文格式 Message Que…...

前端用动画快速实现骨架屏效果

一、动画的语法 1.定义动画 keyframes 自定义动画名称 {// 开始from {transform: scale(1);}// 结束to {transform: scale(1.5);} }// 或者还可以使用百分比定义keyframes 动画名称 {// 开始0% {transform: scale(1);}// 结束100% {transform: scale(1.5);} } 2.调用 anima…...

Python入门(未完待续。。。)

认识python 解释型&#xff08;写完直接运行&#xff09;、面向对象的高级编程语言&#xff1b;开源免费、支持交互式、可跨平台移植的脚本语言&#xff1b;优点&#xff1a;开源、易于维护、可移植、简单优雅、功能强大、可扩展、可移植&#xff1b;缺点&#xff1a;解释型→运…...

注解配置SpringMVC

使用配置类和注解代替web.xml和Spring和SpringMVC配置文件的功能。创建初始化类&#xff0c;代替web.xmlSpring3.2引入了一个便利的WebApplicationInitializer基础实现&#xff0c;名为AbstractAnnotationConfigDispatcherServletInitializer&#xff0c;当我们的类扩展了Abstr…...

多项新规重磅发布,微信视频号近期需要关注这几点

随着功能的完善和内容生态的丰富&#xff0c;视频号逐渐放慢产品更新频率&#xff0c;将重点放到商家准入标准、创作者扶持计划上来&#xff0c;本期我们将更侧重解读平台新规&#xff0c;帮助大家了解行业动向&#xff0c;把握最新趋势。01 视频号小店结算规则修订 取消48小时…...

Java调用第三方http接口的方式

1. 概述 在实际开发过程中&#xff0c;我们经常需要调用对方提供的接口或测试自己写的接口是否合适。很多项目都会封装规定好本身项目的接口规范&#xff0c;所以大多数需要去调用对方提供的接口或第三方接口&#xff08;短信、天气等&#xff09;。 在Java项目中调用第三方接…...