关于FPGA的代码书写错误引起的时序问题

一、现象

FPGA 从RAM中读取DAC数据后,出现偶尔从RAM读错数据的情形,有时候修改一些代码后又不出现该错误的

二、分析

根据这个现象应该是时序引起的,需要做实验定位问题是写数据有误还是读数据有误,最后通过实验分析是写数据有误。

三、手撕代码

发现写数据到ram中,有两个信息跨时钟且都是写信号,会出现类似"竞争与冒险"的错误,因为有个是先写另外一个是后写,但是这两个信号同时置为"1",且跨时钟域,又时写信号,所以它们走的内部路线可能是不一致的,有时候按照代码的意思走,所以不出现错误,但是有时候走的路线不一致从而导致发送逻辑的错误,因此修改代码,不让这个信号同时置为"1",先让第一个置"1"后再让另一个置为"1"。

相关推荐
Riwuarua10 小时前
从近似0基础开始FPGA开发 -- part.11 AXI总线协议与工程应用
fpga开发
自小吃多12 小时前
高云 FPGA 添加时序约束笔记
笔记·fpga开发
学习FPGA的电气小兴兴18 小时前
基于FPGA的CORDIC旋转模式实现sin和cos运算
fpga开发·信号处理·数字信号处理·verilog·fpga·verilog hdl·cordic
blue_ice .20 小时前
DDS原理及简易实现
开发语言·经验分享·笔记·嵌入式硬件·fpga开发
明德扬20 小时前
AD9653采集模块怎样连接FPGA底板?从ADC采样到数据处理
学习·fpga开发·fpga
上海芯聚电子1 天前
ADC与FPGA之间,如何减少板级设计复杂度?
fpga开发·adc
自小吃多1 天前
高云FPGA ModelSim中的仿真
笔记·嵌入式硬件·fpga开发
通信王661 天前
适用于 FPGA 和 SoC 的UltraFast 设计方法指南(1)-UG949
fpga开发
明德扬1 天前
AD9653采集模块、PCIe采集卡和完整采集系统怎么选?
fpga开发·fpga
智塑未来1 天前
FPGA开发板选型:研发交付能力怎么看
人工智能·fpga开发