0%

Verilator的工作原理 * 我们需要使用 C++ 编写激励文件。显然,我们不能在 testbench 中直接调用我们 .v 中的模块,所以我们要通过 Verilator 将其转化为 C++ 文件再进行调用,Verilator 为我们提供了顶层模块输入/输出引脚的接口,使我们得以对顶层模块的输入信号赋值或读取其输出信号。 * Verilator 会生成一个 Makefile 脚本,利用 GCC 等编译器将生成的 C++ 文件和我们编写的激励文件编译成成用于仿真的可执行文件。 Verilator Files RTFM Verilator Comma
阅读全文 »

2025年11月7日晚 我常常想两年后的我会走上什么的路。考研上岸后读研究生?考研失败后找份工作?亦或者是二战?这样一看,考研对我来说是件很重要的事。 如果它对我很重要的话,为什么我现在就不开始准备呢?为什么还要浪费时间在做一生一芯上呢?我很纠结。学校课程的作业、家里的事、一生一芯、考研…花在这些事情上的时间往往不能平衡要有取舍。 现在支撑我做一生一芯的动力就是完成入学答辩了,毕竟也花了这么多时间在上面,也不知道是对还是错,希望以后的我不会对这个决定后悔吧!
阅读全文 »

联合熵、条件熵、熵 \[ H(X, Y) = H(X) + H (Y|X)\] proof: \[ \begin{aligned} H(X,Y) &= -\sum_{x,y} p(x,y)\,\log p(x,y) \\ &= -\sum_{x,y} p(x,y)\,\log\!\big(p(x)\,p(y\mid x)\big) \\ &= -\sum_{x,y} p(x,y)\,\log p(x) \;-\; \sum_{x,y} p(x,y)\,\log p(y\mid x) \\ &= -\sum_{x} \Big(\sum_y p(x,y)\Big)\log p(x) \;-\;
阅读全文 »

总结 对于这些内容接下来会一一解释 向量之间的正交 空间之间的正交 Def: 两个空间相互正交,即在这两个空间中,分别取任意一个向量,这两个向量都正交 Ex: 正交补空间 直观上:子空间\(U\)和正交补空间\(U^{\perp}\)的和构成了整个空间,即该空间中的一个向量可以分解为\(U\)中的一个向量加上\(U^\perp\)中的一个向量。 若\(U\)和\(U\perp\)都为\(R^n\)的子空间,则有以下性质 1. \(dimU + dimU^\perp = n\) 四个子空间之间的关系 1. 列空间和左零空间相互正交 2. 行空间和零空间相互正交
阅读全文 »