自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cc__cc__的博客

记录日常,欢迎交流

  • 博客(91)
  • 资源 (2)
  • 收藏
  • 关注

原创 SystemVerilog学习笔记(全)

SystemVerilog学习笔记汇总,欢迎交流!【SystemVerilog笔记(一)】数据类型【SystemVerilog笔记(二)】过程块以及task/function【SystemVerilog笔记(三)】接口和时钟块【SystemVerilog笔记(四)】class与package【SystemVerilog笔记(五)】随机约束【SystemVerilog笔记(六)】覆盖率【SystemVerilog笔记(七)】线程的使用【SystemVerilog笔记(八)】高阶内容..

2022-01-28 11:49:37 12998

原创 Altium Designer学习笔记(全)

Altium Designer学习笔记汇总——通过简单的示例明确pcb绘制的基本流程【Altium Designer学习(一)】原理图设计【Altium Designer学习(二)】原理图库的设计【Altium Designer学习(三)】PCB库的设计【Altium Designer学习(四)】集成库的制作【Altium Designer学习(五)】PCB设计(1)【Altium D...

2019-09-06 11:32:59 2146

原创 Synthesis流程_约束_策略

⭐Synthesis = Translation + Optimization + Mapping⭐综合步骤1.指定相关的库set target_library "my_tech.db"set link_library "* my_tech.db"set symbol_library "tc6a.sdb"2.读取设计文件analyze -f verilog ALU.vanalyze -f verilog TOP.velaborate TOPcheck_design3.相关约束3

2022-05-03 22:03:04 1613

原创 Vivado综合生成BRAM及与LUTRAM的区别

使用vivado中的BRAM可以通过例化Block Memory Generator这一ip并进行相关的设定。另外可以通过直接编写符合BRAM规范的代码,借助综合工具直接将其综合为BRAM。这时需要通过(*ram_style="block"*)对array进行修饰。下面给出一种看似可以综合为BRAM的示例。module LUTRAM #( parameter ADDR_WIDTH = 32, parameter DATA_WIDTH = 32, ..

2022-05-01 22:23:58 8011

原创 【UVM入门笔记(五)】sequence和sequencer相关内容(2)

