笔试|面试|FPGA知识点大全系列(6)


前言

哈喽,感谢你每天的陪伴,今天照例学点什么再走吧~

本文首发于微信公众号<FPGA学习者>


27.时钟抖动jitter/时钟偏移skew

jitter:由于晶振本身稳定性,电源以及温度变化等原因造成了时钟频率的变化,就是jitter,指的是时钟周期的变化,也就是说时钟周期在不同的周期上可能加长或缩短。它是一个平均值为0的变量。

指两个时钟周期之间存在的差值,这个误差是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,布线对其没有影响。由于跟晶振本身的工艺有关,所以在设计中无法避免它能带来的影响, 通常只能在设计中留有一定的余量,或选择更高品质的晶振产品。

图片

jitter = T2 - T1;

skew:是指同样的时钟产生的多个子时钟信号之间的延时差异。skew通常是时钟相位上的不确定。由于时钟源到达不同寄存器所经历路径的驱动和负载不同,时钟边沿的位置有所差异,因此就带来了skew。完成布局布线后,物理路径延时是固定的,所以在设计中考虑到时钟偏移,就可以避免偏移带来的影响。

在这里插入图片描述

28.EDA开发工具

数字逻辑仿真工具:
cadence: Incisive
synopsys: VCS
mentor: QuestaSim
ModelSim
数字逻辑综合工具:
Cadence:Genus
Synopsis: design
Compiler (DC)
数字后端设计工具:
1,自动布局布线工具
Cadence: Innovus
Synopsis: IC Compiler
2. 物理验证工具
1, Mentor: Calibre
2, Synopsis: ICV
3, Cadence: PVS/Pegasus

29.时序约束

时序约束主要包括周期约束,偏移约束,静态时序路径约束三种。通过附加时序约束可以综合布线工具调整映射和布局布线,使设计达到时序要求。

附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。

附加全局约束时,首先定义设计的所有时钟,对各时钟域内的同步元件进行分组,对分组附加周期约束,然后对FPGA/CPLD输入输出PAD附加偏移约束、对全组合逻辑的PAD TO PAD路径附加约束。

附加专门约束时,首先约束分组之间的路径,然后约束快、慢速例外路径和多周期路径,以及其他特殊路径。

约束的作用?
1:提高设计的工作频率(减少了逻辑和布线延时);
2:获得正确的时序分析报告;

(静态时序分析工具以约束作为判断时序是否满足设计要求的标准,因此要求设计者正确输入约束,以便静态时序分析工具可以正确的输出时序报告)
3:指定FPGA/CPLD的电气标准和引脚位置。

30.DMA

DMA(Direct Memory Access,直接存储器访问)是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU对于其他的工作来说就无法使用。

DMA传输将数据从一个地址空间复制到另外一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成。 典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA传输对于高效能嵌入式系统算法和网络是很重要的。

在实现DMA传输时,是由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。一个完整的DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束等4个步骤。

31.乒乓buffer

概念:乒乓buffer是由两个单口sram背靠背组成的一种电路结构,假设我们称其为s1和s2。则乒乓buffer的工作方式如下。
1)首先向s1中写入数据,此时s2是空的,因此没有操作。
2)当向s1写入完毕,通过逻辑操作,使得接下来向 s2 中写入数据,于此同时其他模块可以从s1中读出已经写入的数据;
3)待s2中写完,再次转换,重新向s1中写入数据,同时其他模块从s2中读出数据。
4)由于这个过程中两个buffer总是一个读一个写,并且互相交换读/写角色,因此称其为乒乓buffer。

应用场景
当后面的处理单元在工作期间,前面的buffer的内容不能被释放。或者,在处理单元工作期间,buffer的特定地址的内容不止被访问一次。

:对于buffer的内容用一次就可以被释放的应用场景(如处理图像数据):直接用FIFO结构,或者移位寄存器即可实现。

32. BRAM/DRAM

Block RAM(BRAM)

Block RAM由一定数量固定大小的存储块构成的,使用BLOCK RAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的BLOCK RAM资源是其块大小的整数倍。

如 Xilinx公司的结构中每个BRAM有36Kbit的容量,既可以作为一个 36Kbit 的存储器使用,也可以拆分为两个独立的18Kbit存储器使用。反过来相邻两个BRAM可以结合起来实现72Kbit存储器,而且不消耗额外的逻辑资源。Block RAM都有两套访问存储器所需的地址总线、数据总线及控制信号灯信号,因此其既可以作为单端口存储器,也可以作为双端口存储器。需要注意的时访问BRAM需要和时钟同步,异步访问不支持的。

