自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Retiming技术

Retiming就是重新调整时序,例如电路中遇到复杂的组合逻辑,延迟过大,电路的时序不满足,这个时候采用流水线技术,在组合逻辑中插入寄存器流水线,今夕操作,面积换速度。

2020-12-04 13:35:30 2984 4

原创 2020-11-23

在数学中,对数是对求幂的逆运算,正如除法是乘法的倒数,反之亦然。 这意味着一个数字的对数是必须产生另一个固定数字(基数)的指数。如果,即a的x次方等于N(a>0,且a≠1),那么数x叫做以a为底N的对数(logarithm),记作。其中,a叫做对数的底数,N叫做真数,x叫做“以a为底N的对数”。1、特别地,我们称以10为底的对数叫做常用对数(common logarithm),并记为lg。2、称以无理数e(e=2.71828...)为底的对数称为自然对数(natural logar...

2020-11-23 14:20:47 266

原创 UVM框架的大致流程

【1】testcase的作用:配置,启动sequence,不做具体的事情;【2】testcase调用sequence,产生transaction的一个item(transaction是一个类,但类中具体信号的赋值在sequence中指定,我们叫sequence item),我们通过sequencer将将sequence传递给driver;【3】driver将sequence item进行解析(如,地址,数据,操作指令等),将解析后的数据放到interface上;【4】DUT有几个端口(如地址..

2020-09-10 21:16:56 832

原创 Clock Tree Synthesis,时钟树综合,简称CTS。

1什么是时钟树综合简单概括下,时钟树综合就是指从某个clock的root点长到各个sink点的clock buffer/inverter tree。工具试图将某个clock所属的所有sinks做到相同长度。从概念上,我们可以得到几个要点。clock的root点需要定义清楚。这个可以通过create_clock来定义。如果是create_generated_clock,它的master clock也是很清晰的,即知道generate clock的source latency;cl...

2020-09-08 20:57:43 4888

原创 提高工作频率

提高工作频率得本质就是要减少寄存器到寄存器得延时,最有效得方法就是避免出现大得组合逻辑,也就是要尽量满足四输入得条件,减少LUT得数量,可以通过加时序约束、流水线、切割状态的方法提高工作频率!...

2020-09-08 20:51:45 621

原创 紫光展锐时序分析题目

4、图中电路共有三种器件:MUX,BUFFER,DFF,请分析并回答问题。假设各电路的传出延时为:TVIN:max delay:8ns;min delay:4nsTBUF:max delay:2ns;min delay:1nsTMUX:max delay:3ns;min delay:1nsDFF:Tclk-Q:max delay:4ns;min delay:1nsTSETUP:4ns;THOLD:1.5ns1)请问本电路是否存在hold time问题?如果有,请修改电路在不影

2020-09-08 10:36:25 3335 9

原创 设计一个电路,把A clock domain的一个单周期脉冲同步到B clockdomain,在B domain也为一个单周期脉冲(A、B是异步clock,且时钟周期关系不确定),画出电路图。

解析:通读题干后我们可以得出一些比较有用的信息:1)单周期脉冲,说明只有1bit;2)A、B是异步的,说明需要做跨时钟域的处理;3)A、B的时钟周期关系不确定,说明要考虑A时钟快还是B时钟快。总结下来就是考察我们单比特数据如何做跨时钟域处理的问题,相关的知识点我们在加油站| 单比特信号跨时钟域问题详解(大疆FPGA逻辑岗A卷)中做了详细的讲解。与之不同的是我们要用一种方法实现两种情况(A快B慢和A慢B快),这里我们还是用脉冲展宽的方法,代码不再贴出,直接看仿真结果。A(约300MHz)快

2020-09-08 10:33:31 726

原创 锁存器(latch)和触发器(filp-flop)的概念和区别?为什么多用register。行为级描述中latch如何产生的?

1)锁存器是什么?从概念上来讲,锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值。简单而言,锁存器的输入有数据信号和使能信号,当处于使能状态时,输出随着输入变化而变化,当不处于使能状态时,输入信号怎么变化都不会影响输出。2)触发器是什么?触发器是对脉冲边沿敏感的器件,它的变化只会在时钟的上升沿或者下降沿到来的瞬间改变。下图是几个典型的触发器:3)区别?从上面的描述可以看出,锁存器是电平触发的,触发器是边沿触发的。如果是电平触发的,当使能的时候,如果输入

