体系架构确认,下一步便是FPGA与各组成器材之间互联的问题了。一般来说,CPU和FPGA的互联接口,首要取决两个要素:
(1)CPU所支撑的接口。
(2)交互的事务。
一般来说,FPGA一般支撑与CPU衔接的数字接口,其常用的有EMIF,PCI,PCI-E,UPP,网口(MII/GMII/RGMII),DDR等接口。作为总线类接口,FPGA一般作为从设备与CPU衔接,CPU作为主设备经过拜访直接映射的地址对FPGA进行拜访。依据是否有时钟同步,一般总线拜访分为同步或异步的总线,依据CPU外部总线协议有所不同,但数据、地址、操控信号基本是总线拜访类型中总线信号所不能省掉的。CPU手册中会对信号界说和时序操控有着详细的阐明,FPGA需求依据这些详细阐明来完成相应的逻辑。一起CPU还能够对拜访时序进行设置,比方最快时钟,乃至所需的最小树立时刻和坚持时刻,这些一般CPU都能够进行设置,而这些详细参数,不只影响FPGA的完成,也决议总线拜访的速度和功率。关于同步总线,只需求依据输入时钟进行采样处理即可,但关于异步总线,则需求的对进入的操控信号进行同步化处理,一般处理方法是存放两拍,去掉毛刺。因而用于采样的时钟就与CPU所设置的总线参数相关,如采样时钟较低,等操控信号安稳后在译码后输出,一个总线操作周期的时刻就会相对较长,其处理的功率也相对较低;假设采样时钟过快,则对要害途径又是一个应战,因而合理设定采样频率,便于接口的移植并接口的功率是规划的要害点和平衡点。
关于总线型的拜访来说,数据信号一般为三态信号,用于输入和输出。这种规划的意图是为了削减外部连线的数量。由于数据信号相对较多一般为8/16/32位数据总线。总线的拜访的优势是直接映射到体系的地址区间,拜访较为直观。但相对传输速率不高,一般在几十到100Mbps以下。这种原因的形成首要为以下要素(1)受制总线拜访的距离,总线操作周期等要素,总线拜访距离即两次拜访之间总线闲暇的时刻,而总线操作周期为从建议到相应的时刻。(2)不支撑双向传输,而且FPGA需自动建议对CPU操作时,一般只要建议CPU的中止处理一种方法。这种总线型操作特色,使其能够用作体系的办理操作,例如FPGA内部存放器装备,运转过程中所需参数装备,以及数据流量较小的信息交互等操作。这些操作数据量和所需带宽适中,能够应对一般的嵌入式体系的处理需求。
关于大数据流量的数据交互,一般选用专用的总线交互,其特色是,支撑双向传输,总线传输速率较快,例如GMII/RGMII、Upp、专用LVDS接口,及SERDES接口。专用SERDES接口一般支撑的有PCI-E,XAUI,SGMII,SATA,Interlaken接口等接口。GMII/RGMII,专用LVDS接口一般处理在1GbpS一下的事务方式,而PCI-E,依据其类型不同,支撑几Gbps的传输速率。而XAUI可支撑到10Gbps的传输速率,lnterlaken接口可支撑到40Gbps的事务传输。
关于不同所需的事务方式及处理器的类型,则可挑选相应的接口方式,来传输详细的事务。如今干流FPGA中都供给的各种接口的IP。挑选FPGA与各型CPU互联接口,一般挑选干流的运用交互计划,特别的接口短少支撑IP,导致开发、调试、保护和兼容性的本钱都较大,一起留意体系的继续演进的需求,如只在本项目运用一次,而下一项目或开发阶段已摒弃此类接口,则需提早规划技能道路。究竟一个安稳、高效的接口互联是一个项目成功的根底。
不是一切的嵌入式体系都需求“巨大上”的接口方式,各类低速的安稳接口也同样在FPGA的接口互联中有着重要的人物,其间UART、SPI、I2C等衔接方式也十分的常见。究竟,一个优异的规划不是“巨大上”的堆积,而是对需求最小本钱的满意。合适的才是最美的。