This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6678的应用问题

1、应用需求:本来系统采用6片C6416芯片进行数据并行处理,现在想采用1片C6678芯片来替代,但对用户来说还是相当于6片DSP,这种方案可行吗?

2、如果方案可行,C6678虽然具有8个内核,但是和单独的8片DSP还是有本质区别,其外设资源等都是共用的,是不是有必要单独拿出一个内核用来对芯片进行一些共用配置呢?如果每个核都各自单独配置的话就会造成混乱,是这样吗?哪些资源需要统一配置呢?希望各位专家能对这个方案给出一些建议。

3、C6678支持外部引导和加载吗?比如说我想通过FPGA对芯片进行引导、加载、运行和复位?每个内核都能单独控制引导、加载、运行、复位吗?

  • 您好,

    1. C6678总共8个核,每个核的主频可以达到1.25FHz,支持定浮点,并且新增矩阵运算等指令,所以从核的能力来说肯定比6片C6416强;

    2. 多核来说,外设等都是共享资源,在编程的时候可以有一个主控核负责外设等相关共享资源的初始化工作,并负责启动其他核的运行;

    3. 支持external host加载,如通过EMAC、SRIO等外设进行加载引导。多核加载时会有core0作为主控核负责程序的加载,及其他核的启动。关于多核bootloader请参考

     http://www.deyisupport.com/question_answer/f/53/t/5394.aspx 

  • 您好!

    你提供的多核bootloader的参考链接怎么无效呢?

  • 您好,

    已经更新链接,更多资料及问题可以先参阅 www.deyisupport.com/.../955.aspx

  • 您好!

    最近在C6678开发上又产生下面一些问题,忘能得到解答:

    1、在原先开发的系统集成6片C6416,在引导加载时,FPGA从程序FLASH中读取数据,通过HPI口写入相应DSP内存。现在用一片C6678来替代原先的6片C6416,如果想实现和以前系统同样的引导加载方式,那么FPGA通过什么接口方式将程序写入DSP内存呢?系统能对这个实现方式提点建议。另外C6678有统一全局编址吗?编写每个内核程序时,都使用的是LOCAL地址,那么怎么实现将不同的程序加载到指定的DSP呢?用CCS5.0调试时,每个核都是可以单独加载运行的,但是也是不明白怎么区分八个内核的,靠全局统一编址吗?

    2、在C6678共用资源的使用上,例如打开EDMA Module的instance 0,返回句柄hModule,考虑到每个核可能都会使用到某个EDMA通道,那么此时是否每个核都要在初始化时重复执行打开EDMA Module instance 0的操作呢?

    3、类似的像中断控制、定时器使用上也都存在这个问题,是每个核都单独初始化,还是其中某个核进行共用操作初始化,其余的核共享呢?如果是共享,那么这些初始化返回的句柄怎么在每个核之间共享呢?

    4、每个内核的中断响应都是独立的吗?1个内核在响应某个中断的时候,其余内核同时还能响应其余中断吗?

    5、C6678的RapidIO具有4个port口,即可以配置成4个1x的模式,那么是否意味着每一对收发都可以互联一片C6678呢,也就是说1片C6678可以采用1x直接互联的方式与另外4片C6678进行互联?RapidIO可以实现对每个port口的单独控制吗?即每个port收发不一样的数据,通过查看srio手册,好像没有发现单独控制每个port口的寄存器设置

  • 您好,

    1. FPGA与DSP间推荐使用SRIO接口通信;C6678的地址空间是全局编址,每个核内部存储器都有全局的地址;

    2. 打开EDMA module instance0只是在获取相应的EDMA 句柄地址,可以将获取的地址存储为全局,这样的话只要一个核初始化即可,如果存储地址为局部的话就需要每个核单独做初始化;一般来说共享资源的初始化建议由一个核执行;

    3. 每个核的中断响应时独立的;

    4. 配置为4个1xport时, 是相互独立的,可以并行收发数据。