2020-09-08 10:18:28 19021 3

原创 数字IC设计基本概念之时序路径

时序分析工具可以查找并分析设计中的所有时序路径(timing paths)。每条时序路径有一个起点(startpoint)和一个终点(endpoint)。起点是设计中数据由时钟边沿触发的位置。数据通过时序路径中的组合逻辑传播,然后被另一个时钟边沿在终点捕获。时序路径的起点是时序元件的时钟引脚或设计的输入端口。时钟边沿在起始点触发数据。输入端口也能被视作起点,是因为输入端口是由外部源触发的。时钟边沿在终点捕获数据。输出端口也能被视作终点,是因为输出端口是在外部捕获的。每条路径从时序路径

2020-09-05 20:14:54 3496

转载 recovery time和removal time

在同步电路中,输入数据需要与时钟满足setup time和hold time才能进行数据的正常传输,防止亚稳态。同样的道理,对于一个异步复位寄存器来说,同样异步复位信号同样需要和时钟满足recovery time和removal time才能有效进行复位操作和复位释放操作,防止输出亚稳态。1、recovery time:恢复时间撤销复位时,恢复到非复位状态的电平必须在时钟有效沿来临之前的一段时间到来,才能保证时钟能有效恢复到非复位状态,此段时间为recovery time。类似于同步时钟的.

2020-08-26 11:32:39 1024

转载 调制和解调

调制就是用基带信号去控制载波信号的某个或几个参量的变化,将信息荷载在其上形成已调信号传输,而解调是调制的反过程,通过具体的方法从已调信号的参量变化中将恢复原始的基带信号。调制:将各种数字基带信号转换成适于信道传输的数字调制信号(已调信号或频带信号); 解调:在接收 0. 数字信号 vs 模拟信号 模拟信号(Analog signal)主要是与离散的数字信号相对的连续信号。模拟信号分布于自然界的各个角落,如每天温度的变化。而数字信号是人为抽象出来的在时间上的不连续信号。电学上的模拟信号是主要是指振

2020-08-24 19:37:46 25165

原创 任意整数分频

//divn.v / Verilogmodule divn (input clk,input rst_n,output o_clk);parameter WIDTH = 3;parameter N = 6;reg [WIDTH-1:0] cnt_p;// 上升沿计数单位reg [WIDTH-1:0] cnt_n;// 下降沿计数单位reg clk_p;// 上升沿时钟reg clk_n;// 下降沿时钟assign o_clk = (N == 1) ? clk :(N[0]) ?

2020-08-23 21:51:17 244

原创 DFT,可测试性设计

DFT,可测试性设计插入扫描链工程会接触DFT。需要了解DFT知识,但不需要深入。三种基本的测试(概念来自参考文档):1. 边界扫描测试:Boundary Scan Test:测试目标是IO-PAD,利用JTAG接口互连以方便测试。(jtag接口,实现不同芯片之间的互连。这样可以形成整个系统的可测试性设计)2. 内建自测试BIST:(模拟IP的关键功能,可以开发BIST设计。一般情况,BIST造成系统复杂度大大增加。memory IP一般自带BIST,简称MBIST)3. 扫描测试(ATPG)S..

2020-08-17 10:04:50 2107

转载 一个简单的UVM验证平台

2.1 验证平台的组成2.1.1. 何谓验证平台何谓验证平台?验证最基本的目的在于测试 DUT 的正确性,其最常使用的方法就是给 DUT 施加不同的输入(激励),所以一个验证平台最重要的的功能在于产生各种各样不同的激励,并且观测 DUT 的输出结果,把此结果与期望值比较一下,判断DUT 的正确性。注意,这里出现了一个词:期望值。什么是期望值?比如我们的DUT 是一个加法器,那么当我们输入 1+1 时,我们期望 DUT 输出是 2。当在 DUT计算 1+1 的结果时,验证平台也必须相应的执行同样的过程

2020-07-22 09:33:26 1398

原创 常用数字电路的逻辑符号

2020-07-19 16:05:18 18032

转载 CRC循环冗余校验算法

