自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 为什么异步时钟不要设false path

由于我们分析的是信号A对信号B的影响,所以这里的信号A就是aggressor,信号B就是victim。而我们知道,对于aggressor和victim属于两个具有异步关系的clock的情况,aggressor的跳变可能发生于victim整个时钟周期的任何时刻。如图,在crosstalk分析中,当信号A和信号B跳变发生于同一时刻,那么信号B会因为信号A的影响,产生一个delta delay。而按照同步关系来计算的话,aggressor对victim的timing window之外的跳变的影响,工具就忽略了。

2024-07-23 11:04:10

转载 关于Virtual clock

但是,当BLOCK到了CTS阶段后,因为有BLOCK内部有clock network delay的存在,而RegB仅仅是个虚拟的寄存器,他的clock tree是不存在的,因此,clock network delay也就是0,这就会导致 RegA 到 PORT的timing path变得过于严格(与之相反,input 到 内部寄存器的path的setup check就会过于乐观)。然而不幸的是,如果用的是real clock, 那么必然会导致RegA的clock的source latency也相应的改变。

2024-07-23 11:00:43 1

原创 V/SV 时延控制

例1. (AMD) 打印结果是什么?module tb();int int_a,int_b;initial begin fork begin #2; int_a=1; int_b=2; end #3; int_a=4; join#1;int_b=3;$display("%d", int_a+int_b);#100 $stop;endendmodule4如果改成initial begin fork ... begin #3;

2021-10-06 10:55:33 703

原创 FPGA型号简介_王总0422

