自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(208)
  • 问答 (7)
  • 收藏
  • 关注

原创 Linux configure.ac:51: error: possibly undefined macro: AC_MSG_ERROR

【代码】Linux configure.ac:51: error: possibly undefined macro: AC_MSG_ERROR。

2024-08-26 14:33:41 241 1

原创 开发板有线连主机,主机无线上网,开发板上网

以太网4连接开发板wlan设置共享vmwave需要禁用(否则占用共享地址192.168.137.1)

2024-02-05 18:47:42 268

原创 低功耗 电源管理 SCMI接口

SCMI overview:SCMI 协议:

2023-12-21 19:03:46 703

原创 低功耗 电源管理 ACPI协议

• G状态(Global System State)• S状态(Sleep state)• C状态(CPU power state)• P状态(CPU Performance state)• D状态(Device state)• T状态(CPU Throttling state)

2023-11-21 15:59:38 995

原创 ARM 低功耗架构

当遇到Linux没有权限的事情的时候(eg: 当Linux想要关机或者休眠的时候,这涉及到整个系统电源状态的变化,为了安全性Linux内核没有权利直接执行,需要陷入到EL3等级去执行),需要给SCP打报告,SCP审批后去执行。PSCI是工作在non secure EL1(linux内核)/EL2 hypervisor和EL3(bl31)之间的一组电源管理接口,PSCI在EL3实现。PSCI是ARM安全和非安全世界之间的接口,提供了一种发出电源管理请求的方法,在SPF和可信操作系统之间进行通信。

2023-11-21 15:40:13 774

原创 linux os cpufreq 调频

好像还可以,但我没有/etc/powersave/,不行。查看对应目录下,没有cpufreq。查看可以用的 CPUfreq 模块。可能是关闭CPU频率调整,可能是调频模块没有启动,

2023-11-09 17:06:19 304

原创 amd Ubuntu opencl 安装

安装amd显卡驱动,下载地址:安装成功之后可输入 glxinfo | grep rendering,显示 yes 则显卡驱动安装成功。安装 openCL 头文件OpenCl opencl SDK 下载地址:工具查看显卡对 openCL 的支持情况clinfo重启进入 /opt/AMDAPPSDK-2.9-1/samples/opencl/bin/x86_64 下有很多 demo,可以点击尝试运行,比如运行 SimpleGL 会有类似正弦波的界面出来。

2023-11-08 10:46:24 1415 3

原创 unixbench cpu 性能测试

测试项。

2023-10-26 15:17:44 200

原创 linux git gvim 操作

【代码】linux git gvim 操作。

2023-08-25 16:28:48 140

原创 评价指标计算

macro avg 是计算这些指标的宏平均值。不考虑类别样本数量的差异,将每个类别的指标求和后再除以类别总数N,得到各指标的平均值。准确率(Precision):记为P_i,表示被正确预测为类别i的样本数占所有被预测为类别i的样本数的比例。召回率(Recall):记为R_i,表示被正确预测为类别i的样本数占真实类别i的样本数的比例。F1-score:记为F1_i,是准确率和召回率的加权调和平均,用于综合考虑准确率和召回率。micro avg-R = (总体TP) / (总体TP + 总体FN)

2023-05-26 19:29:34 1030

原创 python dataframe 统计检查处理

【代码】python dataframe 统计检查处理。

2023-05-04 14:10:21 216 1

原创 python 统计画图

【代码】python 统计画图。

2023-05-04 13:52:29 136

原创 python Concatenate合并两个CNN模型

【代码】python Concatenate合并两个CNN模型。

2023-04-26 15:45:59 796

原创 python 插值处理一维数据 interpolate

插值处理一维数据 interpolate

2022-12-15 19:10:27 1116

原创 python 处理numpy nan值

numpy nam值处理

2022-12-04 19:47:56 655

原创 UVM sequence 3种启动方式

在build_phase中将某个sequence配置成某个sequencer的动态运行的phase中(如main_phase)的default_sequence, 那么在仿真执行到main_phase的时候,squencer的default_sequence就会启动。第二类:uvm_do_on类。第一类:uvm_do类。

2022-09-19 19:04:43 3067

原创 建立时间和保持时间

setup time是针对Capture edge来说,待传输数据不能来太晚hold time是针对Capture edge来说,新数据不能来太早,以确保待传输数据保持一段时间当前待传输的数据,相对于Capture edge来说,必须早来(setup time)晚走(hold time)