现实中通信链路都不会是理想的,比特在传输的过程中可能会出现差错,0变成1,1变成0.这就叫做比特差错。因此为了保证数据传输的可靠性,在计算网络传输数据时,必须采用各种检验措施来处理比特差错。在数据链路层广泛使用的是循环冗余的CRC检错技术。一、基本原理 CRC检验原理实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码(序列),从而构成一个总长为n=p+r位的二进制序列;附加在数据序列之后的这个检验码与数据序列的内容之间存在着某种特定的关系。如果因干扰等原因使数据序列中的某一位或某些...

2020-07-19 10:56:21 2217

原创 FIR和IIR滤波器

FIR, Finite impulse response filters, 有限脉冲响应滤波器IIR, Infinite impulse response filters,无限脉冲响应滤波器与IIR相比,FIR具有线性相位、容易设计的优点。这也就说明,IIR滤波器具有相位不线性,不容易设计的缺点。而另一方面,FIR却拥有IIR所不具有的缺点,那就是设计同样参数的滤波器,FIR比IIR需要更多的参数。这也就说明,要增加DSP的计算量。DSP需要更多的计算时间,对DSP的实时性有影响。...

2020-07-18 09:41:52 259

转载 verilog 语言实现任意分频

1、偶分频偶分频比较简单,假设为N分频,只需计数到N/2-1,然后时钟翻转、计数清零,如此循环就可以得到N(偶)分频。代码如下。module fp_even(clk_in,rst_n,clk_out); input clk_in; input rst_n; output clk_out; reg [1:0] cnt; reg clk_out; parameter N=6; always @ (posedge clk_in or negedg...

2020-07-16 11:09:40 3121 2

原创 Ram_style & Rom_style

如果要是用二维数组来实现Ram或者Rom,可以使用命令明确告诉综合工具,我要用什么资源去实现这样一个二维数组。注意:如果设计的是一个RAM,用ram_style;如果是ROM,则用rom_style。ram_style & rom_style这对综合属性旨在提示Vivado综合工具如何推断存储空间。其值可以为:block提示综合工具使用Block RAM来实现;distributed提示综合工具使用LUT资源来实现;用法,这里只给出Verilog中..

2020-05-24 15:57:23 2795

原创 如何解决亚稳态?

答:亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。解决方法:1 降低时钟频率2 使用反应更快的触发器Flip-Flop3 引入同步机制,防止亚稳态传播4 改善时钟质量,使用边沿变化更快的时钟信号然后是器件方面,使用比较好工艺和时钟周期裕量大的器件。.

2020-05-20 14:34:09 3091

原创 TTL电平和CMOS 电平

常用逻辑电平:12V,5V,3.3V;TTL 和CMOS 不可以直接互连。由于TTL 是在0.3-3.6V 之间,而CMOS 电平有的在12V 的有的在5V 的。CMOS 输出接到TTL 是可以直接互连。TTL 接到CMOS 需要在输出端口加一上拉电阻接到5V 或者12V。...

2020-05-20 09:21:16 793

原创 Setup time和Holdon time

Setup time和Holdon time时序逻辑电路对输入信号和时钟之间的时间要求。Setup time是指触发器的时钟信号上升沿到来以前,输入数据信号保持不变的时间。Holdon time是指触发器的时钟上升沿到来以后,输入数据信号保持不变的时间。如果不满足这两个时间,电路的输出可能是不定值,也就是所说的亚稳态。...

2020-05-19 19:47:16 984

原创 同步电路和异步电路的区别

同步电路:其核心逻辑用触发器实现,电路的主要信号、输出信号灯都由某个时钟沿驱动产生。可以很好的避免毛刺,利于器件移植,有利于STA(静态时序分析)、验证设计时序性能异步电路:其核心逻辑使用组合电路实现,电路的主要信号、输出信号不依赖于任何一个时钟信号。容易产生毛刺,不利于器件移植,不利于STA、验证设计时序性能。同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿

2020-05-19 15:12:04 9323

原创 同步异步时钟域接口信号

异步时钟域的同步分为两种:1)两个域的时钟频率相同,但相位不固定,称为同频异相时钟域的同步。同频异相问题的简单解决办法是用后级时钟对前级时钟数据采样两次(打两拍或者打三拍)。该方法可以有效的减少亚稳态的传输,使后级电路数据都是有效电平值。2)两个时钟域频率根本不同,称为异频时钟域的同步。要可靠地完成异频时钟域同步,可以使用DPRAM 或者FIFO,利用上级时钟写数据再用本级时钟读出即可。...

