Hexo + Butterfly 搭建个人博客随记
Hexo + Butterfly 搭建个人博客随记
本地部署
首先得有一个GitHub账号
这里就不赘述如何注册一个GitHub账号了,如果大家能够科学上网想必能轻松完成。
打开你的repo,new一个名字叫YourName.github.io的repo。这里我演示的名字叫BlogDemo,大家也可以挑自己喜欢的。
注意这里可以下载安装GitHub Desktop,便于不想学git指令的小伙伴管理仓库。此外,需要将HTTPS和SSH对应的网址https://github.com/Loli-Eternally/BlogDemo.github.io.git和地址git@github.com:Loli-Eternally/BlogDemo.github.io.git记录下来,便于后面修改配置进行博客的部署。
下载安装好GitHub Desktop并启动后,cloneBlogDemo,URL地址为上面提到的https://github.com/Loli-Eternally/BlogDemo.github.io.git
这个时候我们的repo是空的,需要在本地将BlogDe ...
电路仿真器是如何工作的
电路仿真器是如何工作的
前言
THE DESIGNER’S GUIDE TO SPICE AND SPECTRE 的作者说:
被动用户受模拟器控制,而积极主动的用户则掌控模拟器。
被动用户运行模拟器时只是希望一切顺利,一旦出现问题,就从一堆解决办法中逐一尝试,却并不真正理解其原理,只希望其中一种能解决问题。如果问题仍未解决,要么重新设计电路以避免问题,要么干脆不用模拟器。而积极主动的用户会预料到可能出现的问题,当问题出现时,他们知道问题的原因,并且清楚该如何解决。
这句话我觉得特别有道理,是否掌握了仿真技术,就得看 TA 对于仿真器的理解,知道仿真器内部是如何运作得到结果的,而不是一味地假设仿真器正常运作而不断尝试修改参数(我以前就是这样的)。
仿真器流程简述
这里介绍 Spectre / SPICE 实现的流程,DC / 瞬态每一步的真实算法流程
写出 MNA 非线性方程
F(x)=0F(x) = 0
F(x)=0
x:节点电压 + 电压源电流
F:KCL + 器件本构关系
给定初始猜测
x(0)x^{(0)}
x(0)
在当前点做一阶泰勒展开
F(x(k)+Δ ...
Virtuoso 中直接运行 Spectre 脚本
Virtuoso 中直接运行 Spectre 脚本
前言
前面我在 LTspice 中运行了 SPICE 脚本,现在想运行它的加强版 Spectre,但我发现直接运行 Spectre 是挺麻烦的,因为它已经和 Virtuoso 集成在了一起。如果想在 Virtuoso 中单独运行 Spectre 脚本也不是不行,就是得先了解 ADE L 的设计逻辑:
ADE L 只能“附着”在一个 schematic testbench 上工作
ADE L(Cadence Advanced Design Environment L),是virtuoso定制设计平台的入门级模拟设计仿真环境,不是一个纯 netlist runner。它必须先 netlist 一个 schematic,再允许你附加 simulation files(include / model / stimulus)。相当于是我们想直接运行 Spectre 脚本仿真就必须先得有个“宿主”,即新建一个什么都没有的 schematic testbench,让 ADE L 指向这个 schematic,再在 ADE L 中 include ...
CMOS 反相器理论与仿真
CMOS 反相器理论与仿真
前言
了解 EDA 软体的发展历史的时候 EDA 軟體是怎麼發明的?從 Virtuoso 到 Verilog,看到了一张图
我突然就想读懂这张图及其背后的物理过程,将自己的心得记录下来。
这是一张电路 Layout 的绘图,该图描述的器件是一个反相器。为什么这些红的蓝的绿的图案组合起来是一个反相器?内部的工作原理是怎样的呢?我挺感兴趣的!
CMOS 基础概述
首先介绍一下 CMOS 的基础原理,想必我们在电路图中也经常看到下面这些器件
我们管将器件导通的载流子叫多数载流子,如果多数载流子为电子,则该 MOS 器件为 NMOS,如果是空穴,则为 PMOS。
MOS 管相比BJT,除了栅极源极和漏极(对应 BJT 的基极发射极和集电极),还有一个体区。体区(通常称为衬底 Substrate 或 Bulk)是 MOSFET 结构的基础,通常连接到源极或一个特定的偏置电压,用于控制器件的阈值电压或提供静电保护。下面是 NMOS 管的物理结构
电路图中 MOS 器件符号中有个箭头符号,这个符号代表体区的 PN 指向。如果是 NMOS 管,体区是 P 掺杂,那么 ...
SPICE 入门
SPICE 入门 (The SPICE Book Ch.1)
电路计算模拟介绍
电气电路计算机模拟的目的
要了解电路的行为特性,就需要同时求解多个方程。其中最简单的问题是确定线性电路的直流工作点,这需要解出由基尔霍夫电压定律(KVL)、基尔霍夫电流定律(KCL)以及支路特性方程(BCE)推导出的一组方程。对于由线性支路电压-电流关系描述的小型线性电路,通过手算可以很容易地得出精确的直流解。而对于较大的线性电路,直流解以及尤其是频域或时域解则非常复杂。包含由电流和电压之间的非线性关系描述的元件的电路的分析会增加另一层复杂性,需要同时求解非线性支路方程以及基于基尔霍夫定律的方程。只有小型电路可以通过手算求解,但所得结果只是近似值。在电子学课程中,工程师们学习进行某些近似处理,以便通过手算来预测小型电路的直流工作状态。
当需要预测电路在时间或频率上的行为时,又增加了一层复杂性。此时的非线性方程就变成了积分微分方程,这些方程只有在采用诸如小信号近似或其他限制性条件等近似方法的情况下才能通过手算求解。
多年来,从事分立元件设计的人员一直使用面包板来分析和测试电子电路的行为。直到今天,仍有一些设计 ...
从电路到光电仿真
从电路到光电仿真
前言
光电联合仿真技术的历史演进(从 1960s → 2020s)
SPICE → Spectre → Verilog(HDL) → Verilog-A → Verilog-AMS
这条路线就是从“电路模拟”走向“光电混合联合仿真”的历史脉络。
年代
技术阶段
对应关键词
关键意义
1970s
电路仿真起源
SPICE
模拟求解器的祖先
1980s
数字电路描述
Verilog(HDL)
数字 IC/FPGA 标准语言
1990s
模拟仿真增强
Spectre
高级 SPICE,工业标准
1990s
模拟行为建模
Verilog-A
高层次模拟行为模型
2000s
混合信号统一
Verilog-AMS
数模统一仿真语言
2010s–2020s
光电联合仿真
ADS + VPI + MATLAB
电子 + 光 + DSP 全链路仿真
1970s:SPICE — 一切模拟电路仿真的起点
1973:SPICE1(伯克利)
电路仿真的“祖先级”工具
基于 KCL/KVL、电路方程求解
面向模拟电路(Analog)
为什么重要? ...
光电联合仿真知识谱图
光电联合仿真知识谱图
模拟电路仿真域(Electronics / SPICE Domain)
SPICE 基础
KCL/KVL 数学框架
瞬态 / 直流 / 交流分析
器件模型(MOSFET、BJT、RLC)
.MODEL、.SUBCKT、.PARAM、.MEAS
数值求解(Newton–Raphson、稀疏矩阵)
先进 SPICE 求解器
Spectre / HSPICE / ADS Transient
Shooting method
Harmonic Balance (HB)
Envelope Simulation(高速链路必用)
X-parameters(非线性大型信号行为模型)
S 参数与电路网络表示
S 参数、Z/Y/ABCD Matrix
Touchstone 文件 (.s2p/.s4p)
级联、去嵌、端口匹配
频域 → 时域:IDFT/HT
行为模型 / Mixed-Signal
Verilog-A
Verilog-AMS
SystemVerilog-AMS(高级)
IBIS / IBIS-AMI(SerDes 模型)
光学仿真域(Optics / Ph ...
三个量子数的由来
三个量子数的由来
前言
前面介绍了球谐函数,里面包括了两个量子数 lll 和 mmm,它们分别代表角动量量子数和磁量子数,因为拉普拉斯算子在球坐标下可写为:
∇2=1r2∂∂r (r2∂∂r)+1r2∇Ω2,(1)\nabla^2 = \frac{1}{r^2}\frac{\partial}{\partial r}\!\left(r^2 \frac{\partial}{\partial r}\right)
+ \frac{1}{r^2}\nabla_\Omega^2,\tag{1}
∇2=r21∂r∂(r2∂r∂)+r21∇Ω2,(1)
其中 ∇Ω2\nabla_\Omega^2∇Ω2 仅作用在角变量 (θ,ϕ)(\theta,\phi)(θ,ϕ)。
梯度算子 ∇\nabla∇ 本质是一个动量算符,因为 ∇\nabla∇ 是作用在空间维度上的微分算子,它的作用是将空谐函数 eik⋅xe^{ik\cdot x}eik⋅x 中的空间系数取下来,因此本征值是 ikikik,这也是为什么动量算符 p=ℏk=−iℏ⋅∇p=\hbar k=-i\hbar\cdot \nablap= ...
3D 球谐函数可视化
3D 球谐函数可视化
网上看到很多画球谐函数的文章,估计文章作者本人都没理解画的是什么。为什么有的球谐函数图片不是一个球面分布?为什么球面上有各种颜色分布?我下面会针对各种疑惑进行解答。
首先要理解球谐函数是什么
球谐函数是一个函数,这个函数有两个自变量,分别是极角 θ\thetaθ 和方位角 ϕ\phiϕ。有的讲球谐函数的书里会将这两个变量合为一个变量 Ω\OmegaΩ,这个是立体角,可以理解为沿着 z 轴方向的向量以原点为旋转中心,先往 z 轴的反方向画个 θ\thetaθ 的扇形,这个扇形再以 z 轴为旋转轴,以 xy 平面为参考面逆时针旋转 ϕ\phiϕ。
这里我将球坐标系中的 r 设为了 1。实际上球谐函数是没有 r 这个变量的,只是关于立体角的函数,但为了让人能够理解球谐函数,就用一整个球面,也就是完整的立体角(0∼4π0\sim4\pi0∼4π,球表面积 4πr24\pi r^24πr2 比 r2r^2r2)来给出球谐函数自变量的取值范围。
知道了自变量和自变量的取值范围,球谐函数的值就是因变量,也就是结果。这个结果有好几种表达方式:
在球面上用不同的颜色表示球谐函数 ...
香农定理解读
香农定理解读
前言
领域
定理
出处
通信工程界(工程实践导向)
1. 源编码定理(无失真)2. 信道编码定理(有噪声)3. 信道容量定理 / 香农第三定理(无误码传输极限)
通信工程、信号系统、光通信教材常用
信息论学术体系(数学原始定义)
1. 无失真信源编码定理2. 信道编码定理(有噪声信道)3. 有失真信源编码定理(保失真度准则下的信源编码定理)
源自香农1948年论文的严格定义体系
信息量 (Information Content)
单个符号的不确定性,用来衡量“惊讶程度”:
I(x)=−log2P(x)(1)I(x) = -\log_2 P(x)\tag{1}
I(x)=−log2P(x)(1)
出现概率越低的信息,包含的信息量越大。
如何理解信息量这个抽象物理概念?
假定我要传达某种物理状态的信息,这种物理状态总共存在八种情况,每种情况需要与一种表示方法一一对应,在机器语言——二进制中需要 log2(8)=3 bit\log_2(8)=3 \,\text{bit}log2(8)=3bit 信息来表示。如果我不知道一共存在多少种状态,仅知道某 ...









