当前位置: 首页 > article >正文

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

一、现象
FPGA 从RAM中读取DAC数据后,出现偶尔从RAM读错数据的情形,有时候修改一些代码后又不出现该错误的
二、分析
根据这个现象应该是时序引起的,需要做实验定位问题是写数据有误还是读数据有误,最后通过实验分析是写数据有误。
三、手撕代码
发现写数据到ram中,有两个信息跨时钟且都是写信号,会出现类似“竞争与冒险”的错误,因为有个是先写另外一个是后写,但是这两个信号同时置为“1”,且跨时钟域,又时写信号,所以它们走的内部路线可能是不一致的,有时候按照代码的意思走,所以不出现错误,但是有时候走的路线不一致从而导致发送逻辑的错误,因此修改代码,不让这个信号同时置为“1”,先让第一个置“1”后再让另一个置为“1”。


http://www.kler.cn/a/558415.html

相关文章:

  • Visual Studio Code 集成 Baidu Comate
  • Oracle数据泵备份恢复实操
  • Linux应用之构建命令行解释器(bash进程)
  • docker高级02
  • JSON 简介、语法、使用场景与 JavaScript 操作指南
  • spring boot 项目对接MQTT,并且使用mysql数据库
  • Java高级开发所具知识技能
  • 自注意力机制和CNN的区别
  • 修改阿里云服务器内网ip
  • 代理IP助力AI图像处理,开启行业新篇章
  • 前端接收后端19位数字参数,精度丢失的问题
  • 基于iptables的Docker端口白名单控制
  • 机器翻译与语音识别技术:推动人机交互的新篇章
  • 基于LSTM的机场天气分析及模型预测
  • mysql之事务深度解析与实战应用:保障数据一致性的基石
  • redis缓存与Mysql数据一致性,要如何解决?
  • 2025年-G14-Lc88-278.第一个坏版本 -java版
  • OpenResty
  • BUU40 [安洵杯 2019]easy_serialize_php
  • 力扣-回溯-93 复原IP地址