fpga技巧篇四fpga设计的四种常用思想与技巧之四:数据同步化

streetlive streetlive     2022-12-04     188

关键词:

欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章

 技术图片

1 输入数据同步化的原则

(1)如果输入数据的节拍和本级芯片的处理时钟同频,可以直接用本级芯片的主时钟对输入数据寄存器采样, 完成输入数据的同步化;

(2)如果输入数据和本级芯片的处理时钟是异步的,特别是频率不匹配的时候,则只有用处理时钟对输入数据做同步化处理,才能完成输入数据的同步化。

 

2 同步化方式

复位:

  异步复位同步释放

数据:

  1. 单比特数据:打两拍进行同步

  2. 多比特数据:2.1 采用握手机制保证数据稳定

                                 2.2 RAM 或 FIFO

 

3 详述

数据打两拍的方法

需要说明的是,用寄存器对异步时钟域的数据进行两次采样,其作用是有效防止亚稳态 ( 数据状态不稳定 ) 的传播,使后级电路处理的数据都是有效电平。但是,这种做法并不能保证两级寄存器采样后的数据是正确的电平,这种方式处理一般都会产生一定数量的错误电平数据。所以仅仅适用于对少量错误不敏感的功能单元。

为了避免异步时钟域产生错误的采样电平,一般使用 RAM 、 FIFO 缓存的方法完成异步时钟域的数据转换。最常用的缓存单元是 DPRAM ,在输入端口使用上级时钟写数据,在输出端口使用本级时钟读数据,这样就非常方便的完成了异步时钟域之间的数据交换。

 

把数据存放在 RAM 或 FIFO 的方法

将上级芯片提供的数据随路时钟作为写信号,将数据写入 RAM 或者 FIFO ;然后使用本级的采样时钟将数据读出来即可。

这种做法的关键是数据写入 RAM 或者 FIFO 要可靠

如果使用同步 RAM 或者 FIFO ,就要求应该有一个与数据相对延迟关系固定的随路指示信号,这个信号可以是数据的有效指示,也可以是上级模块将数据打出来的时钟。

对于慢速数据,也可以采用异步 RAM 或者 FIFO ,但是不推荐这种做法。

 

fpga-硬件设计技巧

1、管脚兼容性设计  FPGA在芯片选择的时候尽量选择兼容性好的封装,那么在硬件设计时,就要考虑如何兼容多种芯片问题;在相同封装、兼容多个型号的FPGA设计中,一般原则是按照通用IO数量少的芯片来设计电路2、根据电路... 查看详情

μc/os-ii在microblaze上的移植与使用专题--“安富利杯”赛灵思fpga设计技巧与应用创新博文大赛参赛作品

reference:http://xilinx.eetrend.com/d6-xilinx/blog/2010-05/682.html 随着集成电路设计与制造技术的发展,FPGA芯片的容量越来越大、性能越来越高,用FPGA构建片上系统成为现实,基于FPGA的嵌入式系统与SOPC(SystemOnaProgrammableChip)设计技术将... 查看详情

fpga寒假学习目标

学习FPGA逻辑设计课程熟练使用ISEQuartus Modelsim掌握四种FPGA经典设计思想:流水线乒乓操作串并转换数据同步调试经常的模块:PLL RAMROMFIFOdds任意奇偶分频计数器状态机 掌握测试文件编写方法常用接口协议逻辑开发:串... 查看详情

干货分享,fpga硬件系统的设计技巧

...可以自己定义。因此,FPGA的电路设计中会有一些特殊的技巧可以参考。1.FPGA管脚兼容性设计FPGA在芯片选项时要尽量选择兼容性好的封装。那么,在硬件电路设计时,就要考虑如何兼容多种芯片的问题。例如,EP2C8Q208C8和EP2C5Q208... 查看详情

verilog编程技巧

FPGA/CPLD的设计思想与技巧是一个非常大的话题,由于篇幅所限,本文仅介绍一些常用的设计思想与技巧,包括乒乓球操作、串并转换、流水线操作和数据接口的同步方法。希望本文能引起工程师们的注意,如果能有意识地利用这... 查看详情

