请问今天要来点hack嘛
寒假回家休息了一个星期(多一点)之后也是积极开发副业了(虽然主业还没怎么做). 也是开一个关于网络渗透的新坑,这个东西我记得在大二(2024春)的时候我是有学过一点点东西的,这里也是决定把旧东西掏出来重新(稍微)系统的学一学。具体以什么形式记录现在还没有决定好,可能是类似cheatsheet的速查,等到之后实际写出来了再说(典)。 今天也是先找了几个网站,之后会对着学: TryHackme Hack The Box
从零开始的DFT工程师!(4)
欢迎来到从零开始的DFT工程师第四期。 上一期学习了简单的测试流程学习和搭建,完成了对简单模块的小测试,这一次进行略微进阶的UVM测试学习并且再多进行几个测试实战。 本次uvm相关主要的学习内容是:callback, TLM, RAL,稍微涉及一点点barrier, heartbeat. 上文补充上次写的时候没有强调编译顺序的问题,其实是在run.sh中,各个文件的顺序是比较重要的,顺序写的不对会导致编译失败。如果写代码的时候没有写typedef就会有很多编译顺序的问题。这里可以把需要的文件单独写成一个my_package.sv,在这个文件里面调整: 1234567891011121314151617package my_package; import uvm_pkg::*; `include "uvm_macros.svh" `include"interface.sv" `include"memory.sv" `include"sequence_item.sv" ...
从零开始的DFT工程师!(3)
欢迎来到从零开始的DFT工程师第三期。 这里我们进行EDA+UVM的学习。参考的内容依旧是chipverify的相关指导书,链接在这里。 其余可供参考的资料如下: verification guide - UVM tutorial a basic tutorial of UVM easier UVM accellera official UVM testbench UVM guide for beginners UVM?UVM是指Universal Verification methodology,是一种通用且规范化的验证方法。也可以说是一个用于验证测试的框架或者是库,学习UVM的前提是systemverilog. UVM包含在很多商业或者开源软件工具中,比如说cadence, synopsys, mentor graphicsquesta,当然也可以直接下载UVM标准库,体积很小,可以用于学习,但是商业软件的框架流程一般更加成熟。 如果懒得配置商业软件的话可以去Accellera选择想要的版本下载,只需要解压之后在rc文件里面加入路径export...
从零开始的DFT工程师! 特别篇:远程连接
这里是特别篇第三期,会主要实现虚拟机的远程访问,需求来自于和同学分享相关软件。 首先是环境说明这里本地虚拟机装载到Virtualbox软件中,虚拟机OS为CentOS,内核版本为3.10.0-1160.119.1.el7.x86_64,通过XRDP实现的windows->Linuv GUI的连接。 网络模式值得注意的是,网络模式是可能踩到的第一个坑,在NAT模式下,(我这里是)网络模式是只出不进的,也就是可以在虚拟机内部联网下载东西,但是从外部网络无法访问到虚拟机,需要改用Bridged Adapter,选择自己联网的方式(enpxx->网卡接口,wlp->wifi),然后promiscuous mode选择全部,就完成了从外部到虚拟机的访问。 XRDP和桌面环境首先需要安装XRDP: 1sudo yum install xrdp -y 一般都有桌面系统的,如果没有的话可以补充下载,gnome/mate都可以。 然后设置xrdp自动启动: 1sudo systemctl enable xrdp 给同学创建好用户: 12sudo useradd...
从零开始的DFT工程师! 特别篇:systemverilog
是时候学习systemverilog和synopsys软件的使用了。 这里也是开始正式进入专业以及软件相关的学习,此处参考的内容为chipverify的相关指导书,链接在这里。 另:sv的LSP mode下载需要输入:MasonInstall svls,这个mode支持verilog和systemverilog的语法。 quick cheet sheet这一部分我会把sv的一些关键部分摘下来形成一个方便自己速查/长时间不用之后的快速复习。 data typesystemverilog 新增加了几种数据类型,如下: data type description logic 用于替代reg,可以用于组合逻辑和时序逻辑,支持四态 但是如果一个信号有多个驱动源,就必须是net-type信号,比如说wire. bit 只支持0和1 byte 8bits, signed(default) shortint 16bits, signed(default) int 32bits, signed(default) longint 64bits,...
rust startup
是时候开始一些新玩意了。rust我对他的印象是:rust的编译器已经帮领导骂过我了。(误) rust应该是一个安全性高,性能可以做到接近cpp的语言,只是听说编译会比较慢,这里也是来试一下看看怎么个事。 install我这里是arch,所以可以通过: 123sudo pacman -S rust 这会自动安装rustc,cargo,rustfmt等工具,也可以使用官方安装器: 123456789sudo pacman -S rustuprustup default stable# rustup update# rustup component add rustfmt clippy 然后给我的neovim配置一个自动语法风格整合也是很重要的(划掉) 这个对于已经装过mason的来说就很简单了,只需要打开nvim然后: 123:MasonInstall rustfmt rust-analyzer 完成安装。如果没有自动添加路径就可以在rc文件里面添加: 1234export...
arch on mac
由于我的电脑键盘有几个键坏了,带出去的时候会很难用,所以这几天也是在白嫖同学的电脑来用()。我这个硬盘在UEFI&GPT的系统主板上可以正常启动,按道理来说已经完全可以够我在几乎所有的现代电脑启动了,但是最近却遭遇了在macbook上的启动失败。在macbook上的启动会有奇怪的问题,从mac启动时触控板和键盘是无法正常使用的,不过usb外接可以。虽然我很少会在mac上启动这个系统,但是存在这个问题确实会让我十分不爽。经过小小的研究之后发现,无法正常使用的原因是mac(尤其是前几年的版本和带有Touchbar的版本)使用了果子的安全T2芯片,mac自带的键盘,触控板,IO等都是通过这个T2控制的,一般的linux内核不会默认支持这个芯片,就会导致这个问题。 添加 linux-t2 内核想要解决这个问题应该不会很难,理论上最简单的方法就是安装一个支持T2芯片的内核就可以了。不过令人悲伤的是pacman和yay似乎没有t2内核的库,那么我们只好下载源码进行编译了。(有一种我在使用gentoo的感觉) 首先下载一个源码,我找的是这个,t2linux...
GPU Programming and Architecture
这里是blog搬运之后的不务正业系列第一期。在写隔壁的从零开始的DFT工程师!...
occupations
在很早之前的古老blog里面是有这个板块的,但是之前一直懒得往里面写,现在大四时间也算是多了一点,所以准备恢复一下这个扩展板块。总的来说,这里应该是会放一些(目前看来)的专业学习不怎么相关但是还算比较好玩的东西,可能会有图形学或者是其他比较有意思的小玩意。 content links GPU Programming and Architecture click