2022-09-18 16:03:16 387

原创 system verilog rand randc constraint randomize

关键词:dist 用来产生随机数值的权重分布。操作符 := 和 :/

2022-09-16 12:40:09 979

原创 system verilog 处理子进程(关闭/等待/跳转)

如何关闭 fork 里某个子进程?disable语句可以用在task或者块中去终止指定的task或块,包括终止disable语句所在的块或者task。disable也可以用在function中去终止task或者块,但不能用于终止function。当在function中用dsiable语句终止了一个task或者块,而这个task或者块刚好又是这个function的caller,这种情况的结果是未知的。方法:给每个begin end块起个名字,然后就可以在该begin end中关闭该子进程。

2022-09-15 15:34:54 2288

原创 system verilog 数据类型

Verilog 的数据类型主要是线网和变量,即 wire, reg, integer,都是四值逻辑(0、1、x、z)

2022-09-11 19:56:18 550

原创 system verilog randomize_with{ } 重新定义约束

/子类继承父类,会继承属性和方法,所以父类的约束也继承了 constraint c_xy //子类如果想定义一个新约束覆盖父类,则需要定义一个同名约束 {x == 0;y == 0;//在子类约束的基础上随机化 $ display("x = %d" , p . x);

2022-09-11 19:33:42 883

原创 UVM driver和sequencer握手机制 get_next_item() 和 get() and put()

UVM driver和sequencer握手机制 get_next_item() 和 get() and put()

2022-09-10 21:01:11 3319

原创 UVM TLM FIFO通信 示例

component A 每隔 50ns 往 tlm_fifo 写入一个 transaction,component B 每隔 100ns 从 tlm_fifo 读出一个 transaction。

2022-09-08 19:24:48 419

原创 system verilog 句柄 ref参数传递 C语言指针

systemverilog 中的变量可以分为两种,一种普通变量类型,一种是句柄变量类型。output :报null point 错误。输出结果是: 3 2。

2022-09-07 16:05:10 1477

原创 UVM 覆盖率

代码覆盖率

2022-09-05 21:37:07 1219

原创 UVM phase

uvm phase

2022-09-05 21:23:47 408

原创 UVM 事务级建模TLM 单向/多向通信 端口 FIFO通信

TLM通信是基于组件请求的发起和响应,组件之间涉及事务(transaction, trans)的传输,如sequencer与driver、monitor与scoreboard、monitor与coverage model。TLM仅仅适用于component之间的连接TLM在各组件之间建立一个专用通道,让信息只在这个通道里流动,因此避免了全局变量,public成员变量和config机制通讯时带来的不便。

2022-09-05 15:55:48 1351

原创 UVM m_sequencer 和 p_sequencer

p_sequencer

2022-08-28 21:08:27 1031

原创 amba DMA

DMA:DMA负责把帮CPU搬数据memory1的地址是0x10000-0x20000memory2的地址是0x20000-0x30000dma基地址是0x30000-0x31000,内存1k,5个寄存器,偏移地址分别是0x00,0x04,0x08,0x0c,0x10 step0:

2022-05-22 22:53:00 343

原创 system verilog assert 延时变量

##variable: 正常情况写 ##5,##后跟常数数字 需要用到变量的延时可以这么写property time_wait; int cnt=limit; @(posedge clk) $rose(a) |-> (cnt>0, cnt--)[*] ##0 cnt==0;endpropertyassert property (time_wait);//直接写 ##variable,报错:// ##后需要跟常量The use of a non-constant

2022-05-22 16:20:07 751

原创 system verilog property assertionⅡ 包含function的断言

assertion 中插入 if/else: 注意分号使用,|-> |=> 和 if 的连接 property内部可以定义局部变量(C语言变量/数字电路类型变量),和正常的程序一样// if条件是个判断,if前有蕴含符property p1; int cnt; // property内部可以定义局部变量,C语言变量 bit w; // reg[n:0]等数字电路类型 也可以 @(posedge clk) a |->

2022-05-14 18:12:40 1006

原创 python 拆分字符串 split 和 re.split 正则表达式

