从零开始的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
我的那个夏天结束了
关于这一篇,本来是想给今年保研结束做个总结写到life...
life reflection 12
最近这几天天天刷雍正王朝片段,从江南财款,追回欠款,刑部冤案,到九子夺嫡大戏结算,山西诺敏案,考题泄露,西北战事,八王议政逼宫,也是把雍正王朝这个经典权谋大戏差不多都回顾了,以前小时候看不出来,现在看视频的结合小说和剧本解读也是看出好多东西来,帝王权术社交手腕也是看了不少,但是印象深的还是四爷的戒急用忍,不光是雍正上位的依靠,也是他成就事业的基础。 戒 急 用...
从零开始的DFT工程师!(2)
欢迎来到从零开始的DFT工程师第二期。 本期主要进行自动化脚本的学习。 到底选择什么语言完成自动化脚本呢?这是一个很重要的问题,一个工程团队能够完成统一风格的代码编写和流畅的上下游合作可比多招一两个天才重要多了。 根据暑期实习的经历来说(大雾),硬件工程师常用的是makefile和python + tcl,软件工程师常用的是cmake. makefile在仿真脚本,回归测试以及小项目的编译流程中被大量使用,比如可以用来编译RTL,运行仿真器,收集log,然后生成报告,虽然比较复杂,但是这也是验证岗的基本要求了。 cmake较多在C++软件方向被用的较多,硬件flow里很少见。 python + tcl就主打一个灵活,写回归测试比较方便。 我们这里就优先完成makefile和python + tcl的学习。 makefile syntax这里有一个看起来很不错的学习网站,会简单的讲解一些make的基本语法,观感上是很不错的tutorial. tcl...
从零开始的DFT工程师! 特别篇:synopsys 安装
这里是EDA工具安装特别篇,来进行一个synopsys verdi 和 VCS的安装记录。网上关于synopsys的安装教程其实也不少了,我这里就简单记录一下我在安装过程中遇到的问题。 参考安装步骤:https://zhenhuizhang.tk/post/icsynopsys-xi-lie-ruan-jian-an-zhuang/ step 1 : archlinux我首先想到的是在archlinux上安装,这个系统算是我最熟悉用的也最习惯的一个了,hyprland配置的也不错(无用的知识增加了) 但是实话说问题是很多的,包括但不限于对synopsys的某些32位文件的运行失败,安装vcsmx失败等等,总之算是很难做出来,尤其是似乎synopsys遇到非远古lib的时候很容易出错,正所谓学习知识和使用舒心养眼的现代化工具不可兼得(逃) 这里有时间再去试试能不能解决这些问题,不过现在还是先去进行下一步了。 step2 : almalinuxfamiliar with...
从零开始的DFT工程师!(1)
欢迎来到从零开始的DFT工程师第一期。 本期主要进行verilog和systemverilog的相关软件安装和基本语法复习。 verilog关于运行verilog的软件选择很多,这里选择使用vivado和iverilog+gtkwave. vivado的安装我之前写过,具体是在archlinux(当时的linux内核版本未记录)上进行vivado2024.2版本的安装,详情可见此处,但是由于此后相关库版本更新,需要自行创立软连接来补全相应的库(下载旧版本的库首先需要进行版本管理,这本身就是比较复杂的事,况且很多更新都是更新了实现,接口没有变化)。 我们用一下例子做一个简单的介绍: 这里我们发现vivado提示说找不到libtinfo.so.5, 我们已经有的是libtinfo.so.6,去下载一个新的不仅占地方,有些时候还会导致引用模糊相互冲突,这里可以用一个取巧的办法,也就是给libtinfo.so.6 创建一个名为libtinfo.so.5的副本,并指向libtinfo.so.6,如下操作: 123sudo ln -s /usr/lib/libtinfo.so.6...








