自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(219)
  • 资源 (3)
  • 收藏
  • 关注

原创 【verdi】【持续更新】Verdi 实用技巧

统计出某个信号在特定时间段内的跳变的次数。这个结合下一节的逻辑运算,可以把一些复杂的波形分析用直观的形式表现出来。还是右键点击波形窗口左边的某个信号名字,在弹出菜单中选择。在弹出的对话框中,可以关注感兴趣的内容,比如Rising#,指的是默认Markers标定的时间段内,该信号的上升沿次数。这样就不用很辛苦的放大波形,用眼睛一个一个去数了。

2024-12-18 15:31:59 1823

原创 【verdi】vmware workstation 不可恢复错误: (mks) isbrenderercomm: lost connection to mkssandbox (3093)

打开verdi的时候,虚拟机崩溃,报错:vmware workstation 不可恢复错误: (mks) isbrenderercomm: lost connection to mkssandbox (3093):虚拟机设置->显示器设置->加速3D图形(取消勾选)

2024-12-16 23:43:19 487

原创 【verilog】胶合逻辑

1. **连接功能**:胶合逻辑通常用于将不同的电路模块(如处理器、存储器、外设等)连接起来,确保它们能够有效地通信和协作。4. **减少复杂性**:通过将复杂的电路拆分为多个简单的模块,胶合逻辑有助于降低设计的复杂性,使得电路更易于理解和调试。2. **简单性**:胶合逻辑电路通常由基本的逻辑门(如与门、或门、非门等)构成,设计相对简单。- **信号选择**:实现多路选择器(MUX)等功能,根据控制信号选择不同的输入信号。- **时序控制**:在时序逻辑设计中,胶合逻辑可以用于生成必要的控制信号。

2024-12-16 16:53:37 350

原创 【已解决】git push需要输入用户名和密码问题

需要注意的是,改动完之后直接执行git push是无法推送代码的,需要设置一下上游要跟踪的分支,与此同时会自动执行一次git push命令,此时已经不用要求输入用户名及密码。4)测试git push。

2024-11-28 16:35:32 1288

原创 《硬件架构的艺术》笔记(九):电磁兼容性能设计指南

电子线路易于接收来自其他发射器的辐射信号,这些EMI(电磁干扰)使得设备内毗邻的元件不能同时工作。这就有必要进行电磁兼容设计以避免系统内有害的电磁干扰。确保设备不产生多余的辐射,设备也不易受到射频辐射的干扰,采用好的EMC(电磁兼容)设计原则使这些成为可能。EMC不能只通过设计来保证,其必须受到测试EMC是一个系统在预期的电磁环境内运行而不对其他系统产生不利影响或不受其它系统不利影响的能力。一个系统的电磁兼容性应满足:1、不干扰其他系统2、不易受其他系统的干扰3、自身不干扰。

2024-11-26 11:10:41 1812

原创 《硬件架构的艺术》笔记(八):消抖技术

在电子设备中两个金属触点随着触点的断开闭合便产生了多个信号,这就是抖动。消抖是用来确保每一次断开或闭合触点时只有一个信号起作用的硬件设备或软件。(就是每次断开闭合只对应一个操作)。抖动在某些模拟和逻辑电路中可能产生问题,因为这些电路反应太快会将开关脉冲误当作数据流。时序逻辑数字电路特别容易收到触点抖动的影响。开关抖动产生的电压波形干扰正常逻辑电路的振幅和时序规格要求。结果是亚稳定性、竞争、小脉冲和故障等问题导致电路失效。

2024-11-26 11:06:47 1291 1

原创 《硬件架构的艺术》笔记(七):处理字节顺序

本章主要介绍字节顺序的的基本规则。(感觉偏软件了,不知道为啥那么会放进《硬件架构的艺术》这本书)。字节顺序定义数据在计算机系统中的存储格式,描述存储器中的MSB和LSB的位置。对于数据始终以32位形式保存在存储器中的真32位系统,字节顺序没有实际意义,若要将字节或16位半字映射到存储器中32位字的系统,字节顺序不匹配就会影响数据的完整性。大端模式:将MSB保存在最低存储器地址处。小端模式:把LSB保存在最低存储器地址处。下面是将0xAABBCCDD分别以大端和小端模式保存在存储器中。

