FPGA 与DSP,ARM总线数据交换需要注意的关键点!

FPGA 中文意思现场可编程门阵列,以逻辑资源多,D触发器多,可以完成各种同步与异步时序电路设计.DSP,ARM 数据总线与FPGA进行数据交换,涉及到两个不同时钟的逻辑时序电路.对于两个异步时钟时序电路设计,常用的设计方法就是RAM 或FIFO 进行数据存储. 算了,不瞎侃了,介绍具体设计时候怎样让FPGA与DSP或ARM总线可靠通信.
DSP 或 ARM 总线 管脚介绍:
   数据线 :  D0~D15 ;
   地址信号: A0~Ax(根据不同地址空间大小);
   读写信号: 读写分开的信号(或读写就是一根信号线);
   地址选通信号: 该信号有效,地址信号有效;
   页地址信号:  地址空间分段表示
 
上面介绍的典型的ARM,DSP总线信号管脚定义,从上面看到,该总线信号没有明确的时钟信号, 数据传递依据地址信号以及地址辅助信号,把数据从DSP或ARM内输出,或从总线上把数据读到对应DSP,ARM内存中. 这就是典型的异步时钟信号(对于FPGA来说), FPGA 要正确判断DSP,ARM 总线信号方法:
             1. FPGA用全局时钟对控制信号进行同步,消除亚稳态;
             2. FPGA需要等到地址、数据总线稳定才能采集数据;
             3. FPGA需要确保每个地址只能读写一次(避免多次从总线获取数据或多次给总线赋值)。 
原文地址:https://www.cnblogs.com/zcf287/p/2801283.html