急!求教夏老师,关于nios中总线对流模式数据的读写延时问题
(流数据, 延时)夏老师,您好!
case如下:在nios中,总线对用户自定义模块IP1进行读写访问,数据存放在sdram里面,总线将数据读出送给该用户自定义模块进行数据处理,这里要求送进来的数据必须是连续的数据流形式,同时用户自定义模块IP1模块的处理数据经过DMA传输给下一个用户自定义模块2使用,这里IP1处理得出的结果是连续的,现在要求把1数据使用总线读写信号,经过DMA传输给下一个用户自定义模块2时,模块2写进来的数据也要求是连续的数据流形式。
问题如下:这里如上述阐述,总共三个模块,sdram,IP1,IP2,(DMA,cpu等就不说了),主要的问题是要求每个模块的输入数据以及输出数据都是连续的,可以使用DMA提供给下一个模块继续使用,但是我们知道总线在读写访问模块时,读得时候可能会有读延时,有可能造成丢数据的现象,给模块写入数据时可能总线仲裁机构导致写入的数据不是连续的 ,这样的问题应该咋解决???????
目前想到的方案:1。考虑在每一个模块的左右端均加一个fifo对数据进行缓冲处理,然后使用DMA进行读写,这样应该不会丢数据或者写进来数据也不会出现不连续了吧?但是我实际设计中自定义的IP模块高达十多个,每个模块都自带两个fifo来保证数据的连续性,存储资源就不够了啊
2.altera在提供的avalon总线传输设计方案中有流传输模式,是不是使用了datavalible信号就可以避免着中国问题?altera提供的这种流模式传输结构真的可以做到像他说的这么好,可以达到数据的连续性传输吗?
3.在我的设计中都是单个模块对单个模块进行数据传输的,如果我把程序运行区间和数据区间分隔开,是不是就可以避免上述问题中提到的总线仲裁问题导致的写数据不是连续的问题,这样我至少在每个IP模块中少用一个FIFO
页:
[1]