2024-11-25 11:18:21 1600

原创 《硬件架构的艺术》笔记(五):低功耗设计

能量以热量形式消耗,温度升高芯片失效率也会增加,增加散热片或风扇会增加整体重量和成本,在SoC级别对功耗进行控制就可以减少甚至可能消除掉这些开支,产品也更小更便宜更可靠。本章描述了减少动态功耗和静态功耗的各种技术。

2024-11-21 11:45:35 1995 1

原创 《硬件架构的艺术》笔记(六):流水线的艺术

流水线通过在较长的组合逻辑路径中插入寄存器降低了组合逻辑延迟,增加了时钟频率并提高了性能。图中分别为插入流水线前后的逻辑。长路径插入寄存器后最大时钟频率明显增加,但是也带来了额外的开销,并且增加了系统延迟。

2024-11-21 11:41:31 812

原创 【verdi】systemverilog编译显示很多语法错误

添加上-sv选项。

2024-11-19 12:00:58 311

原创 《硬件架构的艺术》笔记(四):时钟分频器

偶数时钟分频很好实现,使用一个计数器累加到一定值再清零,同时翻转电平就可以了。本章主要讲的是奇数分频和小数分频。

2024-11-19 11:59:22 438

原创 【已解决】git push一直提示输入用户名及密码、fatal: Could not read from remote repository的问题

在账户选项中选择 “Settings”–>“SSH and GPG keys”–>“New SSH key”,然后打开之前新生成的id_rsa.pub文件,将密钥复制后填写到账户中【注意填写时的格式要求】如果是客户端与服务端的ssh key 不匹配,此时需要先将本地生成的 id_rsa以及id_rsa.pub这两个文件【一般在用户名下的.ssh文件夹下】删除掉,然后再使用上述指令生成新的rsa密钥;先移除旧的http的origin,在添加新的ssh方式的origin。生成新的SSH key。

2024-11-14 15:26:08 784

原创 《硬件架构的艺术》笔记(三):处理多个时钟

单时钟设计更易于实现,也更少出现亚稳态、建立和保持时间违例方面的问题。但在实践中,很少有设计只在一个时钟下运行。

2024-11-14 12:03:46 747

原创 SystemVerilog学习笔记(十一):接口

在Verilog中,模块之间的通信是使用模块端口指定的。

2024-11-14 11:30:48 1050

原创 SystemVerilog学习笔记(十):进程/细粒度进程控制

进程或线程是作为独立实体执行的任何代码片段。fork-join块创建并行运行的不同线程。在下面的图-1中,可以看到进程的类型和进程控制。

2024-11-14 11:21:23 839

原创 SystemVerilog学习笔记(九):Schedule

systemverilog是为离散事件执行模型(discrete event execution)所定义的一种语言。怎么理解呢?离散指的是仿真时间(simulation time)上的离散性,仿真基于时间片(time slot)进行,只对有效的时刻点进行仿真。事件执行模型指的是仿真基于事件进行建模和整体的调度。

2024-11-13 23:08:48 805

原创 【Verilog】case、casex、casez的区别

case(不是casez/casex的时候)的列表里面的x和z,都被综合工具认为是不可达到的状态就被去掉了。casez和casex里面的x/z都被认为是don’t care。在casex语句中,则把这种处理方式进一步扩展到对x的处理,即如果比较双方有一方的某些位的值是z或x,那么这些位的比较就不予考虑。在casez语句中,如果分支表达式某些位的值为高阻z,那么对这些位的比较就会忽略,不予考虑,而只关注其他位的比较结果。在case语句中,敏感表达式中与各项值之间的比较是一种全等比较,每一位都相同才认为匹配。

2024-11-13 18:07:54 315