XILINX常用的是7系列V高端,侧重于逻辑资源和transeiver速率;;K中端;A带ARM ;S低端 V逻辑资源,trans速率高速率PCB板走线带宽受限, 在30GHz左右,走线相当于低通,限制了传输速率。0101(类似OOK)→多进制,如PAM4,带2bit信息,在同样波特率下,2倍提高比特率。异构SOC加ARM,ADC/DAC,AI引擎内置FEC硬核,比自己写RS编码,节省很多资源。但是相干算法用很多乘法器,DSP少了受限制。ALTERA原来是5系列(对

2021-10-01 09:45:06 2355 1

转载 cell的时序信息

以最简单的反相器为例,所谓cell的时序信息,即图中的传播延时Tr和Tf。• Tr : Output rise delay• Tf : Output fall delay反相器cell的延时取决于两个因素:输出负载(output load),即输出引脚的电容负载。负载电容越大,延迟越大。输入信号的过渡时间(input transition time)。在大多数情况下,延迟随着输入transition time的增加而增加,但是延迟和输入transitiontime并不总是单调关系,尤其是在输出负.

2021-09-25 10:42:02 951

原创 时序分析基础(二、如何优化)

https://mp.weixin.qq.com/s?__biz=MzUyNTc4NTk0OA==&mid=2247484486&idx=1&sn=bb7017c1e121c9d29b45f2b276e497b3&chksm=fa198a75cd6e0363fdb0ae11a59beb5647f6fab25d571b2559c48ca35bea7b30afb2d6e2f609&scene=21#wechat_redirect

2021-09-24 16:51:42 1319

原创 Verilog 选取三个输入数据中的中间值

2021-09-19 16:58:29 2503

原创 verilog中的for 循环

例1.module test(output reg [8:0] sumx ,input [4:0] x);parameter n = 3'd3;integer i ;always @ (*)begin sumx = 1 ; for( i=0; i<n; i=i+1 ) sumx = sumx + x ; endendmodule令x=3,仿真结果综合结果:for循环n次代表有n个相似的电路模块存在;代码上的“循环反馈”结构在阻塞赋值时代表前后

2021-09-19 16:54:01 17682

原创 recovery/removal time

recovery time∶ 撤销复位时,复位信号在下个时钟沿到来之前变无效的最短时间 removal time∶ 撤销复位前,复位信号在这个时钟沿之后复位信号仍需要保持的时间

2021-09-11 23:31:15 381

原创 STA setup/hold time可以是负数么?

结论:可以。但不能同时为负,且和必须是正数。1. 工作原理上存在的原因以reg2reg为例(上升沿触发假设时钟上升沿到达CK pin之后数据并不是被立即触发,这里存在一段延迟时间Dd,则RT = T + Dclks + Dd - setup =T+Dclks + (Dd - setup)=T+Dclks - (-Dd + setup)当Dd大于setup的时候 (-Dd + setup)就是负值了,setup的真实值不会是负值,这里的负值setup已经不再是原来意义上的setup了2. 从s

2021-09-09 09:16:20 5418

转载 数字IC/FPGA设计面试与工作_sky

请问:对于找工作刷题,怎么看?热身有必要,但是规劝一句:题目是刷不完的。面试通过了,后面还得再工作15年。你咋刷?得想的长远些。做题不是终点。刷题,面试为了啥?建议刷题是补充,平时多积累数字IC/FPGA设计知识、技能。相关知识、技能见:zhuanlan.zhihu.com/p/35研究生课题怎么做,找工作时才有的表现?重点:做出你的理解,你跟现有paper不一样,有提高,改善的地方。比如用一个CNN(神经网络加速器)举例,从HW架构上:DDR带宽需求,MAC利用率,支持的网络种类,C.

2021-09-04 20:12:37 830

原创 UART协议介绍

异步的全双工的串行总线,有两条数据线。

2021-08-31 20:36:47 213

原创 时序约束明德扬课程

测量的是capture沿数据稳定时间,阴影部分是数据抖动。

2021-08-30 17:03:40 281

原创 FPGA 面积与速度互换

面积换速度流水线Verilog 流水线设计 Pipeline乒乓操作Verilog 乒乓操作逻辑复制(并行化)https://www.cnblogs.com/linjie-swust/archive/2012/03/27/FPGA_verilog.html1)如果信号的扇出非常大,那么为了增加这个信号的驱动能力,一种办法就是插入多级Buffer,但是这样虽然能增加驱动能力,但是也增加了这个信号的路径延时。原因见 数字IC中的buffer解决该问题常用方法为驱动信号逻辑复制,即对扇出很大

2021-08-29 21:42:11 1294

原创 数字IC中的buffer

buffer本质上就是一个反相器。但是用mos管设计他的版图,就会知道buffer是一个宽长比远远高于普通反相器的特殊反相器。宽长比加大本质上是提高了mos的开关电流可以显著提高后级驱动能力。在扇出很大的wire中插入buffer可以提高带扇出能力,常见于时钟树中。时钟buffer本身是输入负载较小,输出驱动能力较强。因此前级电路驱动buffer容易,而buffer驱动后级电路也比较容易。因为时钟一般是要同时驱动很多mos管的,如果驱动能力不足,时钟高速翻转的时候就达不到预定的逻辑电平了。第一种是

2021-08-29 21:17:54 10006

原创 Verilog 乒乓操作

“ 乒乓操作” 是一个常常应用于数据流控制的处理技巧其主要特点有:1、 实现数据的无缝缓冲和处理;2、 可节约缓冲区空间;3、 可实现低速模块处理高速模块。应用场景:数据流输入速度较快,数据流运算处理速度较慢核心方法:输入缓存到1时,输出2;输入缓存到2时,输出1;按等时间间隔的节拍切换;整体上看数据流是不间断传输的具体来说, 在第 1个缓冲周期,将输入的数据流缓存到“ 数据缓冲模块1” ;在第2 个缓冲周期, 通过“ 输入数据选择单元” 的切换, 将输入的数据流缓存到“ 数据缓冲模块2”.

2021-08-29 19:10:39 5219

转载 Verilog 流水线设计 Pipeline

介绍定义:流水线设计就是将组合逻辑分割,并在各级之间插入寄存器,暂存中间数据的方法。以面积换速度。优点:每一部分延时降低——可用更快的时钟;大部分电路同时运算——提高数据吞吐率。缺点:增加面积;流水线并不减小单个数据操作的时间,减小的是整个数据流的操作时间;(不懂)功耗增加,硬件复杂度增加,特别对于复杂逻辑如 cpu 的流水线而言,流水越深,发生需要 hold 流水线或 reset 流水线的情况时,时间损失越大。 所以使用流水线并非有利无害,大家需权衡考虑。应用场景:1)组合逻辑太长,

2021-08-29 14:55:16 4851 3

原创 Verilog实现序列信号发生器

长度为n=6的序列信号110111循环移位寄存器会消耗较多的寄存器资源。需要n个寄存器,也就是6个。由于输入输出之间没有组合电路,不需要组合逻辑反馈运算,因此电路工作频率高,但问题在于移位寄存器的长度取决于序列长度,占用电路面积大。module seq_gen(input clk,input rst_n,output

2021-08-28 18:33:33 4994 2

原创 组合电路的竞争和冒险

定义逻辑竞争:当某一个变量经过两条以上的路径到达输出端的时候,由于每条路径上的延迟时间的不同,到达终点的时间就会有先有后。逻辑冒险:在具有竞争现象的组合电路中,当某个变量发生变化的时候,比如说从1跳到 0(0型冒险),或者说从 0 跳到 1(1型冒险),如果真值表所描述的逻辑关系遭受到短暂的破坏,在输出端它就会出现一个不应有的这么一个毛刺。1型冒险:如何记忆1型冒险:本来应该是0→0型冒险:判别如何识别逻辑冒险:当某些逻辑变量取特定值时,输出端的逻辑函数化简成Y = A+ A’或

2021-08-28 08:50:31 1230

原创 用D触发器实现时钟分频

核心思路:用D触发器构成移位寄存器,输出循环序列2倍分频最简单,只用生成01的循环脉冲always @ (posedge clk or posedge rst)beginif (rst)O_clk <= 0;elseO_clk <= ~O_clk;end9倍分频输出000001111循环脉冲,实现占空比非50%的9分频。如果要求占空比为50%的9分频电路,就用下降沿的D触发器打一拍,将两个信号相或后输出即可。...

2021-08-23 20:13:07 4137 2

原创 同步时序电路和异步时序电路

一. 定义在同步时序电路中,各触发器的时钟端全部连接到同一个时钟源上,只有当时钟脉冲到来时,电路的状态才能改变。(注意不要求是同一时钟,而是同源时钟。所谓的同源时钟是指同一个时钟源衍生频率比值为2的幂次方,且初相位相同的时钟。)同步逻辑是指时钟之间有固定的因果关系逻辑,异步时序逻辑电路不存在统一的时钟,触发条件由多个控制因素组成,任何一个因素的跳变都可以触发寄存器的变化。异步逻辑是指各时钟之间没有固定的因果关系逻辑。比如有些触发器的时钟输入端与时钟脉冲源相连,这些触发器的状态变化就与时

2021-08-23 19:35:12 8371

原创 2 SV Verification Environment

转换RTL功能验证,gate gdsii时序验证testcase: 包含激励响应transactor: 对数据进行处理,比如分读or写interface是SV特有的是从verilog的tb抽象出来,分层次表示经过一个cycle,把var_a赋值给din[3]router.din是tb的输出信号,不能采集没有加cb clocking就说明是异步信号posedge放在了clocking里面二值逻辑bitinterface,testbase,DUT..

2021-08-23 13:56:28 173

转载 FPGA入门怎么学习-OpenFPGA

图书:writing testbenches functional verification of hdl models

2021-08-23 09:30:38 203

原创 面向对象编程

创建复杂数据类型,在高抽象的层次上建立验证平台,针对事物而不是某个信号。可扩展性也高。properties就相当于变量。menthod控制变量光有class没有handle是不能用的,没有在内存空间中分配SV class里没有initial和always语句,用for循环替代b就是声明句柄new()之后就分配了内存空间,b就成了对象同时有了初值,bit类型初值都是0。注意四值逻辑初始值是x。...

2021-08-22 22:43:34 60

原创 1 Device Under Test(DUT)

功能验证 用SV SC V 易语言覆盖率驱动的随机约束激励设计师:架构-分模块写代码验证师:同时做verification plan-testbench,比RTL代码编写复杂几倍

2021-08-22 22:43:22 958

原创 Syetem Verilog题目

如图,断言在那个时钟沿开始的时序可以判决成功。(19汇顶)property test_seq_2; @( posedge clk ) @rose (start) |-> ##3 ( ( a ##2 b)[*2] ) ##2 stopendpropertyassert property(test_seq_2);

2021-08-22 14:40:42 243

转载 进制的转换

进制之间的转换以2进制为核心例1、10101.01011转换成8/16/10进制例2、十进制21.34375转换成2/8/16进制例3、八进制数(25.26)转换成2/10/16进制例4、十六进制(15.58)转换成2/8/10进制

2021-08-22 10:58:16 307

原创 异步FIFO的设计

什么时候读/写?-空满标志的判断读地址to格雷码-同步到写时钟域,与写地址比较-产生写满标志如何比较?

2021-08-21 21:19:11 125

原创 数字IC低功耗设计

动态功耗包括:关功耗或者称为翻转功耗在数字CMOS电路中,对负载电容进行充放电时消耗的功耗,比如对于下面的CMOS非门中:当Vin = 0时,上面的PMOS导通,下面的NMOS截止;VDD对负载电容Cload进行充电,充电完成后,Vout的电平为高电平。当Vin = 1时,上面的PMOS截止,下面的NMOS导通,负载电容通过NMOS进行放电,放电完成后,Vout的电平为低电平。这样一开一闭的变化,电源的充放电,就形成了开关功耗,开关功耗Psitch的计算公式在上式中,VDD为供电电压,Cloa

2021-08-19 18:51:52 1884

原创 AXI总线协议

问完axi 突发传输类型我说三种然后他问我关键字分别是啥还问乱序传输

2021-08-17 16:32:57 626

转载 一个牛人对FPGA的理解

看到的一个牛人对FPGA的理解,看来FPGA太厉害了!FPGA多数情况下相比ASIC而言,芯片成本大概是100倍的关系,最大的浪费在LUT这里,做出一个LUT-4需要16位存储单元,再加一个4-16译码器,以及其它的连线资源,做成一个LUT-4,至少需要16&TImes;6+8个晶体管。那么做一个4输入逻辑,设计的好的话如果用晶体管来做最多使用不超过8个晶体管。假设用LUT来做,相当于用了13倍的晶体管来做同样一件事。MUXF和MUXCY占的晶体管反而少很多,用这些部件速度会快很多。LUT本质上是

2021-08-16 19:01:30 361

原创 门控时钟问题

背景使用门控时钟可以有效降低动态功耗。门控时钟在 ASIC 中使用较多,在 FPGA 使用较少,使用门控时钟会影响时序分析原则:门控时钟的输出只能跟着时钟信号进行跳变,而不能跟着控制信号进行跳变上升沿有效的clk对上升沿有效的 clk,使用与门进行门控,ena 控制信号只能在时钟低电平处跳变,这样才能保证时钟的完整在clk高电平区间,只要en变化,输出的data_clk也会跟着变化,因此会带来毛刺或者时钟不完整问题。所以在clk高电平区间,ena要保持稳定。改进(1):使用一个锁存器,时钟

2021-08-16 16:13:57 1586 2

原创 IIC总线协议

介绍IIC(Inter Integrated Circuit,集成电路总线)是由数据线 SDA 和时钟 SCL 构成的双向串行总线I/O结构:特点:IIC是半双工IIC是真正的多主机总线,如果两个主机同时请求总线,可以通过冲突检测和仲裁防止总线数据被破坏多个IIC器件可以并联在IIC总线上,每个器件有特定的地址,分时共享IIC总线SDA 和 SCL 都是由主机控制的,从设备只是能够在一个字节数据发送完成后,主机释放SDA时,将SDA线拉低表示ACK。起始和终止信号都是由主机发出的,起始信号:

2021-08-16 14:53:09 540

原创 信号的扇入扇出

扇入系数是指门电路允许的输入端数目。扇出系数是指一个门的输出端所驱动同类型门的个数,或称负载能力。多扇出问题,会严重影响FPGA布线的稳定性,不利于时序收敛当输出负载大于它的扇出能力的时候,就会有如下的效应:1、输出低态时,输出电压VOL可能高于VOLmax。2、输出高态时,输出电压VOH可能高于VOLmin。3、输出的传播延迟可能大于规格说明的延迟值。4、输出的上升和下降时间可能大于规格说明的延迟值。5、器件工作温度可能升高,从而降低其可靠性,最终引起器件失效。解决方法:复制寄存器。

2021-08-15 11:02:18 2412

原创 跨时钟域信号如何处理(二、多bit信号)

1

2021-08-12 20:31:16 12407 1

转载 verilog中组合逻辑避免Latch

文章目录Latch的含义组合电路中出现Latch组合电路中避免LatchLatch的含义D锁存器:控制信号C = 0时,输出信号被锁存;C = 1时,输出随输入信号而改变,就像通过了缓冲器。危害:1)输入信号如果多次变化,容易产生毛刺;2)在大部分 FPGA 的资源中,可能需要比触发器更多的资源去实现 Latch 结构;3)锁存器的出现使得静态时序分析变得更加复杂。应用:门控时钟(clock gating)的控制组合电路中出现Latch根本原因:在 if 语句、case 语句、问号表达式中

