自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 抽取滤波器多相实现及matlab示例

在实际的工程应用中, 为了降低硬件实现时的输入数据速率I, 往往需要进行多相分解。采用多相滤波结构,可利用M个阶数较低的滤波来实现原本阶数较高的滤波,而且每个分支滤波器处理的数据速率仅为原数据速率的I/M,这为工程上高速率实时信号处理提供了实现途径。以下采样处理为例。假设要对输入数据序列进行M倍下采样(downsampling or decimation),通常来说,为了避免混叠,在下采样之前需要先进行抗混叠低通滤波,然后再对滤波结果进行下采样。

2023-01-11 19:31:53 1942

原创 多速率数据处理

采样的原理是:x(n)=xc(t)∣t=nT=xc(nT),xc(t)x(n)=x_c(t)|_{t=nT}=x_c(nT),x_c (t)x(n)=xc​(t)∣t=nT​=xc​(nT),xc​(t)是连续时间信号。x(n)x(n)x(n)是相应的离散时间信号。T是采样率。Xc(Ω)是xc(t)X_c(Ω)是x_c(t)Xc​(Ω)是xc​(t)的连续时间傅里叶变换。X(ΩT)=1/T(∑(k=0)∞Xc(Ω−2πk/T))X(ΩT)=1/T(\sum_{(k=0)}^{∞}X_c (Ω-2πk/T)

2023-01-11 15:56:08 1549

转载 APB 总线跨时钟域

传统上,在利用APB总线访问硬件模块内部的寄存器的时候,模块的内部寄存器都必须和APB总线采用相同的时钟。如图1、图2所示,PCLK为APB时钟区的时钟信号,PADDR为APB时钟区的地址信号;PWRITE为APB时钟区的写信号;PSEL为APB时钟区的片选信号,PENABLE为APB时钟区的使能信号,PWDATA为APB时钟区的写数据信号(图2中为PRDATA;APB总线主要用于低带宽外设之间的连接,例如UART、1284等,其总线架构不支持多个主模块,其唯一的主模块(master)就是APB桥接。

2022-09-27 16:06:04 1334

原创 AXI VALID READY

AXI VALID、READY信号分析

2022-09-27 10:26:46 179

转载 VC Spyglass CDC

支持自动推断clock/reset,不一定准确,需要double check。create_generated_clock用于生成时钟。CDC check分为四大类,Integrity Synchronization Convergence Glitchcreate_reset时虽然指明了clock,也需要set_input_delay明确指明reset属于哪个clock domain对于clock mux的约束,可以采用mulit mode的形式,通过set_case_analysis区别。

2022-09-27 10:03:53 1070 1

转载 门控时钟分析

在ASIC进行后端测试的时候,有时候可能会将不同时钟域的逻辑和寄存器连起来进行扫描链插入,此时可能某个模块的时钟来源可能不是通过它原来的时钟路径,而是整个芯片统一的测试时钟,就此时需要对时钟进行选择。1.如果En信号的上升沿在时钟的上升沿和下降沿之间的话,则结构1与结构2都会多产生一个时钟沿;这种门控方法避免了门控时钟的不完整性,也可以避免避免毛刺的产生,但门控后的时钟可能会产生亚稳态。2.如果En的下降沿在时钟的下降沿和上升沿之间,则很容易产生一个毛刺;应用与上升沿触发的寄存器的门控。

2022-09-26 17:50:26 1486

翻译 virtual sequence 和virtual sequencer

virtual sequencer和virtual sequence没有预定义的类。virtual sequence从uvm_sequence扩展。virtual sequencer从uvm_sequencer扩展而来。默认情况下,uvm_sequence类有一个名为m_sequencer的句柄,其类型为uvm_seuquencer base。从uvm_sequence类扩展的类也是如此。virtual sequencer类将具有物理sequencer的句柄。

2022-09-23 18:28:48 3138 2

转载 CDC跨时钟域处理

synopsys的VC Spyglass 可以用来检查cdc和rdc问题,即跨时钟域,和跨异步域问题。

2022-09-14 16:56:23 2073

原创 vcsynopsys 的RDC问题分析

在同步设计中,即使数据路径在相同的时钟域中,如果源寄存器的复位与目标寄存器的复位不同,这将创建异步交叉路径,并导致目标寄存器处的亚稳定性。

2022-09-07 13:43:44 1579

翻译 同步复位异步复位

异步和同步复位时序分析

2022-09-07 12:38:15 6512

原创 自己写的带符号除法器,verilog以及matlab

matlab代码%divideclear;close all;clc;WIDTH=16;div_A=[20855,21855,15,1166,11665,1115,1180,32777];%WIDTH=16div_B=[2,2,5,15,123,112,134,129];for i=1:length(div_A) for j=1:length(div_B) div_rem_d=abs(div_A(i))*2;%高位补div_A位宽-1=(WIDTH-1)个0,低位补1

2021-07-08 14:42:04 1292 1

原创 顺序乘法器,含verilog代码

顺序乘法器,含verilog代码我们需要明确的是两个D_WIDTH位宽的数相乘,结果位宽为2D_WIDTH, 对于负数乘法,可以利用乘数和被乘数的符号位进行异或得到积的符号位,通过判断符号位得到乘数和被乘数的绝对值,将负数乘法转为无符号数乘法进行运算,首先初始化乘数寄存器和被乘数寄存器Multiplicand,被乘数寄存器的低D_WIDTH位为输入的被乘数的绝对值,高D_WIDTH位为0,初始化乘积寄存器product[2D_WIDTH-1:0]=0,if (Multiplier>0)produ

2021-06-24 19:45:18 712

原创 booth编码乘法器,含verilog 代码

Booth编码首先介绍一下波斯编码,可以通过理解下面的等式:可以证明的是,这三个公式是相等的,一个有符号的二进制数的补码用公式1来表示,可以等价地写成公式2和公式3。公式2其实就对应的2位一组的booth编码,公式3对应的3位一组的booth编码这个过程就是对Y进行编码的过程。编码之后,乘数Y中的位被划分为不同的组, 每一组包括3位,这些组互相交叠。Booth编码可以减少部分积的数目(即减少乘数中1的个数),用来计算有符号乘法,提高乘法运算的速度。如上图所示为二进制乘法的过程,也是符合我们正常计

2021-06-24 19:34:52 9003 2

原创 DC综合时的setup time和hold time 的理解,一看就懂

DC综合时的setup time和hold time 的理解,一看就懂Tclk = Frequency of clockTcq = Flop clock to Flop q delayTcomb = Delay on the combinational logic between the FlopsTsetup = Required setup time of a FlopThold = Required hold time of a FlopTskew = Dela

2021-01-17 16:15:11 2830

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除