原创 《硬件架构的艺术》笔记(二):时钟与复位

本章主要针对ASIC设计给出建议,独立于CAD工具以及工艺,主要针对模块设计和存储器接口。

2024-11-12 12:07:27 1050

原创 emulator总结

做IC设计的人应该都知道软件仿真和FPGA原型验证,可以把硬件仿真器理解为这二者之间的产物,它同时具备二者的优点。软件仿真(simulator)全面,支持UVM、assert、coverage收集、可以很方便的dump 波形来debug,但速度很慢,尤其是在做大分辨率图像处理的时候,一条case甚至可以跑一个礼拜,且相当耗内存,所以在debug一些大分辨率或者多帧之后才出现错误的case时如果只用仿真的话,效率就会很低。

2024-11-12 11:01:11 1329

原创 SystemVerilog学习笔记(八):循环

循环只不过是将需要多次运行的语句包含在循环中,而不是重复编写这些语句。循环将根据条件语句运行多次,如果条件始终为真,则它会变成无限循环,系统将挂起。

2024-11-11 20:33:20 1401

原创 SystemVerilog学习笔记(七):函数与任务

函数的主要用途是编写一段可以随时调用n次的代码,只需调用函数名即可,不需要任何模拟时间来执行。函数是返回类型,仅返回函数声明中提到的单个值,如果未声明则返回一个位的值。

2024-11-11 19:42:16 569

原创 SystemVerilog学习笔记(六):控制流

条件语句用于检查块中的语句是否被执行。条件语句创建语句块。如果给出的表达式是 true,执行块中的语句集,如果表达式为 false,则 else 块语句将最后执行。

2024-11-11 19:27:17 778

原创 Implicit nets in Verilog

在Verilog中,net类型的信号可以通过赋值语句或将未声明的内容附加到模块端口来隐式地创建。隐式网络总是位线,如果使用矢量,则会导致错误。禁用隐式网络的创建可以使用' default_nettype none指令来完成。隐式线网通常是难以检测的bug来源。

2024-11-11 16:22:45 214

原创 《硬件架构的艺术》笔记(一):亚稳态

同步系统中如果数据和时钟满足建立保持时间的要求,不会发生亚稳态(meastable)。异步系统中数据和时钟关系不固定,可能违反建立保持时间,就会输出介于两个有效状态之间的中间级电平,且无法确定停留在中间状态的时间,或者过了一定的延迟后才能正常转换,这就是亚稳态。

2024-11-11 15:33:41 991

原创 SystemVerilog学习笔记(五):运算符

运算符是代表特定数学或逻辑动作或过程的字符。

2024-11-11 14:37:23 1102

原创 SystemVerilog学习笔记(四):用户自定义类型

Typedef 主要用于 System Verilog 中的复杂测试平台,因为它用代码中的标识符替换了较长的数据类型,如 int(unsigned longint,signed Shortint)、byte、bit[7:0]、logic[7:0]。Typedef 在类中的主要用途:有时我们在声明类本身之前使用类变量。因此,为了避免编译错误,我们可以在类本身的声明之前使用“typedef 类变量”。如果没有 Typedef,我们将得到语法错误。Typedef 在类、结构和枚举中使用,使数据类型声明更容易。

2024-11-11 14:33:03 426

原创 SystemVerilog学习笔记(三):结构体与联合体

在 RTL 代码中,压缩结构体被视为单个向量,结构体中的每个数据类型都表示为位字段。不同的变量在结构内部保存不同的数据,称为结构成员。未压缩的结构比压缩的结构具有更多的内存占用。这里“int”是最大的数据类型,因此联合体中的所有其他成员共享 32 位。默认情况下,结构体最初是未压缩的形式,但可以使用“packed”关键字将其转换为压缩结构。“字节”占用 8 位,位[7:0] 为 8 位,逻辑[15:0] 为 16 位。结构与普通数组不同,因为数组仅使用相同类型和大小的元素,而结构体使用不同的数据类型。