学习fpga有必要写sdram控制器吗?

...学习FPGA的过程中,注意是在学习过程中,联系FPGA的使用技巧,强烈建议尝试设计一个SDRAM控制器,不要使用IP核。学习SDRAM控制器设计,能让你掌握很多知识。更好的使用状态机去精准控制时序。学会高速设计中必要的技能,也... 查看详情

fpga开发设计流程

...制电路SOC:片上系统将完整的产品功能集成到一个芯片上设计思想:自顶向下,软硬协同层次化,结构化FPGA设计流程:1、电路设计:方法论证,系统设计和FPGA芯片选择2、设计输入:HDL和原理图输入HDL优点:语言与芯片工艺无关3... 查看详情

基于fpga的嵌入式图像处理系统设计pdf

...的嵌入式图像处理系统所需要的正确思路以及许多实用性技巧,并给出了许多图像处理算法在fpga上的具体实现方法以及多个基于fpga实现嵌入式图像处理系统的应用实例。《基于fpga的嵌入式图像处理系统设计》对fpga技术的初学... 查看详情

fpga设计——spiflash启动之mc8051设计

1.概述本设计采用FPGA技术,在FPGA中实现8051单片机的软核,将外部SPIFlash中的代码数据加载到FPGA内部ram,然后复位MC8051,实现外部flash启动MC8051。2.系统框图8051采用OreganoSystems公司开源的MC8051软核。SPIFlash采用W25Q16芯片存储8051的代... 查看详情

fpga设计思想(持续更新)

一、流水线设计  将原本一个时钟周期完成的较大的组合逻辑通过合理的切割后分由多个时钟周期完成。该部分逻辑运行的时钟频率会有明显对的提升,提高系统的性能用面积换速度  一个流水线设计需要4个步骤完成一个... 查看详情

fpga教程案例95机器学习2——基于fpga的svm支持向量机二分类系统实现之verilog编程设计

FPGA教程目录​​​​​​MATLAB教程目录目录1.软件版本2.SVM的FPGA实现准备3.Verilog实现 查看详情

fpga教程案例95机器学习2——基于fpga的svm支持向量机二分类系统实现之verilog编程设计

FPGA教程目录​​​​​​MATLAB教程目录目录1.软件版本2.SVM的FPGA实现准备3.Verilog实现 查看详情

最常用的四种设计模式

下面列举四种最常用的设计模式 一、Strategy模式 1、两大原则 Strategy 模式体现了如下的两大原则: 1,针对接口编程,而不是针对实现编程。 2,多用组合,少用继承。 2、例子: 二、Iterator模式 ... 查看详情

上一步是硬件描述语言,下一步是fpga

...想办法实现一遍,学习一些解决问题的套路,处理问题的技巧,知道写一个能用的东西大概需要哪些背景知识。学习实现一些简 查看详情

silverlight&blend动画设计系列六:动画技巧(animationtechniques)之对象与路径转化波感特效

原文:Silverlight&Blend动画设计系列六:动画技巧(AnimationTechniques)之对象与路径转化、波感特效  当我们在进行Silverlight&Blend进行动画设计的过程中,可能需要设计出很多效果不一的图形图像出来作为动画的基本组成元素... 查看详情

数据结构与算法之深入解析常用的七大算法设计策略

...与原问题相同,然后各个击破,分而治之。这个技巧是很多高效算法的基础,如排序算法(快速排序& 查看详情

编写高效的java代码:常用的优化技巧

​​编写高效的Java代码:常用的优化技巧【二】​​​​编写高效的Java代码:常用的优化技巧【三】之JVM调优​​​​编写高效的Java代码:常用的优化技巧【四】之并发编程技巧​​1.代码结构优化代码结构优化是提高Java程序... 查看详情

fpga设计中ram的一些基本概念

1、FPGA中双口RAM的基本概念  在FPGA的设计中,常用的数据缓存IP有FIFO和RAM,其中RAM又分为单口RAM,伪双口RAM和双口RAM。  单口RAM与双口RAM的区别在于,单口RAM只有一组数据线与地址线,因此读写不能同时... 查看详情