2020-05-19 12:42:00 915

原创 阻塞和非阻塞语句的区别

阻塞(=)和非阻塞(<=)语句的最主要的区别在其后的引用它的语句的电路结构上: 1)、对于阻塞语句,其综合出的组合逻辑的输出; 2)、对于非阻塞语句,其综合出的触发器的输出。 一般来说时序逻辑和always模块里面用非阻塞语句,在一个时序逻辑电路里面,非阻塞逻辑就像是一个寄存器,输出的是上一次存储的值。...

2020-05-19 12:15:50 5436

原创 函数function和任务task的区别

函数和任务的区别:、function函数:函数代表了纯组合逻辑,不能有时序方面的东西。 、task任务:即可以用来表示组合逻辑也可以表示时序逻。task一般仿真时候用的比较多,比如说只用写一个task,然后执行100遍task之类的function必需有input而且还比必需返回一个值...

2020-05-18 21:07:01 1655

原创 同步复位和异步复位

同步复位:同步复位仅在有效的时钟沿对触发器复位,该复位信号经过组合逻辑馈送到触发器的D输入端。同步复位的优缺点: 1) 优点:同步复位可以保证100%同步,可以对小的复位毛刺滤波。 同步复位可以在时钟周期之间,对逻辑等式产生的毛刺进行滤波。有利于仿真器的仿真 可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。 因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺 2)缺点...

2020-05-18 20:39:57 1351

原创 亚稳态 Metastability

触发器的建立时间和保持时间在时钟上升沿左右定义了一个时间窗口,如果触发器的数据输入端口上数据在这个时间窗口内发生变化(或者数据更新),那么就会产生时序违规。存在这个时序违规是因为建立时间要求和保持时间要求被违反了,此时触发器内部的一个节点(或者要输出到外部的节点)可能会在一个电压范围内浮动,无法稳定在逻辑0或者逻辑1状态。...

2020-05-18 20:39:44 424

原创 verilog中always电平敏感信号

敏感信号列表出现在always块中,其典型行为级的含义为:只要敏感信号列表内的信号发生电平变化,则always模块中的语句就执行一次,因此设计人员必须将所有的输入信号和条件判断信号都列在信号列表中。有时不完整的信号列表会造成不同的仿真和综合结果,因此需要保证敏感信号的完备性。在实际的PLD 器件开发中,EDA 工具都会默认将所有的输入信号和条件判断语句作为触发信号,增减敏感信号列表中的...

2020-03-07 17:30:49 7476

原创 FPGA的内部结构和工作原理

FPGA内部结构(1)FPGA的内部结构主要包含六大部分,分别是:可编程的输入输出IO口、可编程的逻辑单元、底层嵌入式功能单元、嵌入式块RAM、布线资源和硬核。以下是具体的介绍。可编程的输入输出IO口:可以使用软件配置成不用的电气标准和物理特性,比如可以调整上下拉电阻、匹配电阻等特性,使用灵活。可编程逻辑单元:是可编程逻辑的主体,可以根据设计灵活地改变内部连接与配置,从而完成不同的逻辑功...

2020-03-03 19:42:47 2799

原创 阻塞赋值和非阻塞赋值的区别?

阻塞赋值:前面语句执行完,才可执行下一条语句;即:前面语句的执行(b=a)阻塞了后面语句的执行(c=b)。即:always块内,2条语句顺序执行。always @(posedge i_clk)beginb = a;c = b;end非阻塞赋值:always块内,2条语句同时执行。即:前面语句的执行(b=a)不会阻塞后面语句的执行(c=...

2020-03-03 17:00:51 9931

原创 IC设计前端到后端的流程和EDA工具?

设计前端也称逻辑设计,后端也称物理设计,两者并没有严格得界限,一般涉及到与工艺有关得设计就是后端设计。1:规格制定:客户向芯片设计公司提出设计要求。2:详细设计:芯片设计公司(Fabless)根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。目前架构的验证一般基于systemC语言,对价后模型的仿真可以使用systemC的仿真工具。例如:CoCentric和Visual...

2020-03-02 15:10:12 1183

原创 异步电路设计

一、异步电路设计 1、单bit异步处理 1) 打三拍从慢到快,只有亚稳态的问题;所以只用打两拍或者三拍就行了。而从快传输到慢,不仅有要抑制亚稳态往下传播的问题,还有控制信号丢失的问题,这里就需要延长控制信号的长度。这里要将脉冲信号扩展为电平信号,在进行打两拍或者三拍就行了。打两拍或者三拍就行了。 2、多bits异步处理1)握手信号 2)D-MUX 3)异步FIFO(格雷码)二、Me...

