- 博客(42)
- 收藏
- 关注
原创 使用filezilla连接Ubuntu22.04虚拟机
① 在windows下ctrl+R再输入cmd,打开指令窗口,输入ipconfig虚拟机连接电脑用的是NAT模式,故看VMnet8的IP地址② 查看虚拟机IP地址终端输入ifconfig如果没安装,按提示安装net-tools可以看到ens33的IP地址。
2024-03-29 10:01:37
1498
1
原创 【三数之和】
如果用以下的去重公式,则会把第一次出现且只出现一次的三元组答案去掉。所以应该使用以下公式,其中i>0是为了保证i-1不溢出。注意要点:答案中不能出现重复的三元组,意味着要去重。当指针移动,要去掉重复的元素。
2024-02-25 17:11:38
347
原创 【计算机网络】网络层
网络层关注的是如何将分组从源端沿着网络路径到达目的端由此引出一个争议的问题:计算机的可靠传输依靠网络还是端系统?计算机通信的可靠传输,依靠的是端系统,而不是网络。
2024-01-03 20:42:34
1119
1
原创 【删除链表的倒数第N个结点】
Problem: 19. 删除链表的倒数第 N 个结点文章目录思路Code思路假设一共有M个结点移动到删除的结点需要M-N步结合链表特性,为了方便删除结点,应该移动M-N-1步采用双指针,fast先移动N步,slow和fast再一起移动,直到fast == NULL采用虚拟头结点Code/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *nex
2024-01-02 10:59:01
465
原创 【两两交换链表中的节点】
Q:A:cur->next为空结束cur->next->next为空结束如果是cur->next != NULL || cur->next->next != NULL则当链表为奇数链表时,cur->next != NULL也成立,不符合条件。(根据模拟过程,如果要改变1和2的位置,指针cur需要指向前一个位置,即dummy,同理,改变3和4位置,cur指向2,当3和4交换完毕,cur会指向4,再进行条件判断)注意要点 和顺序不能错,否则会出现空指针异常以下是链表模拟过程步骤一步骤2步骤3
2023-12-30 16:48:19
405
原创 【二分算法】
因为是在左闭右开的区间中找,如果right = mid - 1,那就相当于把num[mid - 1]去掉了。这种情况下,left = right是有意义的,故while(left target时,right = mid - 1。当nums[mid] < target时,left = mid + 1。当nums[mid] < target时,left = mid + 1。当nums[mid] > target时,right = mid。
2023-12-14 10:32:51
517
原创 【计算机网络】数据链路层
除了物理线路外,还需要有通信协议来控制这些数据的传输。最常用的方法是用网卡来实现这些协议的硬件和软件帧:数据链路层传输的内容。
2023-12-05 14:22:39
1026
原创 【计算机网络】物理层
如果一个码元含有3个bit信息量则 1波特=3Bit/s(用三位二进制表示)集线器对信号只起到放大和重发作用,区分不了源地址和目的地址,所以是冲突域。带通信号:基带信号经过载波调制后,把信号的频率范围搬移到较高频段。通过对有线电视的线路改造,将线路接入模拟光纤,也能用于上网。有噪声的情况下,只要说话的速率足够慢,还是能听清。任何信道,码元传输的速率是有上限的,否则会出现。不同的频段用于不同功能,下行的频宽明显宽。机械特性、电气特性、功能特性、过程特性。多模光纤:用不同的折射角发送。
2023-11-29 21:41:19
430
原创 【内存管理】
当需要把占用k个分配单元的进程调入内存时,先搜索位图,找到有k个连续0的串,而查找的这个过程是比较耗时的操作,这是位图的缺点。(或者周期性唤醒以完成相关工作),这种方法的缺点在于,每次访问内存都需要做加法和比较运算,加法运算由于进位传递,会十分消耗时间。空闲区链表:维护一个链表,该链表记录了已分配内存段和未分配内存段,通常采用双向链表。例如,程序①的地址28对应的物理地址和程序②的地址28对应的物理地址不一致。利用每个程序拥有自己的地址空间,将不同的程序映射到不同的物理内存,这就叫。
2023-10-08 20:38:29
93
原创 【IC设计学习】小梅哥视频
对testbench的理解:tb就是DUT的外壳,在DUT的input连接上一个类似开关的器件,在代码中以寄存器的方式存在;output的信号需要通过“示波器”来看,所以用wire的形式表现。
2023-10-04 10:52:56
82
原创 【DVT使用】DVT的特性和实验引入01
视频中讲错了,按视频中回车后输入$DVT_HOME会报错,所以我不换行输入,(别加回车,都会报错!选中某个模块,右键,Refactor->Add port或parameter。可以看出seq是怎么构成的,但是不能实时分析发送了几次seq(VCS可以):表示采取questasim的兼容模式,questa可以识别下面的指令。:自动补全(点一次:信号变量、方法,点两次:代码模板,点三次:例化)右键方法名->show->layer可以展示他的层次。UVM的指令(按下面的指令输入,但是别加换行)
2023-09-06 21:04:09
419
原创 【ysyx】verilator初使用 02
① 为了能在verilator安装路径以外的地方运行,需要添加以下路径。⑤运行obj_dir文件夹的Vour,终端输入以下指令。等号后面为自己的verilator的安装路径。④ 运行完成后,会生成obj_dir文件。:使verilator能够自动make。:使cpp文件能创建成可执行文件。② 在任意文件夹下创建两个文件。:获取C++的输出文件。
2023-09-04 20:20:18
865
2
原创 【ysyx】verilator安装与避坑 01
多试几次就行,就是国内的网络连接github不太好连接,看运气。最后查看verilator的版本即可。涉及git的指令可能会出现两种错误。打开verilator官网的。按照红色框的代码直接输入就行。
2023-09-01 17:32:07
635
原创 【笨方法学C】练习17:堆和栈的内存分配
该练习创建的数据库内容比较复杂,采用以下图示的方式给出结构:创建一个Connection类型的结构体conn,并对里面Database类型的结构体db的Address结构体赋初值:将文件位置指示器指向文件开头,并把创建好的database类型结构体写入到文件,使用fflush()强制将缓冲区数据写入到文件:根据输入id,获取db数组的一个Address结构体,如果Address->set为1则打印,为0报错。
2023-08-14 11:48:33
245
原创 【笨方法学C】练习16:结构体和指向它们的指针
结构体创建格式结构体的实例化离不开创建函数① malloc分配空间② 断言确定是否分配成功(加上assert.h头文件)③ 分配参数strdup(s)将参数 s 指向的字符串复制到一个字符串指针,需要分配空间,故销毁函数中需要将该参数也释放④ 返回结构体有创建函数就要有与之对应的销毁函数,用于释放内存空间,以防内存泄漏打印结构体函数:main函数中实例化结构体并打印:创建结构体和上述类似,但是声明采用以下形式
2023-08-12 10:41:07
132
原创 【笨方法学C】练习8:大小和数组
C语言把字符串当成是数组形式的byte对于C语言来说,以下的两种创建char型数组方法一致,由此可看出char型name数组会自动补上\0使用sizeof()能否询问C语言数组的大小(单位是byte)
2023-08-07 10:31:49
107
原创 【笨方法学C】练习2:用make代替python
这里用到一个CFLAGS的选项:-g-g 用于在生成的目标可执行文件中,添加调试信息,可以使用GDB进行调试。
2023-08-05 19:56:24
97
1
原创 【笨方法学C】练习1:启动编译器
CFLAGS用于表示C编译器选项-Wall 生成常见的所有告警信息,且停止编译,具体是哪些告警信息其他选项看其他博文就行,反正对我来说,没用上就记不住。
2023-08-05 19:31:04
130
1
原创 【验证基础】sv中的约束使用
软约束是指参数在编译时可以有一个默认值,但在运行时可以通过实例化或命令行选项进行修改。😕 表示权重平均分到值范围内的每一个值。:= 表示值范围内的每个值权重一样。可以在约束中产生随机数值的权重分布。
2023-08-02 10:19:06
1538
原创 【OPNET】统计丢包率
① 在接收端的local statistics和global statistics分别添加统计量。① 在链路层process model的头文件添加全局变量。④ 在头文件添加全局变量subm_pkts并赋初值。记得加上统计量所属的group前缀。① 状态变量添加接收数据包的变量。② 在入口初始化的状态机赋初值。② 入口的状态机注册。
2023-07-17 09:29:50
399
1
原创 MCDF UVM实验lab1
控制台输出信息如下程序执行顺序:① phase_order_test的build phase (build phase执行顺序为自顶向下)② comp1的build phase③ comp2的build phase④ comp3的build phase⑤ comp2、comp3的connect phase⑥ comp1的connect phase⑦ phase_order_test的connect phase。
2023-06-23 17:21:08
135
1
原创 matplotlib学习笔记
matplotlib第一章matplotlib通常有两种绘图接口:①显示创建figure和axes②依赖pyplot自动创建figure和axes,并绘图matplotlib环境本文是在jupyter notebook下运行的,使用的matplotlb版本是3.5.1首先在代码中加入matplotlib的包import matplotlib.pyplot as pltimport matplotlib as mplimport numpy as np另外,如果想知道自己的包版本的话,可
2022-05-16 17:00:44
548
原创 【MATLAB UAV Toolbox】使用指南(三)
可视化自定义飞行日志通过配置flightLogSignalMapping可从自定义的飞行日志中可视化数据。加载自定义的飞行日志在本例中,假设飞行数据已经被解析到MATLAB®中,并存储为M文件。本示例重点介绍如何配置flightLogSignalMapping,以便它能够正确地处理保存在M文件中并将日志数据可视化。customFlightData.mat存储包含3个字段的结构.Fs是信号的抽样频率,它存储在MAT文件里。IMU和Trajectory是包含实际飞行信息的矩阵。弹道数据和IMU数据是基于一
2022-01-01 10:50:30
2372
原创 【MATLAB UAV Toolbox】使用指南(二)
可视化和回放MAVLink飞行日志这个例子将展示如何将包含MAVLink包的遥测日志(TLOG)加载进MATLAB。提取的详细信息用来绘图。然后再次仿真飞行,这些消息通过MAVLink通信接口重新发布。发布的内容则是模仿无人机执行遥测日志记录的飞行情况。加载MAVLink遥测日志用common.xml创建一个对象mavlinkdialect给到dialect。使用mavlinktlog和dialect用于加载遥测日志的数据。dialect = mavlinkdialect('common.xml')
2021-12-16 16:59:39
2303
原创 【MATLAB UAV Toolbox】使用指南(一)
开始使用UAV Toolbox设计,仿真和部署无人机应用程序UAV Toolbox给设计、仿真、测试和部署无人机应用程序提供了工具和参考应用。你能够设计自动飞行算法、无人机任务和飞行控制器。飞行日志分析仪应用程序可以让您交互式地分析3D飞行路径,遥测信息,以及常见飞行日志格式的传感器读数。对于自主飞行算法和飞行控制器的桌面模拟和硬件在环(HIL)测试,您可以生成和模拟无人机场景。你能够在照片级真实感3D环境或者2.5D仿真环境中仿真出相机、雷达、IMU和GPS传感器输出。UAV Toolbox为一般
2021-12-14 16:34:09
5426
10
翻译 【PX4自动驾驶用户指南】距离传感器
距离传感器(测距仪)距离传感器提供距离测量,可用于地形跟踪、地形保持(如摄影时精确悬停)、改进着陆行为(距离辅助)、高度限制警告、碰撞预防等本节列出了PX4支持的距离传感器(链接到更详细的文档),所有测距仪、测试和仿真信息所需的通用配置。下面链接的主题(和侧栏)提供了更详细的设置和配置信息。可支持的测距仪ARK FlowARK Flow 是一个开源的飞行时间检测器(Time-of-Flight,TOF)和光流传感器模块,能够测量8厘米到30米的距离。它可以通过CAN1端口连接到飞行控制器,允许其
2021-12-07 17:04:41
2106
原创 【教程】如何移植FPGA关于HDMI例程
【教程】如何移植FPGA关于HDMI例程时钟IP核约束条件在完成EDA作业后,抽空分享一下如何移植FPGA的例程。我EDA作业用的板子型号是Zybo-Z7,然后移植的是原子哥的HDMI实现方块移动例程。故本教程是基于这个实验进行讲解,如果不具有普遍性,望大家谅解。以下是移植的步骤:时钟IP核Zybo-Z7用的外部时钟是125MHz,领航者用的是50MHz,所以建立时钟IP核时,把初始的时钟频率改一下约束条件具有普遍性的修改是时钟引脚,以及复位引脚,其他的引脚则需要根据官方给的原理图以及用户手册
2021-11-21 16:07:02
961
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人