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

一、现象

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

二、分析

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

三、手撕代码

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

相关推荐
XINVRY-FPGA3 小时前
EPM240T100I5N Altera FPGA MAX II CPLD
人工智能·嵌入式硬件·fpga开发·硬件工程·dsp开发·射频工程·fpga
第二层皮-合肥9 小时前
FPGA实现ETH接口
单片机·嵌入式硬件·fpga开发
璞致电子12 小时前
【PZ-ZU47DR-KFB】璞致FPGA ZYNQ UltraScalePlus RFSOC QSPI Flash 固化常见问题说明
嵌入式硬件·fpga开发·fpga·软件无线电·sdr
陌夏微秋13 小时前
FPGA硬件设计2 最小芯片系统-ZYNQ7020/7010
嵌入式硬件·fpga开发·硬件架构·硬件工程·信息与通信·智能硬件
风已经起了1 天前
FPGA学习笔记——IIC协议简介
笔记·学习·fpga开发
逐梦之程1 天前
FPGA-Vivado2017.4-建立AXI4用于单片机与FPGA之间数据互通
fpga开发
XINVRY-FPGA2 天前
10CL016YF484C8G Altera FPGA Cyclone
嵌入式硬件·网络协议·fpga开发·云计算·硬件工程·信息与通信·fpga
嵌入式-老费2 天前
产品开发实践(常见的软硬结合方式)
fpga开发
FakeOccupational3 天前
【电路笔记 通信】AXI4-Lite协议 FPGA实现 & Valid-Ready Handshake 握手协议
笔记·fpga开发
I'm a winner3 天前
FPGA+护理:跨学科发展的探索(五)
fpga开发