一、Sequencer和Sequence相关问题:1)如果多个sequence需要同时挂载到sequencer,则需要进行仲裁。2)区别item和sequence的挂载方式,明确`uvm_do等宏的使用。sequence挂载到sequencer的方法uvm_sequence::start(uvm_sequencer_base sequencer, uvm_sequence_base parent_sequence=null,

2022-03-27 11:41:11 801

原创 【UVM入门笔记(四)】sequence和sequencer相关内容(1)

一、相关名词:sequence item:driver和DUT互动的最小粒度。sequence:产生目标数量的sequence item对象,也可产生多个sequence(层次化),并进行相应的随机化。sequencer:sequence item会经过sequencer再流向driver。driver:必要时,driver在消耗掉一个item后会将状态信息通过item对象返回sequencer,最终到达sequence一侧。其它:1)driver和sequencer都是uvm组件,其之间的通

2022-03-26 21:38:10 1614

原创 【UVM入门笔记(三)】TLM通信

文章目录一、TLM通信概述二、单向通信一、TLM通信概述系统原型阶段和芯片验证阶段均使用了TLM通信方式。前者为了更快地实现硬件原型之间的数据通信,后者为了更快地实现验证组件之间的数据通信。TLM是一种提高数据传输抽象级的标准,可以用来表示宽松时间跨度内的硬件通信数据。通过将低颗粒硬件周期内的数据打包成一个大数据,可以有效地提升整体环境的仿真速度。基本概念1)两个通信对象:initial(发起通信请求的一方)和target(发起通信的响应方)。2)按照transaction的流向区分两个对象:

2022-02-27 21:19:20 1397

原创 【UVM入门笔记(二)】核心基类_phase机制_config机制_消息管理

1.核心基类(uvm_object)UVM的类最初都是从uvm_void(虚类)继承而来,继承于uvm_void的两个子类为uvm_object和uvm_port_base。uvm_object的核心方法主要提供与数据操作相关的服务:copy、clone、compare、print、pack/unpack。域的自动化。使得注册UVM类的同时可以声明会参与到上述copy等操作的成员变量。`uvm_object_utils_begin(class_name) `uvm_field_int(xx,

2022-01-30 23:37:15 1981

原创 【UVM入门笔记(一)】类库和工厂机制

※ SV的核心特性包括面向对象、随机约束、线程通信、功能覆盖率收集等。详细内容可见

2022-01-28 17:49:34 1150

原创 【SystemVerilog笔记(八)】高阶内容

文章目录1.类型转换2.虚方法3.对象拷贝4.回调函数5.参数化的类1.类型转换类型转换包括隐式转换(如等号左右位宽不同)和显式转换,显式转换又可分为静态转换'(转换失败不会提示)和动态转换$cast(target,src)父类句柄指向子类对象是可以的,但将一个父类句柄赋值给子类句柄在sv中是禁止的,需要通过$cast()实现句柄的动态转换,如果源对象和目的句柄是同一类型或者是目的句柄的扩展类则会转换成功。2.虚方法※由于类的多态性,通过虚方法就可以实现动态绑定,不需要担心句柄指向的对象类型是

2022-01-21 21:52:43 1887

原创 【SystemVerilog笔记(七)】线程的使用

1.线程的使用从硬件角度,Verilog通过always、initial过程块和信号数据连接实现进程间通信。可将不同module作为独立的程序块,其同步通过信号的变化(event触发)、等待特定事件(时钟周期)或者时间(固定延时)来完成。线程即独立运行的程序,需要被触发,可以结束或者不结束。验证环境中的对象可以创建和销毁,软件测试端的资源占用是动态的。软件环境中的initial块有两种分组方式,begin...end串行执行或者fork..join/join_any/join_none并行执行。

2022-01-21 20:58:06 1513

原创 【SystemVerilog笔记(六)】覆盖率

文章目录1.覆盖率2.覆盖组 covergroup3.数据采样4.交叉覆盖率5.覆盖选项1.覆盖率覆盖率是衡量设计验证完备性的一个通用词语。覆盖率是伴随着仿真来收集的。代码覆盖率在编译时添加一些选项以监测代码的执行情况。包括行覆盖率、路径覆盖率、翻转覆盖率和状态机覆盖率。断言覆盖率– 使用SV的程序性代码可以实现等效性检查,但使用SVA(SV断言)进行表达更容易。– 可以使用cover property来测量所关心的信号值或者状态是否发生。功能覆盖率– 如果覆盖率稳定增长,则只需修改种子

2022-01-16 21:35:55 2628

原创 【SystemVerilog笔记(五)】随机约束

1.随机约束关键字随机约束的关键字是rand,通常用于修饰class中的成员变量。此外还有randc表示周期随机性,所有可能值都出现过后才可能重复。通过使用std::randomize()函数才能对声明了rand的变量进行随机化。...

2022-01-16 11:59:15 2408

原创 VCS入门笔记

文章目录1. Basic1)Two-step Simulation Process2)One-step Simulation Process2. VCS UCLI Debugger3. DVE1. Basic1)Two-step Simulation Processcompile: vcs xx.v xx.vrun simulation: ./simv※create simulation executable with different name: vcs xx.v xx.v -o diffn

2022-01-07 20:23:33 658

原创 【SystemVerilog笔记(四)】class与package

(一)class面向对象编程的三要素:封装、继承和多态。一、类和对象1.class类class类包含成员变量(property)和成员方法(method)的声明,属于软件的范畴,只能定义软件变量(reg和wire等硬件信号是不能用的),且默认其生命周期是动态的。此外,class可以通过interface作为媒介获取硬件信号。2.object对象和handle句柄object对象是类的实例,类的例化可以在任意时间点发生;handle句柄是用来指向对象的指针(悬空的句柄为null),示例如

2021-12-12 19:07:09 3693

原创 DETR训练自己的数据集

github地址:https://github.com/facebookresearch/detr1.创建conda环境推荐通过conda创建虚拟环境,具体操作可见linux系统下创建anaconda新环境及问题解决2.clone代码并安装依赖库git clone https://github.com/facebookresearch/detr.gitconda install -c pytorch pytorch torchvisionconda install cython scipy.

2021-12-04 11:57:26 13110 14

原创 VOC格式数据集转为COCO格式数据集脚本

下方脚本进行了一定的修改,亲测可用。参考链接:https://blog.csdn.net/m_buddy/article/details/90348194# -*- coding=utf-8 -*-#!/usr/bin/pythonimport sysimport osimport shutilimport numpy as npimport jsonimport xml.etree.ElementTree as ET# 检测框的ID起始值START_BOUNDING_BOX_I.

2021-12-04 11:26:15 3835 3

原创 【SystemVerilog笔记(三)】接口和时钟块

1、接口将有关信号封装在一个接口(interface)中,进行模块连接时无需众多分散的端口。interface的端口列表只需定义时钟、复位等公共信号或者干脆不定义任何端口信号,而在变量列表中定义DUT与TB连接相关的logic变量。interface例化方式同module相同。2、时钟块在仿真时,为尽量避免时序电路中时钟和驱动信号的时序竞争问题,需尽量给出明确的驱动时序和采样时序,这就需要借助时钟块实现。默认情况下,时钟对组合逻辑电路的驱动会存在一个无限小时间的延迟。下为示例,clk2和d

2021-11-27 21:33:20 5427

原创 【SystemVerilog笔记(二)】过程块以及task/function

一、过程块1. always可综合,用于描述硬件时序电路和组合电路,可以在module或者interface中使用。2. initial不可综合,仿真一开始就会执行且只执行一次,可以在module、interface和program中使用。二、function与task1. function可以在参数列表指定输入(input)、输出(output)、输入输出(inout)或者引用参数(ref)。默认数据类型为logic,数组也可以作为形式参数进行传递。软件行为,在仿真的0时刻开始执行,可以

2021-11-27 21:07:22 4563

原创 【SystemVerilog笔记(一)】数据类型

(一)内建数据类型1.按照四值逻辑和二值逻辑分类四值逻辑类型:integer、logic、reg、wire等线网类型二值逻辑类型:byte、shortint、int、longint、bit2.按照有符号和无符号分类有符号类型:byte、shortint、int、longint、integer无符号类型:bit、logic、reg、wire等线网类型※记忆:按位定义的变量是无符号的。(二)软件常用类型1.定宽数组在这里插入代码片...

2021-11-23 19:31:24 8586

原创 反卷积torch.nn.ConvTranspose2d详解(含转换成卷积运算的代码示例)

1.torch.nn.ConvTranspose2d参数介绍官方文档:https://pytorch.org/docs/master/generated/torch.nn.ConvTranspose2d.html#torch.nn.ConvTranspose2dtorch.nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1,

2021-11-20 21:22:43 16171 2

原创 BP神经网络介绍及算法实现

文章目录一、BP神经网络简介及算法实现1.向前传播阶段1)隐藏层神经元输入2)隐藏层神经元输出3)输出层神经元2.向后传播阶段1)输出层权的调整2)隐藏层权的调整3.误差测度(cost function)二、随机生成数据集※初始化说明完整的BP实现、训练代码以及随机生成数据集和对照实验的代码详见[https://download.csdn.net/download/cc__cc__/33194209](https://download.csdn.net/download/cc__cc__/33194209)

2021-10-16 21:40:13 2367

原创 梯度下降/牛顿法实现逻辑回归

数据集及完整代码详见此链接https://download.csdn.net/download/cc__cc__/28820647文章目录一、训练数据可视化1.读取训练数据2.训练数据可视化二、逻辑回归算法简介三、梯度下降法实现逻辑回归1.批量梯度下降法(BGD)2.随机梯度下降法(SGD)3.小批量梯度下降法(Mini-Batch-GD)四、牛顿法实现逻辑回归五、借助Pytorch框架实现逻辑回归一、训练数据可视化1.读取训练数据def read_train_data(): x = []

2021-10-06 21:32:10 1200 1

原创 【推理/训练模拟】卷积层与BN层融合

一、推理过程将卷积层与BN层融合1.公式推导训练过程:y=γxi−μσ2+ϵ+β其中,xi为上层卷积的输出wx+b,γ和β是训练过程中学习得到的参数,μ和σ2是在训练过程中统计得到的均值和标准差。\footnotesize y = \gamma\frac{x_i-\mu}{\sqrt{{\sigma}^{2}+\epsilon}} + \beta\quad\text{其中,xi为上层卷积的输出wx+b,}\gamma和\beta是训练过程中学习得到的参数,\\\mu和\sigma^{2}是在训练过程

2021-09-08 21:25:20 508

原创 体系架构方面的会议

ASPLOS: Architecture Support for Programming Languages and OperationHPCA:International Symposium on High Performance Computer ArchitectureISCA:International Conference on Computer ArchitectureUSENIX Annual Technical ConferenceMICRO:International Sympo.

2021-04-23 09:28:09 117

原创 通过ssh在本地打开远程服务器的网页

在远程服务器使用jupyter notebook或者tensorboard等时,在本地打开服务器端的网页的方式有很多比如可以使用MobaXterm工具等,此方法可参考之前的博客借助MobaXterm远程连接服务器端jupyter notebook、tensorboard可视化。若直接使用ssh则可通过如下命令:ssh username@remote_address -L 127.0.0.1:8888:127.0.0.1:8008其中8888是本地端口号,8008是服务器端端口号,可根据实际情况.

2021-03-30 15:37:34 13766

原创 本地PyCharm运行/调试远程服务器上的代码

远程登录服务器的方法有很多,不同人调试代码的习惯也不同,这里记录一种在本地使用PyCharm Professional运行/调试远程服务器上的代码的方法。一、同步本地与服务器端的文件点击Tools-Deployment-Configuration2.点加号选择SFTP创建一个新的server并添加SSH configuration3.添加映射路径到这里就可以通过Tools-Deployment-Upload/Download/Compare/Sync… 同步本地与服务器端指定路径下的文.

2021-03-25 19:12:53 996 1

原创 tensorboard可视化

生成的events.out.tfevents文件位于/home/xxx目录下在终端输入下面的命令,将提示的网址在浏览器中打开即可 tensorboard --logdir=/home/xxx --port=8008`如果想要在本地PC打开服务器端对应的网址,可以参考借助MobaXterm远程连接服务器端jupyter notebook中使用的MobaXterm--Tunneling...

