C6678->SRIO和FPGA的通信

设计的板子到了SRIO调试阶段了,在板子上,一片V6和两片6678通过4XSRIO互联,中间没有Switch,总算搞定了相互之间的通信。

  首先,感谢Ti论坛提供的SRIO程序范例,但是其硬件平台是EVM板,更多的只能用于loopback测试,但是可以在其基础上修改。

1.初始化DSP的SRIO,主要是对SerDes进行配置,然后是Lane和Speed的配置,最后需要等待FPGA的LinK建立,我们在建立时候碰到一点困难,每次建立并不都是4X,一直没有找到问题,我们使用了一个别的办法来保证link为4X。方法是:判断如果不为4x的话重新训练

2.数据发送,DSP上提供的数据发送方法主要有两种,DirectIO和Message,主要区别为DirectIO需要TX和RX双方知道地址映射关系,而Message是通过Message中mail信息得到数据需要保存的地址,我们使用的为DirectIO方法,6678上提供了8组LSU来进行DirectIO数据发送,每个LSU有6个寄存器,当5th寄存器写完后,数据会发送出去,第6个寄存器主要用于检测当前的LSU状态。LSU还有16(32)个影子寄存器 

3.SWRITE/NWRITE/NREAD:对DSP来说,初始化完SRIO后,FPGA便可以通过SRIO来发送数据,但是要注意,Designer并不知道什么时候FPGA会发送数据,所以通常会先发送一个DoorBell信息来告知DSP,FPGA要发送数据了,DoorBell可以触发中断,对于NREAD来说,FPGA发送这个命令后,DSP会自动的将请求的数据发送出去,Designer也并不知道数据发送出去,这些都需要DoorBell来支持。


1 问题:

你好,我们现在也能DSP发数据到fpga,但是存在如下问题:
   dsp用Nwrite给fpga写数据,fpga能收到数据但是没有响应数据给dsp?(请问需不要两边都确认下 读写的地址??)

  dsp用Nread给fpga发,尝试着读取fpga里的数据,但是fpga这边没反应?

  fpga主动发起给dsp读写数据,dsp那边该怎么写程序啊?


答:

   采用DirectIO模式,FPGA不会主动响应的

   DSP发送Nread命令,FPGA应该使用用户接口将Nread命令中请求的地址空间中的数据发送出去
   可以采用先发送Doorbell,再发送数据


2 问:

现在我们已经能dsp主动发起对fpga进行读写,但可是fpga无法主动发起对dsp进行读写? 不知道fpga这边需要怎样配置ip核才能实现 dsp,fpga都能主动发起读写数据请求??

答:

如果没记错的话,FPGA发送NREAD命令就可以了,DSP会自动将数据发送过去,注意NREAD命令中的地址是DSP的实际访问地址


3 问:

你好,请问用DirectIO传输数据是用DMA传输的吗?
这个需要寄存器配置还是直接默认的就是?
还有,FPGA这端有没有DMA这个说法?需不需要进行配置啊?

答:


应该不需要 FPGA没有DMA这个东西 一般FPGA的DMA都是和上位机配合完成的本身没有DMA的吧






  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: Srio c6678 FPGA是一款基于Srio(Serial RapidIO)技术的多处理器系统。Srio是一种高速串行互连技术,在多核系统中用于实现高效的通信数据传输。而c6678 FPGA是基于Field Programmable Gate Array(现场可编程门阵列)技术的芯片。 Srio c6678 FPGA具有很高的处理性能和可编程性。通过FPGA的可编程门阵列,可以根据应用需求灵活地定制芯片的功能和逻辑。这使得c6678 FPGA成为一种非常强大和灵活的处理器。 Srio c6678 FPGA采用了8核心的处理器架构,每个核心都具有较高的时钟速度和处理能力。这种多核架构使得Srio c6678 FPGA能够同时处理多个任务,提高系统的并发性和整体性能。 Srio c6678 FPGA还具有强大的外设接口,可以与其他外部设备进行高速通信数据传输。它支持多种通信接口和协议,如PCI Express、Ethernet和串行链路等,可以满足不同应用的通信需求。 在诸多应用中,Srio c6678 FPGA广泛应用于高性能计算、通信系统和图像处理等领域。例如,在高性能计算领域,它可以用于加速复杂的计算任务,提高系统的计算性能和效率。在通信系统中,它可以用于实现高速的数据传输和处理,提高通信的带宽和速度。在图像处理中,它可以用于实现实时的图像处理和分析,满足对图像数据的高速处理需求。 综上所述,Srio c6678 FPGA是一款强大、灵活且高性能的多处理器系统。它通过串行互连技术和FPGA的可编程门阵列相结合,具备高速通信和数据处理能力,广泛应用于高性能计算、通信系统和图像处理等领域。 ### 回答2: Srio c6678 fpga是一种基于SRIO(SerDes)技术的多核浮点处理器。它集成了高性能数字信号处理器和可编程逻辑门阵列(FPGA),是一种强大的处理器解决方案。 首先,SRIO(SerDes)技术是一种高速串行接口技术,可以在多个设备之间进行高速数据传输。通过SRIO技术,srio c6678 fpga能够实现高带宽和低延迟的数据传输,适用于许多高性能计算和通信应用场景。 其次,srio c6678 fpga集成了多个浮点处理器核心,可以同时执行多个计算任务。每个核心都有独立的浮点计算单元和高速缓存,可以实现高性能的数值计算和信号处理任务。 此外,srio c6678 fpga还具备可编程逻辑门阵列(FPGA)的功能,可以根据具体应用需求进行定制和扩展。用户可以通过编程来设计和实现各种功能模块,以满足不同应用场景的要求。 总的来说,srio c6678 fpga是一款功能强大的处理器解决方案,适用于需要高性能计算和数据传输的应用场景。它的集成了SRIO技术和多核浮点处理器,同时还具备可编程逻辑门阵列的特性,可以满足各种复杂的计算和通信需求。 ### 回答3: Srio C6678 FPGA是一种集成了Serial RapidIO (SRIO) 和 Field-Programmable Gate Array (FPGA) 技术的芯片。 SRIO是一种高速串行总线标准,可用于连接多个处理器、DSP器件和其他外设,以实现高速数据传输通信。它具有低延迟、高带宽和可扩展性的特点。C6678是德州仪器(Texas Instruments)的一款高性能数字信号处理器(DSP)芯片,它集成了八个DSP内核,能够提供卓越的并行处理能力。 FPGA是一种具有可编程逻辑门阵列和可编程可配置的I/O块的集成电路。它可以通过重新编程来实现不同的逻辑功能,因此具有灵活性和可定制性。FPGA还可以与其他硬件设备(如SRIO)进行互连,以实现特定应用的需求。 SRIO C6678 FPGA的结合使得系统能够在高速数据传输、高并行处理和灵活性方面提供优秀的性能。通过结合SRIO技术,该芯片可以实现高速数据传输通信,以及与其他设备的互联。同时,FPGA的可编程性也为用户提供了对逻辑功能的自定义能力,可以根据特定应用的需求进行灵活调整和优化。 总之,SRIO C6678 FPGA是一款集成了SRIOFPGA技术的芯片,具备高速数据传输、高并行处理和灵活性的特点,适用于需要高速数据传输和处理的应用领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值