找回密码
 注册
关于网站域名变更的通知
查看: 436|回复: 1
打印 上一主题 下一主题

FPGA研发之道 

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-12-1 14:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
FPGA研发之道
9 |+ W9 T. H  Q* {

' B2 l( b# r$ D" C- j       系统架构确定,下一步就是FPGA与各组成器件之间互联的问题了。通常来说,CPU和FPGA的互联接口,主要取决两个要素:  v1 R4 `$ [: d9 \9 f5 a6 P
& |: l0 p% v% z4 ~( }
       (1)CPU所支持的接口。  ]+ u, k) A& ^6 _1 d$ p

8 c7 M' V3 m. o$ {8 B3 i% |  (2)交互的业务。) x9 ~# d" |' Q- i5 r# p/ n( ]; [

: Q# Q0 R! [$ b; N, r5 D       通常来说,FPGA一般支持与CPU连接的数字接口,其常用的有EMIF,PCI,PCI-E,UPP,网口(MII/GMII/RGMII),DDR等接口。作为总线类接口,FPGA通常作为从设备与CPU连接,CPU作为主设备通过访问直接映射的地址对FPGA进行访问。根据是否有时钟同步,通常总线访问分为同步或异步的总线,根据CPU外部总线协议有所不同,但数据、地址、控制信号基本是总线访问类型中总线信号所不能省略的。CPU手册中会对信号定义和时序控制有着详细的说明,FPGA需要根据这些详细说明来实现相应的逻辑。同时CPU还可以对访问时序进行设置,比如最快时钟,甚至所需的最小建立时间和保持时间,这些一般CPU都可以进行设置,而这些具体参数,不仅影响FPGA的实现,也决定总线访问的速度和效率。对于同步总线,只需要根据输入时钟进行采样处理即可,但对于异步总线,则需要的对进入的控制信号进行同步化处理,通常处理方式是寄存两拍,去掉毛刺。因此用于采样的时钟就与CPU所设置的总线参数相关,如采样时钟较低,等控制信号稳定后在译码后输出,一个总线操作周期的时间就会相对较长,其处理的效率也相对较低;假如采样时钟过快,则对关键路径又是一个挑战,因此合理设定采样频率,便于接口的移植并接口的效率是设计的关键点和平衡点。9 J# I' M( R; Z1 x* x8 u) ?$ l

" P! ^' i: \2 X) M6 O+ l2 y) c  对于总线型的访问来说,数据信号通常为三态信号,用于输入和输出。这种设计的目的是为了减少外部连线的数量。因为数据信号相对较多一般为8/16/32位数据总线。总线的访问的优势是直接映射到系统的地址区间,访问较为直观。但相对传输速率不高,通常在几十到100Mbps以下。这种原因的造成主要为以下因素(1)受制总线访问的间隔,总线操作周期等因素,总线访问间隔即两次访问之间总线空闲的时间,而总线操作周期为从发起到相应的时间。(2)不支持双向传输,并且FPGA需主动发起对CPU操作时,一般只有发起CPU的中断处理一种方式。这种总线型操作特点,使其可以用作系统的管理操作,例如FPGA内部寄存器配置,运行过程中所需参数配置,以及数据流量较小的信息交互等操作。这些操作数据量和所需带宽适中,可以应对普通的嵌入式系统的处理需求。
, |4 {' i) i7 {* a( J! S0 T( T) p# X# I- g- l
  对于大数据流量的数据交互,一般采用专用的总线交互,其特点是,支持双向传输,总线传输速率较快,例如GMII/RGMII、Upp、专用LVDS接口,及SERDES接口。专用SERDES接口一般支持的有PCI-E,XAUI,SGMII,SATA,Interlaken接口等接口。GMII/RGMII,专用LVDS接口一般处理在1GbpS一下的业务形式,而PCI-E,根据其型号不同,支持几Gbps的传输速率。而XAUI可支持到10Gbps的传输速率,lnterlaken接口可支持到40Gbps的业务传输。% q* N5 n! b- k7 y

+ g, W2 |2 u1 o2 T' v* D$ @  对于不同所需的业务形式及处理器的类型,则可选择相应的接口形式,来传输具体的业务。现今主流FPGA中都提供的各种接口的IP。选择FPGA与各型CPU互联接口,一般选择主流的应用交互方案,特殊的接口缺少支撑IP,导致开发、调试、维护和兼容性的成本都较大,同时注意系统的持续演进的需要,如只在本项目使用一次,而下一项目或开发阶段已摒弃此类接口,则需提前规划技术路线。毕竟一个稳定、高效的接口互联是一个项目成功的基础。
: o" d2 g# I: d. r. B" G
3 L! g+ Y- X$ ]# E- k4 W* ?  不是所有的嵌入式系统都需要“高大上”的接口形式,各类低速的稳定接口也同样在FPGA的接口互联中有着重要的角色,其中UART、SPI、I2C等连接形式也非常的常见。毕竟,一个优秀的设计不是“高大上”的堆积,而是对需求最小成本的满足。适合的才是最美的。
7 ]9 d# {& ^2 A0 a
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-7 04:01 , Processed in 0.109375 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表