数字电路基础知识(二)

PS:为了面试准备的,总结的比较粗糙。

 

1.实现D触发器逻辑

//基本D触发器

module D_EF(Q,D,CLK)

input D,CLK;

output Q;

reg Q;                           //在always语句中被赋值的信号要声明为reg类型 寄存器定义

always @ (posedge CLK)

       begin Q <= D; end

endmodule

 

//带异步清0、异步置1的D触发器

module D_EF(q,qn,d,clk,set,reset)

input d,clk,set,reset;

output q,qn;

reg q,qn;//寄存器定义

always @ (posedge clk or negedge set or negedge reset)

       begin

              if(!reset) begin q<=0;qn<=1;end//异步清0,低有效

              else if(!set) begin q<=1;qn<=1;end //异步置1,低有效

              else begin q<=d;qn<=~d;end

       end 

endmodule

 

//带同步清0、同步置1的D触发器

module D_EF(q,qn,d,clk,set,reset)

input d,clk,set,reset;

output q,qn;

reg q,qn;

always @ (posedge clk)

       begin

              if(reset) begin q<=0;qn<=1;end//同步清0,高有效

              else if(set) begin q<=1;qn<=1;end //同步置1,高有效

              else begin q<=d;qn<=~d;end

       end 

endmodule

 

2.一个二选一mux 和一个inv实现异或

1^ 0 = 1

0 ^ 0 = 0

0 ^ 1 = 1

1 ^ 1 = 0

==》

b=0时输出 y=a;

b = 1时 y=~a

数字电路基础知识(二)_第1张图片

 

3.逻辑代数基本运算

 

4.FPGA求三角函数,反三角函数

复杂运算——cordic算法

Cordic的方法核心就是伪旋转,将旋转角θ细化成若干个大小固定的角度θi,规定θi满足tanθi = 2^-i,通过一系列的迭代旋转,每次旋转θi,i为迭代次数,规定∑θi的范围即旋转角度θ的范围为[-99.7, 99.7]。如果θ的大于这个范围则可通过三角运算操作转化到该范围的角度。

 

xn = 1/∏cosθi (x0cosθ – y0sinθ)

yn = 1/∏cosθi (y0cosθ – x0sinθ)

伸缩因子,KN = 1 / ∏cosθi,已知迭代次数,我们可以预先计算KN的值。

 

我们预先计算出KN的值,然后令x0 = ∏cosθi,y0 = 0,则上述公式可化简为

xn = cosθ

yn = sinθ

即可实现正弦、余弦操作了。

 

5.FPGA实现FIFO控制器

https://download.csdn.net/download/u014485485/10681181

6.全加器

数字电路基础知识(二)_第2张图片

数字电路基础知识(二)_第3张图片

 

7.SRAM,SSRAM,DRAM,SDRAM

 

SRAM 利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。

DRAM 利用MOS管的栅电容上的电荷来存储信息,一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,由于栅极漏电,代表1的电容会放电,代表0的电容会吸收电荷,这样会造成数据丢失,因此需要一个额外设电路进行内存刷新操作。刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于 1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。这也是DRAM中的D(Dynamic动态)的意思。由于DRAM只使用一个MOS管来存信息,所以集成度可以很高,容量能够做的很大。SDRAM比它多了一个与CPU时钟同步。

 

 

SRAM(Static Dynamic Random Access Memory),它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。不像DRAM内存那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面积。

异步SRAM的访问独立于时钟,数据输入和输出都由地址的变化控制。

 

SSRAM(Synchronous SRAM)即同步静态随机存取存储器。同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;随机是指数据不是线性依次存储,而是由指定地址进行数据读写。

 

SDRAM(Synchronous Dynamic Random Access Memory)同步动态随机存取存储器,同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是由指定地址进行数据读写。

 

DDR SDRAM(Double-Date-Rate SDRAM)也称作DDR RAM,这种改进型的RAM和SDRAM是基本一样的, 不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。

https://blog.csdn.net/acs713/article/details/8139404

 

8.D触发器二分频电路

数字电路基础知识(二)_第4张图片

 

数字电路基础知识(二)_第5张图片

 

9.有源滤波器和无源滤波器

滤波器有无源和有源之分,无源滤波器是利用电感、电容和电阻的组合设计构成的滤波电路,可滤除某一次或多次谐波。有源滤波器是利用可关断电力电子器件,产生与负荷电流中谐波分量大小相等、相位相反电流来抵消谐波的滤波装置。

无源可以看成额外吸收谐波的负载,被动的吸收谐波;有源可以看成电源,主动的生成反向谐波。

对于这个的理解可以从英文来理解。 (Passive power filter,PPF),passive 可以理解为被动的消极的 专业翻译就是无源的。(Active power filter,APF) active 可以理解为主动的,积极的,专业翻译就是有源的。

 

10.傅里叶变换/拉普拉斯变换/Z变换

三种变换均是是将原先的时域信号变换到频域进行表示,在频域分析信号的特征。当信号变换到频域后,就会出现很多时域中无法直接观察到的现象。比如F域中的频谱响应;L域中的系统稳定性判断;Z域滤波器设计。

 

傅里叶变换粗略分来包括连续时间傅里叶变换(CTFT)、离散时间傅里叶变换(DTFT)。

CTFT是将连续时间信号变换到频域,将频率的含义扩充之后,就得到拉普拉斯变换。

DTFT是将离散时间信号变换到频域,将频率的含义扩充之后,就得到Z变换。

数字电路基础知识(二)_第6张图片

 

数字电路基础知识(二)_第7张图片

 

数字电路基础知识(二)_第8张图片

数字电路基础知识(二)_第9张图片

 

简而言之:

傅里叶变换只能对能量有限的信号进行变换(也就是可以收敛的信号),无法对能量无限的信号进行变换(无法收敛的信号)进行变换!

因此,拉氏变换由此诞生,他就是在傅里叶变换公式中乘以一个双肩因子,使得能量无限的信号也能进行时频变换!

Z变换就是离散化的拉氏变换!

 

你可能感兴趣的:(数字设计)