单字符拆分 split():s = "+define+A+define+B+define+C"print(s.split('+define+')) 多字符切分 re.split():Regular Expression 正则表达式re 提供各种正则表达式的匹配操作,用于文本解析、复杂字符串分析和信息提取import res = "+define+A+define+B+define+C-timescale=1ns/1fs"print(s.split('+define+')) #

2022-05-05 20:32:52 678

原创 system verilog property assertion 断言

property: property: “流程”assert:并发断言 (concurrent assertion) 并发断言基于时钟周期,用于描述一个跨时钟周期的行为 并发断言使用关键字 property…endproperty描述事件,如下// "流程"property ......endproperty// assert关键字启动断言检查AssertName:assert property(PropertyName); // assert:检查是否符合该流程

2022-05-04 23:34:42 2230

原创 UVM First Steps with UVM - Register Layer

学习目标:UVM 寄存器序列 my_reg_seq 通过 UVM 寄存器块 my_reg_model 写入和读取 DUT 中的寄存器 r0 和 r1design.sv//----------------------------------------------------------------------// Copyright (c) 2011-2012 by Doulos Ltd.//// Licensed under the Apache License, Version 2.0

2022-04-19 22:28:48 405

原创 verilog 售卖机 三段式状态机

状态机类型Moore 状态机Moore 型状态机的输出只与当前状态有关,与当前输入无关。输入对输出的影响要到下一个时钟周期才能反映出来。Mealy 状态机。Mealy 型状态机的输出,不仅与当前状态有关,还取决于当前的输入信号。输入变化可能出现在任何状态的时钟周期内Mealy型3段式状态机 自动售卖机:状态转移图:自动售卖机的功能描述如下:饮料单价 2 元,该售卖机只能接受 0.5 元、1 元的硬币。考虑找零和出货。投币和出货过程都是一次一次的进行,不会出现一次性投入多币或一次性出货多瓶

2022-03-29 19:01:03 1410

原创 system verilog 多态 虚函数 virtual function $cast(son, father) 抽象类 virtual class

多态实现多态有以下方法:虚函数、虚类、重载多态的目的就是实现函数的重载,从而使得一个子类的指针在以父类的类型传递时,表现出的行为依然是子类的行为。虚函数 virtual function: 不使用 virtual,父类句柄虽指向子类对象,但调用的仍是父类本身的函数 使用 virtual,父类句柄指向子类对象,调用的是子类的函数// 不使用virtual,父类句柄虽指向子类对象,但调用的仍是父类本身的函数class father; function display(); $

2022-03-28 18:43:14 1914

原创 UVM Hello World Tutorial

dut:// dut连接testbench的接口interface dut_if; // 在dut中定义dut接口 logic clock, reset; logic cmd; // 接口的变量,即transaction传输的变量 logic [7:0] addr; logic [7:0] data;endinterface`include "uvm_macros.svh"// dut// 时钟切换就会简单地打印一条消息module dut(.

2022-03-26 18:52:14 840

原创 system verilog 指针this 和 super

调用变量this: 指向对象本身的一个指针使用 this 和 super 调用成员变量和方法,this 和 super的区别在于:this 会先在当前作用域中查找,如果当前作用中没有,则会去上一级作用域中查找,知道找到该变量或者function/task为止;super首先会先在该类的父类中查找。// https://www.edaplayground.com 调试// 形参与成员名字重名,用 this 来区分:`include "uvm_macros.svh"`timescale 1ns

2022-03-26 13:36:47 2558

原创 system verilog 静态对象 动态对象

静态对象: class类的定义必须要已经存在于内存当中,再创建对象。创建对象的时候才会占用内存,当该对象不被使用后就会自动被后台进程回收内存。class中定义了成员变量和方法,这个方法可以是不消耗时间的function,也可以是消耗时间的task。动态对象: modulemodule中存在的都是静态对象,其在仿真过程中会一直存在。验证平台和DUT都是静态对象。一个class定义中不能包含一个module。因为class是动态对象,会在仿真过程中被回收。class example; str

2022-03-25 19:31:48 869

原创 local protected public 变量 system verilog 全局/局部变量

system verilog 局部变量 全局变量继承类/外部均可以调用public// https://www.edaplayground.com 调试// 继承类可以调用public // 外部可以调用public`include "uvm_macros.svh"`timescale 1ns/1psimport uvm_pkg::*;// The top module that contains the DUT and interface.// This module start

2022-03-25 18:57:26 1161

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除