2021-08-10 21:17:57 1107

原创 专业网站/教程收藏

Verilog 教程 https://www.runoob.com/w3cnote/verilog-tutorial.htmlVerilog 教程高级篇 https://www.runoob.com/w3cnote/verilog2-tutorial.html

2021-08-10 00:02:09 87

原创 IC数字方向秋招经验分享-电路和微电子考研

北大-平头哥项目要准备的非常细致,可能你做了80分,但是面试官会问到100分。书反复看。笔试面试题库要分享,甚至多人一起答题。先面小的,刷经验。合工大-外企项目可以带细节,定量描述,带数字。笔试合作。岔开时间。AMD范围非常宽泛,从前端到后端。落户需要三方。学校打印三方可能有次数限制时间限制摩文 老师流程会被问到verilog 综合 时序分析沟通能力:一定会碰到没理解面试官说什么或者自己不会的情况。和面试官交流思路,就算不会,也尝试去分析。如果特别想去某家公

2021-08-08 22:29:00 450

原创 芯片设计工程师职业发展之路——IC修真院直播

大公司有几千页的手册,完整介绍IC流程这个老师从后端做起,各个岗位都尝试过,也有的人一直专注某个领域手机芯片做了低功耗控制外企待得太安逸了,危机感。35岁去的,IC工程师的黄金年龄。优秀人才出走,核心技术转移到美国。海思高压力高强度高质量,要求一次性交付成功。...

2021-08-07 19:50:50 671

原创 IC设计行业名企全方位盘点-IC修真院直播

集成电路是一种技术,结合不同专业有不同种类产品。计算机-计算,cpu通信-基带自动控制-MCU感觉上述两家比较传统,集成度低,量大管饱,利润率低。兆易创新新研发中心在西安。华大也是比较传统。IP企业...

2021-08-07 19:49:03 165

空空如也

空空如也

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

TA关注的人

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