特权同学

SOPC的CPU与CFI控制器互联

0
阅读(2515)

Altera SOPC Builder提供了众多的FLASH控制器IP核,除了一些通用型号外,还有一个可配置的通用FLASH控制器IP核,称之为CFI(common flash interface controller core)。不得不承认,特权对SOPC的架构还是比较陌生的,还处于起点阶段,需要在不断的实战演练中加深认识和理解。对于这个CFI的配置也是花了一定时间才琢磨透。

         如图1所示,添加CFI控制器。

 

图1

         用户需要根据实际情况在弹出的配置窗口中进行CFI控制器的地址线 宽、数据位宽以及一些相关建立保持时间等参数的设置。详细的说明和配置方法可以参考:Quartus II Handbook, Volume 5: Embedded PeripheralsSection I-3。

         配置完的CFI接口无法和CPU直接连接,如图2所示,无论是CPU的instruction_master还是data_master都 和cfi_flash没有连接起来。

 


图2

         开始特权也很困惑,但是仔细翻找了资料才发现如图3所示,CPU和CFI之间应该有一个桥逻辑进行连接。这个桥的作用也很显而易见,CPU的存储接口总线是有限的,那么通过桥逻辑进行译码控制,将其原先的较少的控制接口扩展为多路控制接 口,而仍然可以复用一套地址和数据总线,从而达到系统互联并且互不干扰的效果。

 


图3

         因此特权在添加了一个Avalon-MM Tristate Bridge组件后,CFI自动和该桥组件相 连,桥组件也会自动和CPU产生互联,从而连接起CPU和CFI控制器。添加桥组件后的互联逻辑如图4所示。

 


图4