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.

C6424 数据总线16bit变32bit方案

很高兴和老师们讨论一个问题:

         题目是这样的:C6424的EMIF数据总线是16bit但是我想接双口RAM再与FPGA通信,FPAG那边需要32bit的并行数据总线。

         如果用16bit数据的双口RAM,FPAG那边不能满足要求; 如果用32bit数据的双口RAM,C6424数据也不能32bit一并输出(只能加一片CPLD转32bit数据输出),地址总线处理比较麻烦。我简单测试了一下C6424总线规律好像如下:

         EMIF接口是16bit数据总线(传输32bit数据)。
                  写地址                                                                地址总线值(16进制).....A[2]   A[1]   A[0]   BA[1]
                  *( volatile Uint32* )(EMIF_CS3_BASE+0)= i;                                                     0         0      0         0
                  *( volatile Uint32* )(EMIF_CS3_BASE+4)= i;                                                     0         0      1         0
                  *( volatile Uint32* )(EMIF_CS3_BASE+8)= i;                                                     0         1      0         0   
       若接双面都是32bit的双口RAM,加一片CPLD将高16bit数据与低16bit数据并行输出给双口RAM, 这样好像数据总线问题能解决。但是地址不能象下面那样依次写32bit的双口RAM。
  ...A[2] A[1] A[0] A[1]:0 0 0 0  
  ...A[2] A[1] A[0] A[1]:0 0 0 1
  ...A[2] A[1] A[0] A[1]:0 0 0 2
...........................................

       目前市场上好像也没看过双口RAM一边是16bit数据总线,一边是32bit的数据总线的!


       各位老师设计高这样的问题没,是怎么解决如题目问题的解决办法没???






  • FPGA不能接32bit总线,反而CPLD可以做,这是什么逻辑?

  • C6424需要与FPGA通信。FPGA是32位宽的数据总线,C6424是16位宽的数据总线,这样就不匹配。FPGA是老代码,暂时不想改动。

    如果要通信,考虑使用一个CPLD转换C6424数据总线成32位,连接FPGA。CPLD做转换使用!

x 出现错误。请重试或与管理员联系。