Josh's Blog

一个电子工程师的修养

验证是芯片设计过程中非常重要的一个环节。无缺陷的芯片不是设计出来的,而是验证出来的。验证的过程是否准确与完备,在一定程度上决定了一个芯片的命运。在芯片设计中,功能验证的方法主要有 3 种:仿真形式验证以及硬件加速。本文重点介绍仿真的概念、仿真平台的搭建以及如何利用高效的仿真平台来验证设计等话题。

阅读全文 »

状态机是逻辑设计的重要内容,其设计水平直接反映工程师的逻辑功底,所以许多公司的硬件和逻辑工程师面试中,状态机设计几乎是必选题目。本文在引入状态机设计思想的基础上,重点讨论如何写好状态机。

阅读全文 »

1. 幅度平方响应与数字滤波器的技术指标

1.1. 幅度平方响应

  常采用滤波器的幅度平方响应 \(\left|H\left(e^{j\omega}\right)\right|^2\) 来描述滤波器的选频特性。

1.2. 数字滤波器的技术指标

数字滤波器的技术指标
  1. 通带截止频率(passband edge frequency):\(\omega_p\)

  2. 阻带截止频率(stopband edge frequency):\(\omega_s\)

  3. 通带波动(passband ripple in dB):\(R_p=-10\lg{\dfrac{1}{1+\varepsilon^2}}\),其中 \(\varepsilon\) 为通带波动系数。

  4. 阻带衰减(stopband attenuation in dB):\(A_s=20\lg{\delta}\)

阅读全文 »

1. 直接计算 DFT 的计算量

  考察列长为 \(N\) 的序列 \(x\left(n\right)\) 的 DFT

\[\begin{align} X\left(k\right)&=\sum_{n=0}^{N-1}{x\left(n\right)W_N^{nk}}=\sum_{n=0}^{N-1}\left\{\Re{\left[x\left(n\right)\right]}+j\Im{\left[x\left(n\right)\right]}\right\}\left\{\Re{\left[W_N^{nk}\right]}+j\Im{\left[W_N^{nk}\right]}\right\} \\ &=\sum_{n=0}^{N-1}{\left\{ \Re \left[ x\left( n \right) \right] \Re \left[ W_{N}^{nk} \right] -\Im \left[ x\left( n \right) \right] \Im \left[ W_{N}^{nk} \right] \right\} +j\left\{ \Re \!\:\left[ x\left( n \right) \right] \Im \!\:\left[ W_{N}^{nk} \right] +\Im \left[ \!\:x\left( n \right) \right] \Re \!\:\left[ W_{N}^{nk} \right] \right\}} \end{align}\]

由此,直接计算 DFT 时,在不忽略 \(W_N^0=1\) 等特例时,实数乘法次数为 \(4N^2\),实数加法次数为 \(2N\left(2N-1\right)\),均与 \(N^2\) 成正比,计算量非常庞大。

阅读全文 »

1. 离散傅里叶变换(Discrete Fourier Transform, DFT)的定义

  取离散傅里叶级数的主值,得离散傅里叶变换

\[\begin{equation} X\left(k\right)=\widetilde{X}\left(k\right)R_N\left(k\right)=\sum_{n=0}^{N-1}{x\left(n\right)W_N^{kn}},\ \ k=0,1,\cdots,N-1 \end{equation}\]

\[\begin{equation} x\left(n\right)=\widetilde{x}\left(n\right)R_N\left(n\right)=\frac{1}{N}\sum_{k=0}^{N-1}{X\left(k\right)W_N^{-kn}},\ \ n=0,1,\cdots,N-1 \end{equation}\]

\(\widetilde{X}\left(k\right)=X\left(\left(k\right)\right)_N,\widetilde{x}\left(n\right)=x\left(\left(n\right)\right)_N\)。其中 \(R_N\left(n\right)\) 表示矩形序列,表示取主值;\(\left(\left(n\right)\right)_N\) 表示 \(n\)\(N\) 取余。

注:不同教材中取主值、取余的符号表述可能不同。

阅读全文 »

1. 傅里叶变换的几种形式

1.1 非周期连续时间信号的傅里叶变换

  非周期连续时间信号的傅里叶变换(连续时间傅里叶变换,Continuous-Time Fourier Transform, CTFT)的形式为:

\[\begin{equation} X_a\left(j\Omega\right)=\int_{-\infty}^{\infty}{x_a\left(t\right)e^{-j\Omega t}\mathrm{d}t} \end{equation}\]

\[\begin{equation} x_a\left(t\right)=\frac{1}{2\pi}\int_{-\infty}^{\infty}{X_a\left(j\Omega\right)e^{j\Omega t}\mathrm{d}\Omega} \end{equation}\]

阅读全文 »

1. 理想取样信号的频谱

  设有输入连续时间信号 \(x_a\left(t\right)\),理想取样信号 \(\hat{x}\left(t\right)\),单位周期冲激串 \(p_\delta\left(t\right)=\displaystyle\sum_{n=-\infty}^{\infty}\delta\left(t-nT\right)\),则理想取样信号可表示为

\[\begin{equation} \hat{x}\left(t\right)=x_a\left(t\right)p_\delta\left(t\right)=x_a\left(t\right)\sum_{n=-\infty}^{\infty}\delta\left(t-nT\right) \end{equation}\]

由于 \(\delta\left(t-nT\right)\) 仅在 \(t=nT\) 时非零,因此理想取样信号可进一步表示为

\[\begin{equation} \hat{x}\left(t\right)=\sum_{n=-\infty}^{\infty}{x_a\left(nT\right)\delta\left(t-nT\right)} \end{equation}\]

阅读全文 »

1. 常见等价无穷小

\(\sin x \sim x\)\(\tan x \sim x\)\(\arcsin x \sim x\)
\(\arctan x \sim x\)\(\displaystyle\left( 1 - \cos x \right) \sim \frac{x^2}{2}\)\(\ln (1+x) \sim x\)
\(\left( e^x -1 \right) \sim x\)\(\left( a^x - 1 \right) \sim x \ln a\)\(\left( \left( 1+x \right) ^\alpha -1 \right) \sim \alpha x\)
阅读全文 »