2020-08-25 16:39:20 710

原创 借助MobaXterm远程连接服务器端jupyter notebook

※ 在windows系统上借助MobaXterm远程连接服务器端jupyter notebook一、服务器端1.安装ipython和Jupyterpip install ipythonpip install Jupyter2.生成配置文件jupyter notebook --generate-config3.生成密码ipythonIn [1]: from notebook.auth import passwdIn [2]: passwd()Enter password:Verif

2020-08-17 18:02:18 4113

原创 【Pytorch实战(五)】实现MNIST手写体识别

一、MNIST数据集MNIST数据集地址http://yann.lecun.com/exdb/mnist/该数据集包含6w张训练集图片和1w张测试集图片二、实现MNIST手写体识别1.借助torchvision下载数据集train_dataset = torchvision.datasets.MNIST(root='./data', train=True, transform=torchvision.tran

2020-05-17 19:16:39 585

原创 【Pytorch实战(四)】线性判决与逻辑回归

在【Pytorch实战(三)】线性回归中介绍了线性回归。线性判决与线性回归是类似的,区别在于线性回归的“标签”通常是较为连续的取值,而线性判决的“标签”往往只有几个可能的取值,例如【0,1】。在线性回归中,经常使用MSE损失torch.nn.MSELoss()、L1损失torch.nn.L1Loss和SmoothL1损失torch.nn.SmoothL1Loss等。相应地,在线性判决中也需使用合适的损失。对于二元判决常用BCE(Binary Cross Entropy)损失;对于多元则常用Cross E.

