0%

我们要证明的核心命题是: 同一个二进制加法电路(即模 \(2^n\)加法),既实现了无符号数加法,也实现了补码加法。 我们将分为三个步骤进行证明: 1. 定义 (Definition):严格定义位向量、无符号数值和补码数值。 2.引理 (Lemma):证明无符号值和补码值在模 \(2^n\) 下同余。 3. 定理 (Theorem):证明加法闭环。 第一步:定义 (Definitions) 设 \(X\) 为一个 \(n\) 位的二进制向量,其位序列为 \(x_{n-1}x_{n-2}\dots x_0\),其中 \(x_i \in \{0, 1\}\)。 1. 无符号数的值函数
阅读全文 »

码制 不同的 码制 即对 位模式做出不同的解释。 原码反码补码最高位作为符号位\(-2^{w - 1} - 1\)\(-2^w\)符号位取反$2^w - 1 - x $$2^w - x $第二行是不同码制对最高位的解释,第三行是已知 x 如何求-x 的表示 原码 为了区分正数和负数,用最高位当作符号位。这样符合人类的直觉,但对计算机计算很不友好。比如: 计算 \(1 + (-1)\) * 原码表示 0001 + 1001 * 如果是纯加法电路会得到 0001 + 1001 =1010 (结果为-2),计算有误。 这意味着,如果用原码来表示数字,CPU的计算单元(ALU)必须设计的
阅读全文 »

我是个很幸运的人,在这21年中我受到了来自很多人的帮助和关爱。即使我也受到了很多挫折,但是幸运的是我没被打倒。 最近几年发生了很多事,可以说是彻底改变了我。我的女朋友给予了我很大帮助,我非常非常感谢她,也觉得非常幸运能遇到她。
阅读全文 »

Makefile 为了搞懂NVBoard是怎么工作的,先看一下它的构建规则是怎么样的 其构建规则在/scripts/nvboard.mk中,Makefile的一些补充知识 1. 自动变量: $@: 目标 $<: 第一个依赖 $^: 所有依赖(去重) $+: 所有依赖(不去重) 2. 命令前加@,不在终端中显示该命令,但仍会显示输出 3. 内建变量: CXX: cpp编译器 CC: c编译器 CPPFLAGS: 编译器选项
阅读全文 »

投影(Projection) 概要 投影矩阵、投影、误差向量 目标: 找出向量b在空间S上的投影p,以及产生p的矩阵P 误差向量: \(e = b - p = A \hat x\) tips: A 是空间 S 的基向量构成的矩阵 方法: 根据几何关系可以得到\(e\)与空间S正交。描述一个空间的最好方法就是用基向量描述,把基向量放入矩阵A中,该矩阵的列空间即为空间S,由\(e \perp S\),得到\(e \in LN(S)\),即误差向量在S的左零空间中。 下图是图例: 由上述关系可得: \[ \begin{aligned} A^\top (b - A\hat x) &=
阅读全文 »

只为了考试! 过程的一些数字特征 1. 均值 * 若功率谱连续则均值为0 2. 自相关函数和互相关函数 * 自相关 \(R_{X}(\tau) = \mathbb{E}[X(t)X(t+\tau)]\) * 互相关 \(R_{XY}(\tau) = \mathbb{E}[X(t)Y(t+\tau)]\) 3. 自相关系数 * def: \(\rho_X(\tau)=\frac{R_X(\tau)}{R_X(0)},\qquad \rho_X(0)=1\) 4. 方差/协方差 * 方差计算公式: \(Var(X) =
阅读全文 »

编写testbench生成仿真文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 #include #include #include // 包含顶层模块的头文件 #include "Vtop.h" #include "verilated.h" // 生成vcd格式的仿真文件所需头文件 #include "verilated_vcd_c.h"
阅读全文 »