SOPC的CPU与CFI控制器互联
0赞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