2020-05-17 12:06:31 293

原创 【Pytorch实战(三)】线性回归

一、使用函数求解最小二乘的权重最小二乘法是一种最基本的线性回归方法,使用torch.lstsq直接实现最小二乘法的代码如下:import torchx = torch.tensor([[1., 2., 1.], [2., 4., 1.], [3., 5., 1.], [4., 2., 1.], [4., 4., 1.]])y = torch.tensor([-12., 13., 15., 14., 18.])wr, _ = torch.lstsq(y, x) # 返回2个值w = wr[

2020-05-16 18:22:20 1139

原创 【Pytorch实战(二)】梯度及优化算法

一、计算梯度的简单示例import torchx = torch.tensor([1., 2.], requires_grad=True)y = x[0] ** 2 + x[1] ** 2print('y = {}'.format(y))y.backward()print('grad = {}'.format(x.grad))# 输出结果 # y = 5.0# grad = tensor([2., 4.])注意问题:构造张量x时应将参数requires_grad设置为True,这

2020-05-15 22:20:47 461

原创 【Pytorch实战(一)】张量

一、初步认识在Pytorch中张量是一种基本的数据类型,用类torch.Tensor实现import torchT = torch.tensor([[1, 2, 3], [4, 5, 6]]) # 注意函数名tensor是小写的查看张量的几个性质张量的维度 T.dim()张量的大小 T.size()张量中的元素个数 T.numel张量中元素的类型 T.dtype 例如torch.float32,torch.int64等...

