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

一、现象

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

二、分析

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

三、手撕代码

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

相关推荐
cycf1 天前
源同步接口(六)
fpga开发
电子凉冰1 天前
FPGA强化-简易电压表的设计与验证
fpga开发
国科安芯1 天前
抗辐照MCU芯片在低轨商业卫星原子钟中的适配与优化
单片机·嵌入式硬件·fpga开发·架构·risc-v
bnsarocket2 天前
Verilog和FPGA的自学笔记6——计数器(D触发器同步+异步方案)
笔记·fpga开发·verilog·自学·硬件编程
博览鸿蒙2 天前
FPGA职位经典笔/面试题(附答案与解析)
fpga开发
li星野2 天前
打工人日报#20251011
笔记·程序人生·fpga开发·学习方法
尤老师FPGA2 天前
LVDS系列31:Xilinx 7系 ADC LVDS接口参考设计(二)
fpga开发
ARM+FPGA+AI工业主板定制专家2 天前
基于Jetson+GMSL AI相机的工业高动态视觉感知方案
人工智能·机器学习·fpga开发·自动驾驶
易享电子2 天前
基于单片机大棚浇水灌溉控制系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·fpga开发·51单片机·proteus
cmc10282 天前
127.XIlinx fpga端的pcie(XDMA)与驱动是如何交换数据的
笔记·fpga开发