2024-11-11 14:25:34 1170

原创 SystemVerilog学习笔记(二):数组

数组是元素的集合,所有元素都具有相同的类型,并使用其名称和一个或多个索引进行访问。Verilog 2001 要求数组的下限和上限必须是数组声明的一部分。System Verilog 引入了紧凑数组声明样式,只需给出数组大小以及数组名称声明就足够了。下图显示了 System Verilog 中使用的不同类型的数组。

2024-11-11 12:09:53 1395

原创 SystemVerilog学习笔记(一):数据类型

在systemverilog中,主要包含以下数据类型:-2^(n-1)到2^(n-1)-1,n表示位数。

2024-11-11 11:45:00 849

原创 【已解决】虚拟机物理内存过大,无法恢复也无法关闭

首先在虚拟机目录下找到.vmss文件,删除 将虚拟机从列表中移除,再添加(否则显示依然是挂起状态) 调整内存 开机

2024-09-02 19:50:45 312

原创 VMstation网络图标消失,无法联网

3、改成下面这样,再保存,关闭。

2024-09-02 18:06:37 180

原创 Linux 终端显示 Git 当前所在分支

PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。在~/.bashrc中修改PS1的环境变量可以修改主机提示符。source一下即可。

2024-08-20 16:54:38 519

原创 ubuntu VCS+verdi安装遇到的一些问题

我的是Ubuntu22.4。

2024-08-19 23:18:34 424

原创 工作会议复盘

20240726:周例会,简单介绍了入职两周的工作,会议结束后mentor指出了两个问题以后不要说自己是新人 不会的问题可以直接说不会,或要求对方表述清楚,不是必须要回答

2024-07-26 16:20:14 181

原创 【已解决】Ubuntu git clone报错:GnuTLS recv error (-110) / Failed to connect to github.com port 443

【代码】【已解决】Ubuntu git clone报错:GnuTLS recv error (-110) / Failed to connect to github.com port 443。

2024-01-05 20:12:34 1984

原创 【已解决】k210模型烧录——kfpkg 打包

然后把这三个文件使用 ZIP 进行压缩,然后重命名为XXX.kfpkg即可。之前分开烧录固件和模型总是报错,解决方案:将固件和模型打包起来一起烧录。代表需要校验, 只有固件才写true, 这会在固件前面添加校验值.模型文件, 烧录到0x00A00000, 不需要添加校验数据。固件名字, 地址为0。

2024-01-02 11:27:59 1417

原创 【已解决】.pth--->.onnx(--->.tflite)--->.kmodel

最近在捣鼓K210端的算法部署,不得不吐槽官方文档真的不行,乱七八蕉的。。。这个帖子主要讲述一下模型转换的步骤,我这里常用的框架是pytorch,相较于tensorflow转换步骤更繁琐一点。

2023-12-30 19:09:22 2576 2

原创 【已解决】 ubuntu apt-get update连不上dl.google.com

在终端使用apt-get update时,连接dl.google.com超时,一直卡在0%,原因是当前ip无法ping到google(墙)。再重新 apt-get update就好了。

2023-12-30 17:40:45 2365

原创 [已解决] Ubuntu远程桌面闪退+登录显示“远程桌面由于数据加密错误 , 这个会话将结束“

两个月前,由于跑代码在Ubuntu配置环境,乱七八糟的下载了很多东西,导致了一系列问题.....

2023-12-22 15:35:19 2862

原创 Ubuntu无法连接外网

将namesever更改为8.8.8.8。

2023-08-21 16:14:11 3228

images_evaluation.zip

python mainOmniglot.pypython mainOmniglot.pypython mainOmniglot.pypython mainOmniglot.pypython mainOmniglot.py

2020-09-12

images_background.zip

python mainOmniglot.pypython mainOmniglot.pypython mainOmniglot.pypython mainOmniglot.pypython mainOmniglot.pypython mainOmniglot.pypython mainOmniglot.py

2020-09-12

空空如也

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

TA关注的人

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