四个相同的AHB2SRAM的slave都挂在AHB-lite bus matrix上,cortex访问sram的latency更小,但是会导致matrix的逻辑比较复杂;
如果把这四个slave用一个multiplelexor挂在matrix,可以降低matrix的逻辑复杂度,利于提高matrix的clk_frequency,但是会增加cortex访问sram的latency和整个bus_matrix的area。
请问这样理解是否正确?
四个相同的AHB2SRAM的slave都挂在AHB-lite bus matrix上,cortex访问sram的latency更小,但是会导致matrix的逻辑比较复杂;
如果把这四个slave用一个multiplelexor挂在matrix,可以降低matrix的逻辑复杂度,利于提高matrix的clk_frequency,但是会增加cortex访问sram的latency和整个bus_matrix的area。
请问这样理解是否正确?
是的,如果bus matrix的端口多了话,matrix的逻辑会比较复杂,频率也会降低。 实际上到底是直接挂在bus matrix上,还是通过mux,也需要考虑一下你的master个数。以上图为例,如果你的master有好几个,他们都需要分别访问那四个SRAM,很明显,那几个SRAM直接挂在bus matrix上面性能肯定高了,如果你的master只有一两个,把4个SRAM都挂上去就有些浪费了,因为这时候这一两个master不会同时访问4个SRAM,那个这4个SRAM通过两个mux连接起来,会比较好。