查找表存储器——分布式RAM(DRAM)

只有成为SLICEM的逻辑块里的查找表才可以用做分布式RAM。

利用查找表为电路实现存储器,既可以实现芯片内部存储,又能提高资源利用率。

分布式RAM的特点是可以实现BRAM不能实现的异步访问。

不过使用分布式RAM实现大规模的存储器会占用大量的LUT,可用来实现逻辑的查找表就会减少。因此建议仅在需要小规模存储器时,使用这种分布式RAM。

33.设计描述方式

概述:verilog通常可以使用三种不同的方式描述模块实现的逻辑功能:结构化、数据流、行为描述方式。
结构化描述方式:是使用实例化低层次模块的方法,即调用其他已经定义过的低层次模块对整个电路的功能进行描述,或者直接调用Verilog内部预先定义的基本门级元件描述电路的结构。
数据流描述方式:是使用连续赋值语句(assign)对电路的逻辑功能进行描述,该方式特别便于对组合逻辑电路建模。
行为级描述方式:是使用过程块语句结构(always)和比较抽象的高级程序语句对电路的逻辑功能进行描述。

34.延迟设计

异步电路一般是通过加buffer、两级与非门等来实现延时,但这是不适合同步电路实现延时的。
在同步电路中,对于比较大的和特殊要求的延时,一般通过高速时钟产生计数器,通过计数器来控制延时;对于比较小的延时,可以通过触发器打一拍,不过这样只能延迟一个时钟周期。

35.DDR带宽计算

基本公式带宽=内存核心频率×内存总线位数×倍增系数。
DDR倍增系数为2,DDR2倍增系数为4,DDR3倍增系数为8。
如果直接标为DDR3-800,其中内存的核心频率只有100MHz,有效数据传输频率则为800MHz。
计算时就不管什么核心频率了,如果内存总线位宽为64bits,直接 800x64/8,要注意的是,这里除以8是为了将bit位转为Byte字节,而不是因为倍增系数。


总结

以上就是今天要讲的内容,更多精彩可见公众号“FPGA学习者”。


往期精彩

笔试|面试|FPGA知识点大全系列(1)
笔试|面试|FPGA知识点大全系列(2)
笔试|面试|FPGA知识点大全系列(3)
笔试|面试|FPGA知识点大全系列(4)
笔试|面试|FPGA知识点大全系列(5)

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 2 2. 什么是同步逻辑和异步逻辑? 2 3. 同步电路和异步电路的区别: 2 4. 时序设计的实质: 2 5. 建立时间与保持时间的概念? 2 6. 为什么触发器要满足建立时间和保持时间? 2 7. 什么是亚稳态?为什么两级触发器可以防止亚稳态传播? 2 8. 系统最高速度计算(最快时钟频率)和流水线设计思想: 2 9. 同步复位和异步复位的有何区别? 3 10. 写出一段代码,用来消除亚稳态。 3 11. 写出一段代码,对时钟进行3分频。 4 12. 设计一个glitch free的时钟切换电路逻辑,比如从20m切到50m,讲明理由。 4 13. 如何跨时钟域同步多位信号?有哪些技术? 4 14. 异步FIFO为什么用格雷码 5 15. 时序约束的概念和基本策略? 5 16. 附加约束的作用? 6 17. 锁存器(latch)和触发器(flip-flop)区别? 6 18. FPGA 芯片内有哪两种存储器资源? 6 19. 什么是时钟抖动? 6 20. FPGA 设计中对时钟的使用?(例如分频等) 6 21. IC 设计中同步复位与异步复位的区别 6 22. MOORE 与 MEELEY 状态机的特征 6 23. FPGA 中可以综合实现为 RAM/ROM/CAM 的三种资源及其注意事项? 6 24. 什么是竞争与冒险现象?怎样判断?如何消除? 7 25. 查找表的原理与结构 7 26. 寄生效应在IC设计中怎样加以克服和利用 7 27. 设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零, 7 28. 数字IC(ASIC)设计流程: 8 29. SERDES的高速串行接口 8 30. 什么是状态编码技术? 解释一下。 8 31. FIFO简单讲解(*) 9 32. IC设计前端到后端的流程和EDA工具? 12 33. FPGA设计中如何实现同步时序电路的延时? 12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值