2020-05-14 22:14:30 350

原创 Ubuntu镜像下载地址

阿里云Ubuntu镜像下载地址:http://mirrors.aliyun.com/ubuntu-releases/自行选择相应的版本即可

2020-05-13 18:55:26 175

转载 光学图像、SAR图像等区别

激光雷达分类有很多,目前民用主要集中在气象应用。合成孔径雷达是成像雷达,军事应用为主,波源为电磁波,毫米波到米波均有,视用途而定。应用合成孔径雷达技术的激光雷达,叫合成孔径激光雷达,也是成像雷达,成像精度更高。按传感器采用的成像波段分类,光学图像通常是指可见光和部分红外波段传感器获取的影像数据。而SAR传感器基本属于微波频段,波长通常在厘米级。可见光图像通常会包含多个波段的灰度信息,以便于识别...

2020-05-03 18:57:10 12578 1

原创 【莫烦Python】Matplotlib学习笔记(二)

【莫烦Python】Matplot学习笔记(一)【莫烦Python】Matplotlib学习笔记(二)一、Bar柱状图/条形图二、Contours等高线图三、Image图像四、3D图像五、subplot多合一显示六、subplot分格显示七、图中图八、主次坐标轴九、Animation动画一、Bar柱状图/条形图import matplotlib.p...

2020-04-28 15:46:50 557

原创 【莫烦Python】Matplotlib学习笔记(一)

一、基本用法import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-1, 1, 50)y = 2*x+1# y = x**2plt.plot(x, y)plt.show()二、在不同figure中显示import matplotlib.pyplot as pltimport numpy ...

2020-04-27 23:00:08 613

原创 算法评价指标recall、precision、F1 score介绍及PR曲线代码分析

一、算法评价指标介绍真实值(↓)\\ 预测值(→)PositiveNegativePositiveTrue Positive(TP)False Negative(FN)NegativeFalse Positive(FP)True Negative(TN)TP:表示将正类预测为正类的数目FN:表示将正类预测为负类的数目……其余同理,【一致判真假(T/...

2020-04-27 10:05:02 4266

原创 使用imagecorruptions处理图片

0.安装imagecorruptionspip install imagecorruptions源码地址:https://github.com/bethgelab/imagecorruptions1.函数介绍def corrupt(image, severity=1, corruption_name=None, corruption_number=-1) """This fu...

2020-04-26 09:50:11 2861 1

BP神经网络实现以及训练代码

包含BP神经网络实现、训练代码以及随机生成数据集和多组对照实验的代码

2021-10-16

逻辑回归代码及数据集.rar

包含BGD、SGD、Mini-Batch GD方法和newton方法实现逻辑回归的详细实现代码、训练代码以及可视化代码

2021-10-06

空空如也

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

TA关注的人

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