- 博客(42)
- 收藏
- 关注

原创 远程连接电脑以及服务器
自己有两台电脑又不想对着两台屏幕操作,远程控制是不错的选择,还有如果需要在服务器运行大的项目,也可以通过下面的方法进行连接服务器,目前远程控制一是用第三方软件,比如向日葵,下面介绍一种利用windows自带远程连接工具实现远程控制。通过向日葵连接;国产向日葵下载链接支持一个用户账号绑定多台主机,还是国产的,推荐使用。通过VNC工具建立连接VNC下载连接用于连接远程linux服务器使用较多,需要输入远程服务器地址以及用户名,密码。通过系统自带工具建立远程连接设备 这里的两台都设置用户密码的主
2019-11-30 15:17:17
3472
原创 PCIE Link Equalizaton
link均衡是用于通过调整tx rx的参数来提高信号质量, 所有有LTSSM关联的lane都需要进行均衡操作。均衡只有在低速率的均衡完成之后才可以进行后续高速度的均衡,虽然协议规定可以重复做均衡,但是还是不建议进行同意速率的重复多次均衡,链路两端的组件必须存储TX的参数并在后续更高的速度等级上使用它,同时组件也允许进行Receivr的细调(只要它不会导致link的稳定性,不会导致LTSSM进入Recovery)。2. 均衡均衡可以通过自动机制 或者 软件机制完成,
2025-04-16 22:55:57
745
原创 Spyglass flow
设置 SPYGLASS_HOME环境变量,保证运行时候工具可以找到可执行文件。如何启动Spyglass Explorerspyglgass。
2025-03-03 13:55:55
196
原创 仿真器的调度机制
DUT 也是非阻塞赋值,则按照先执行设计平台,验证平台的的优先级顺序,DUT执行非阻塞赋值时,test2还未将new 值更新过来因此会保持为0,随后执行验证平台的非阻塞赋值"a=1;,你是希望打印的rdata是data_reday后的值还是data_reday之前的值呢,如果按照verilog的调度机制则 打印的是data_reday之前的值0。b=1", 随后优先级判定执行非阻塞赋值,此时在clk 上升沿判断 " if (a&b) " 此时非阻塞赋值的结果计算为1,此时pready便立刻为1。
2024-12-11 17:44:56
653
原创 Design compiler
Multimode 和 UPF mode不是tool mode,Multimod是能够允许通过工具再多种工作条件下工作,比如测试模式和standby模式;DC NXT 和 DC GUI可以同时分析优化这种设计, 它们提供的multicorner-multimode功能提高了DC 和 IC compiler之间的兼容性。去综合你的代码,它提供了对面积、功耗、以及性能的同时优化算法,同时它还可以实现高级延迟和数学运算优化,自动漏电流优化,寄存器retimng (推荐)compile_ultra 会启动。
2024-12-02 11:40:34
547
原创 UVM 组件
sequencer 会有一个seq_item_export 将数据发送出去,driver通过seq_item_port接收数据,只需要在上层组件中将这两个组件通过。river.seq_item.port.connect(sqr.seq_item_export)连接在一起即可。前面我们知道sequence产生激励,sequencer负责调度激励的顺序,最终通过driver发送到DUT。此时driver的main_phase在通过一个forever循环不停地获取激励。
2024-11-29 14:55:45
358
原创 UVM 的sequencer and sequencer
UVM中使用SEQ(sequence)生产Transaction激励, 通过SEQER(sequence)发送给DRV(driver).但是SEQ时独立于UVM验证环境之间的组件只作为objecr存在,最终需要在SEQER上实现启动激励发送。
2024-11-29 13:46:50
594
原创 IC脚本之perl
Perl 是一种功能丰富的计算机程序语言,运行在超过100种计算机平台上。IC flow 的 流传的古老版本大多是也是使用这种语言,这里会对Perl的常用知识点进行总结。
2024-11-19 14:43:33
611
原创 IC 脚本之 Tcl
TCL是tool command language , 在综合,DFT , PR阶段工具的命令语言,这里简单介绍下语法基础。
2024-11-15 15:20:14
341
原创 IC 之 Makefile
是用于管理项目构建过程的工具,广泛用于 C/C++ 等语言的编译。它通过定义规则和指令,自动化编译、链接等步骤,大大简化了开发者的工作。下面将详细介绍 Makefile 的基本概念、语法规则以及一些高级用法。
2024-11-15 11:36:22
392
原创 IC 脚本之python
在linux 通常使用library Offic来访问.xls,.xlsx, 有时候需要将它们转换为.csv文件,这时可以通过library office自带的命令将其转为特定格式的文件。re模块主要功能是通过正则表达式来匹配处理字符串的, re跟vim正则匹配知识点类似,只不过元字符以及次数控制符不在需要 ”\"来进行控制。对于较旧版本的.xls文件,xlrd和xlwt库提供了读取和写入的功能。虽然它们不支持.xlsx格式的文件,但对于需要处理遗留数据的情况非常有用。
2024-11-13 17:10:16
392
原创 set_dont_touch_network 和set_ideal_network
是不进行DRC规则检查。对于set_dont_touch_network命令设置了dont_touch 属性的对象,工具虽然也不会插入buffer但是还是会进行DRC规则检查,如果fanin fanout 违反规则,工具还是会给出警告。总的来说set_ideal_network 命令会将作用的电路指定为。
2024-11-08 15:58:06
617
原创 Verilog timescale
timescale timeunit / timeprcison, 在module内部定义的时间单位如果是整数则按照timeunit进行转换,如果包含小数则根据timeprecison四舍五入转换最终的结果。0对应1s,-1则对应100ms,````以此类推,-15则对应1fs,可以看到这个对应关系基本上就是时间单位换算关系,非常好记。一般多使用-9即ns的打印方法。suffix_string: 用于指示后打印一个用户自定义字符串,一般是与unit_number相关的ns,ps。
2024-05-11 16:10:39
878
原创 VCS 编译仿真
value$plusargs("cmd_arg=%s", case_name")用于将命令行中cmd_arg= xxx,的xxx复制给case_name变量。$test$plusargs("cmd_arg") 用于判断命令行是否定义了cmd_arg的参数;在仿真阶段,使用 编译得到的可执行文件 + plusargs便可以执行不同的选项。
2024-04-25 16:39:24
1069
原创 PCIE Scrambler
扰码多项式:G(X)=X16+X5+X4+X3+1用于扰码的LFSR如下图所示:Data Link 层 用于配置PL 物理层使能扰码功能的接口以及机制是通过一种特殊的方法实现,协议规范未明确具体实现方案。
2024-03-14 15:34:54
1631
原创 linux 环境变量
shell是一个命令行解释器,那么用户想要以方式与Linux内核交互,就可以采用不同的shell。shell有不同的版本,常见的有:sh,,ksh。其中Bash 是大多数Linux 系统默认的 Shell。环境变量是一种特殊的变量,以便 shell 中运行的程序或脚本能够轻松访问到这些数据。这也是存储持久数据的一种简便方法。
2024-03-08 18:17:56
592
原创 PCIE 4.0 Power Mangement
当系统希望移除power和clk之前,会发送PME_Turn_Off_Message,设备接收到PME_Turn_Off_Message后返回的PME_TO_AckMessage表示本地已经准备好移除power。在经过常规复位之后组件的所有Function均会进入D0_uninitialized 状态,在经历过过configuration后便会进入D0_active状态,它是PCIE设备的全工作状态。,系统软件无法控制L0 和L0s状态间的迁移过程,这两个状态的迁移只能由ASPM控制。
2024-03-01 15:36:31
1668
原创 PCIE 4.0 L0s/L1/L2
L0是PCIE设备正常工作的状态,当设备链路处于非工作状态可以跳转大相应的低功耗状态,L0s是一种可以快速恢复到L0的低功耗状态;L1必须经过Reovery状态才可以恢复到L0状态;L2需要从Detect开始逐步进入到L0状态。它们的恢复时间依次延长,与此对应便是降低功耗的等级越来越高。
2024-03-01 15:06:52
3933
原创 PCIE Retimer
retimer是一种PCIE的扩展设备,用于长距离高效地传输数据,起到一种中继器的作用。在EP和RC中间最多允许两级retimers级联,其可以分为纯模拟类,它是一种对物理层协议无关的芯片;另一种便是与物理层交互的芯片。下文介绍的便是这种参与物理成交互的retimer,它可以进行。
2024-03-01 14:16:18
3641
1
原创 PCIE Order Set
Training Sequence是由Order Set(OS) 组成,它们主要是用于bit aligment,symbol aligment,交换物理层的参数。当data_rate = 2.5GT or 5GT 它们不会被扰码(scramble),当date_rate = 8GT or higher 根据特殊的规则决定是否对Order Set 进行扰码。 LTSSM中使用最多的训练序列为TS1 TS2,它们一般都是连续进行发送,只可以被SKP**以及 **EIOS(2.5GT除外,因为其不支
2024-03-01 13:57:32
2048
原创 VCS 覆盖率收集
随着设计越来越复杂,采用受约束的随机测试方法对它们进行全面验证,它利用随机化产生一套定向测试向量集。此时就需要使用来衡量测试进行的程度。1.1 功能覆盖率衡量设计的是实现情况,工具自动帮你完成覆盖率的收集,这部分的数据的收集可以通过VCS功能设置一些选项完成。首要的选择式使用来运行现有的测试程序,其次是。只有在确实需要的时候才会创建。1.2 断言覆盖率断言是用于一次性或在一段时间对一个或多个设计信号在逻辑或者时序上的声明代码。
2024-02-29 18:10:27
2437
原创 system verilog的仿真error 记录
reason: env.sv解析时候发现需要monitor这个class,但由于在vcs吃的filelist中它位于env.sv 下,还未对其进行解析导致无法识别到monitor class。这里的monitor可以是其他·自定义的模块。solution: 出现这种错误有时候不在xxx所在的文件,可能还需要检查filelist中xxx所在文件的上一个文件。solution: 调整filelist中的文件顺序。
2024-02-29 17:13:25
1233
原创 PCIE 4.0 Equalizaiton(LTSSM 均衡流程)
再PCIE4.0版本之后,规范针对RC(downstream port) 以及EP (upstreamport)的phase分别进行了说明。
2024-01-26 10:44:08
3646
原创 linux的date命令以及touch文件时间属性查询
date命令用于显示linux系统的时间以及日期,并支持自定义格式化输入功能,在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970/1/1/0/0/0起流逝的秒数。系统时间恢复设置:sudo ntpdate cn.pool.ntp.orgdate 命令的用法date [OPTION]... [+FORMAT]常用的option选项如下:OPTION DESCRIPTION -d 以指定的字符串显示时间 -f ...
2022-05-07 17:12:50
1328
原创 sed -i以及“ “ 的$匹配不到最后一行的问题
sed 的-i选项是就地修改的功能,它会将模式空间的内容直接写入磁盘文件,原始的文件就会覆盖,其实-i 选项是支持备份的功能,同时会取消模式空间的输出,使用命令如下。sed -isuffix "command" file #suffix是给备份文件设定的后缀。使用实例:在对a.txt文件就地修改之后,出现了a.txt_bak 文件,它是执行sed操作之间的a.txt中的文件。sed操作支持对文件行的定地修改,遇到了如下问题: sed -n "$s/h...
2022-05-07 14:48:20
1398
原创 git pull的CONFLICT (content): Merge conflict解决方法
重新这个问题基本都是远程仓库的更新与本地仓库的更新都对同一文件同一行内容进行了修改,只需要将冲突的文件修改,结果重新add就可以啦。pull出现的conflict界面如下图所示:找到conflict的文件a.txt,然后执行如下命令vi a.txt #解决冲突的文件git add a.txt #将修复的文件添加至暂存区,这一步必须执行,否则无法执行下一步操作git merge --continue #继续执行pull操作中的mergegit...
2022-05-06 15:19:55
6904
原创 Git 之 push操作错误解决办法
一个git项目往往是多人同时进行开发的,每个人都会向远程仓库(remote repository)提交各自的版本(commit),也会从远程仓库pull拉去最新的更新,但是因为自己本版本与远程版本号不一致,或者本地仓库文件的原因导致pull失败。这种问题主要是由于远程仓库有人添加了新的提交,但是本地你自己有增加了新的提交,两者中间处在了冲突,就如下图再第3个版本之后远程仓库别人提交4,5版本,而本地有增加了6,7版本因此push操作就会存在问题。图1办法 1:...
2022-05-06 14:31:57
8365
原创 win 10文件夹、资源管理器卡顿问题解决办法
问题描述: 有一次window10系统更新之后,不知道为何只要我打开我的电脑、资源管理器等与文件相关的操作都会不停地等待,重启以及关机再开机都无法解决问题。猜测可能系统更新当中涵盖了关于文件系统的部分,导致与更新前的磁盘设备识别超时的问题。1.按 “Windows 徽标键+X”,启动 “Windows PowerShell(管理员)”,输入以下命令:Dism /Online /Cleanup-Image /ScanHealth2.这条命令将扫描全部系统文件并和官方系统文件对比,扫...
2022-05-05 15:19:41
6127
原创 Git 之二 进阶操作
在上一节对Git的流程以及基本操作有了基本认识,然而一个git项目往往是许多人一起协同工作,他们会对同一个remote repository进行操作,每个人与remote reposirtory之间存在不停的pull 以及push操作,因此远程库的版本节点会与用户当前的版本库节点不一致导致pull或者push失败。上一节对Git的流程以及基本命令进行了简单介绍,那些仅仅是git的基础操作,git还有其他进阶命令,可以帮助我们高效地检查、对比、管理项目文件。1. git log 命令git log可以
2022-05-04 15:22:26
749
原创 Android Debug Bridge(安卓调试桥) tools
adb介绍:Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。ADB是一个...
2020-10-31 09:55:26
8686
原创 tkinter利用grid布局管理器实现与listbox的滚动显示
Scrollbar结合grid滚动条能拖拽能使用 sticky属性进行设置的1 假如设置靠右的垂直滚动条 ,我们需要在上下伸展,靠右布置,只需要将Scrollbar控件的grid布局设置sticky=N+S+E N+S上下伸展 E靠右放置 scro_bar = Scrollbar(stu_add) scro_bar.grid_configure(row=5, column=1, sticky=S + W + N) Label(stu_add, text='爱好', font=
2020-07-04 20:41:45
1541
1
原创 Git 一 使用入门
1.Git简介以及安装Git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人员也可以用 Git 来做自己的文档版本管理工具。window安装GitLinux系统安装Git2.Git remote repository(远程仓库搭建)第一种方式是使用应用比较广泛的**Github官网**构建远程仓库,但是由于Github服务器部署在国外,导致国内访问速度较慢,会科学上网的同学可以直接通过它部署远程仓库。第二种方法就是通
2020-06-28 20:19:02
409
1
原创 linux入门知识
1 操作Terminal的快捷键|Ctrl + Alt + T | 打开新的终端|Ctrl +d|关闭终端|| Ctrl + Shift +T | 在同一个终端打开新的选项栏 |2. linux 文件系统结构Linux系统是以为文件目录的方式来组织管理系统中的所有文件,总体上看linux目录系统是一种树形结构的组织架构,以root为根节点,依次向下构建目录文件,如下图所示,需要安装tree命令,ubuntu可通过sudo apt-get install tree 安装。/bin bin
2019-11-30 15:23:02
377
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人