2020-03-02 14:06:38 4376

原创 Gray Code

首先要了解的是异步FIFO使用格雷码唯一的目的就是:“即使在亚稳态进行读写指针抽样也能进行正确的空满状态判断”。 那么典型的判断方法是怎样进行的呢?以满状态判断为例,先要对读指针(属于读时钟域)在写时钟域进行抽样,然后才能与写指针进行比较,如果写指针赶上了读指针,说明已经写满,写操作必须暂停。 接下来说说为什么2进制指针不适合做空满判断。事实上2进制读指针在增减时,经常发生多位突变,比如6位地址1...

2020-03-02 14:06:21 247

原创 Tsu Th Tco Clock Skew Clock Jitter

Tsu Th Tco一、用没有delay的clock理解对于实际的D触发器来说,为了保证在时钟的上升沿能够正确的将D端的数据寄存并输出到Q端,需要满足以下两点:1.D端的数据必须在时钟上升沿到来之前的一定时间内就已经保持稳定,该时间被称为D触发器的建立时间(Tsu)2.D端的数据必须在时钟上升沿到来之后的一定时间内继续保持稳定,该时间被称为D触发器的保持时间(Th)如果不...

2020-03-02 14:06:14 661

原创 低功耗设计

在数字系统中功耗主要包括动态功耗和静态功耗。CMOS的动态功耗:是信号在0和1变化之间,电容充放电所消耗的功耗。我们知道,不仅仅CMOS器件有寄生电容,导线间也有电容。将电容C充电到电压Vdd所需要的能量CVdd^2。降低动态功耗技术:1、动态电压调节2、动态处理温度补偿3、门控时钟和可变频率时钟4、并行结构和流水线技术5、低功耗单元库6、低功耗状态机编码(Gray...

2020-03-02 14:06:05 405

原创 Pipeline 流水线设计

流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能提高数据吞吐率(提高处理速度)。缺点:功耗增加,面积增加,硬件复杂度增加,特别对于复杂逻辑如 cpu 的流水线而言,流水越深,发生需要 hold 流水线或 reset 流水线的情况时,时间损失越大。...

2020-03-02 14:05:56 972

原创 FIFO(同步) Snyc_FIFO

同步FIFO1, 空满状态的判断empty full2, 读写指针的控制 rp wr3, data_in data_out难点在于空满状态的判断//full state controlalways@(posedge clk, negedge rst_n)beginif(!rst_n)full_buf <= 1'b0;elsebeginif((~...

2020-03-02 14:05:39 194

原创 串并转换

串并转换是高速数据流处理地重要技巧之一。移位一般是需要有时钟做同步的,也就是说,n个时钟采样到的串行数据需要在n个时钟周期后以并行的方式输出,这是最基本的串入并出的设计思想。并串转换是使并行数据一位一位的输出。这两种转换都需要应答信号 ack...

2020-03-02 14:05:27 2412

原创 乒乓操作

乒乓操作是一个用于数据流控制的处理技巧。液晶显示对于外部接口传输的图像数据,以一帧图像为单位进行SDRAM的切换控制。当SDRAM1缓存图像数据时候,液晶显示的是SDRAM2的数据图像;反之,当SDRAM2缓存图像数据时候,液晶显示的是SDRAM1的图像数据;如此反复。这样处理的好处在于液晶显示的图像切换瞬间完成,掩盖了可能比较缓慢的图像流数据变换过程。乒乓操作可以通过输入数据选择控制...

2020-03-02 14:05:18 793

空空如也

空空如也

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

TA关注的人

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