一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 3200|回复: 0
收起左侧

xilinx 专业用语

[复制链接]
发表于 2019-9-15 20:37 | 显示全部楼层 |阅读模式

" d2 d/ i" V0 y, E0 m
+ o& V: \+ _* ]5 i* b

/ a8 Z4 s" X( H2 I: |- _2 [
XPS:Xilinx Platform Studio,平台工作室。用于嵌入式处理器硬件部分的开发。
3 Q) {8 s' V2 a1 j  V
+ ~. P; `; j+ x# H7 V2 ~SDK:Software Development Kit,软件开发套件。基于Eclipse平台,支持C/C++。" M  @" N# D( l& T& [

; z: N3 T7 ~" t- o! vMicroBlaze总线:MB实质上是一个IP核,这个IP核对外总线接口有PLB(包括一个DPLB和一个IPLB)、LMB(包括一个DLMB和一个ILMB)、FSL(8个FSL主、8个FSL从接口)、XCL(包括一个DXCL和一个IXCL)、MDM。即指令只能通过LMB/XCL/PLB的指令端口访问,速度由快到慢。PLB、LMB、FSL总线也是一个IP核,XCL内嵌两个FSL总线接口,是点对点双向总线。MB应当选用不同的总线来访问不同的外设,且正确协调这些总线的工作。XCL主要是配合MPMC,用于MB的指令Cache和数据Cache从外部存储器读取指令或数据,例如可配置MPMC的两个访问端口为XCL,分别连到MB的DXCL和IXCL上。可以通过配置Microblaze_0模块添加FSL总线,用于和高速点对点输入输出的用户IP的连接。PLB用于MB与系统提供的其它基于PLB总线或基于PLB总线的用户IP相连接。使用CIP创建用户自己的IP,只有PLB和FSL两种可选接口,XCL/LMB为专用于存放程序代码。也可以手工创建NPI接口的用户IP,但以后版本不确定是否支持NPI接口。MDM总线用于调试。注:在SDK环境中,Xilinx Tools->Linker scripts中或在项目上右键,打开Linker scripts来分配程序、堆栈等所占的内存区域,在Windows程序组EDK->Documentation下面有SDK的帮助文档,可查看这部分的帮助。
' C) ]. E: F' S) _7 ^2 B; J$ F3 e9 l' e) Y3 l" P
在EDK12.2的edk_ctt手册中产生的XPS项目中,可以看出MB的总线结构。Microblaze_0下面有DLMB、ILMB、DPLB、IPLB、DXCL、IXCL、DEBUG、TRACE。其中DLMB连接到命名为dlmb的LMB总线上(最上面),同时IP模块dlmb_cntlr的一端也连接到dlmb总线上,一端连接到lmb_bram模块(双口BRAM)的端口B上,同样MB的ILMB最终也连接到lmb_bram模块的端口A上,即lmb_bram为内存,用于MB存放运行软件程序(XPS的帮助上说这个内存不要开的太大,以免LMB总线超负荷降低效率)。由于MB只有一个DLMB和一个ILMB,如果程序代码过大或数据空间不够用,可通过xps_bram_if_cntlr_0,其一端连接PLB,一端连接IP模块bram_block,把FPGA内部的BRAM外扩为MB的存储空间,其大小在XPS界面的Addresses栏设置,参见相应的IP核手册查看此IP能够管理的BRAM大小,此IP管理BRAM深度为32K,当BRAM宽度为32时支持128KB容量的BRAM,当BRAM宽度为64或128时分别为256KB/512KB;或通过MPMC和XCL或PLB外扩DDR;或通过xps_mch_emc和PLB外扩SRAM和NOR FLASH。上述例子里MB的DPLB和IPLB均连接到PLB总线上,和其它外设通过PLB连接到一起,也可以IPLB再用一个单独的PLB总线,外扩存储程序的内存,构成哈佛结构,但一般不必要。   
% B% V4 u' x' x; K& G7 t8 V
: o5 a1 r8 A$ u6 D7 ?PLB:Processor Local Bus总线。支持任意数目的PLB主设备,可支持128/64/32位宽的主设备和从设备。PLB接口包括IPLB和DPLB两种,IPLB接口用于外设与处理器指令缓冲的连接,DPLB用于外设与处理器数据缓冲的连接。+ P0 l0 f' T) S; p9 ?9 k
1 D& J$ Z5 m: ]* F" z
LMB:Local Memory Bus总线,同步总线,用于MB访问存放指令和数据的片上块RAM。32位宽,包括三种传输方式:字节/半字/字到32位宽BRAM、字节/半字到16位宽BRAM、字节到8位宽BRAM。使用最少的控制信号和简单的协议以达到单周期访问本地块RAM的目的。MB有两个LMB即ILMB和DLMB,分别用于处理器指令和数据接口。lmb_bram_if_cntlr核一端通过LMB总线连到MB的DLMB或ILMB端口,一端连到片上BRAM,由于lmb_bram_if_cntlr核支持最大BRAM大小为128KB,即MB片上BRAM最大为128KB。对于比较小的设计,可把代码直接放到片上BRAM,或者把复杂设计的BOOTLOADER放到片上BRAM。
( f& e; ]$ k3 {/ I, f* ~, _1 h5 h, x1 M* B! q# p9 r2 I% {/ }
FSL:Fast Simplex Link总线,32位宽。FSL用于单向、点到点、基于FIFO的快速接口,可用于连接FPGA上任意两个带有FSL总线接口的设备,及用户IP开发。每个FSL有一个输入口和一个输出口。FSL内部FIFO深度最小为1,最大8K。MB最多支持16个FSL接口,即8个FSL主(MFSL或DWFSL)和8个FSL从(SFSL或DRFSL)接口。MFSL(Master FSL Interface)用于FSL总线连接,而DWFSL(FSL master direct connectioninterface)用于直接连接到FSL从设备上。SFSL(Slave FSL Interface)用于FSL总线连接,而DRFSL(FSL slave direct connection interface)用于直接连接到FSL主设备上。XCL使用直接FSL连接方式。3 Y( ]5 R! C) l: [$ D; `6 t" m
1 h9 @, l( n. u
XCL:Xilinx CacheLink总线,32位宽。只有在MB核的指令或数据缓存使能的情况下才可以使用(LMB不需要指令或数据缓存使能),指令或数据缓存可分别单独使能。与MB缓存接近直接连接。每个XCL内嵌两个FSL接口,是高性能的外部内存访问接口。在配合MPMC的情况下,是最小延时的解决方案,此时XCL接口时钟可以是MPMC_clk0的二倍或一倍。XCL分为指令端XCL(IXCL)和数据端XCL(DXCL)。猜想:XCL用于从外存读取连续的一段指令或数据到MB内部缓存中,类似于从windows系统从磁盘上预读取缓存技术,因此没有单独的地址线,需要使用额外信号线来表示地址还是数据,也仅用于缓存读取用,不能使用在用户IP接口上。
5 H  D1 \$ D" Z% _5 d* W2 w7 T. b6 T7 X. E. O# Z
MDM:Xilinx Microprocessor Debug Module。" L( L# M% B, r  M+ x
% W, d5 l& J" n5 y% M6 S
MPMC:Multi-Port Memory Controller,多端口内存控制器。MPMC通过可配置的PHY层连接外部内存,通过1到8个相互独立的端口供用户访问,每个端口包含一个可配置的PIM,配置成用户所需要的接口形式。MPMC包含仲裁器,支持多个端口同时访问内存。为减少MPMC所占用的资源,参见DS643手册206页“MPMC Size Optimization”。
$ ~# I3 X* ~) U/ |- |) O! t. k' R, V( d- e- t8 w$ i
PIM:Personality Interface Modules,MPMC提供给用户的访问端口,可配置成PLB、XCL、NPI、SDMA、VFBC、MCB(仅Spartan-6器件)接口形式。: U/ Z' s( t# W) _, L' @

9 L' ?) w) R7 I  {5 ONPI PIM:Native Port Interface。MPMC支持32/64位宽NPI。专用于MPMC的PIM中,是最高性能的PIM(除配置成MCB的PIM),所有其它的PIM形式均通过NPI连接到MPMC,例如XCL PIM接口可认为把XCL命令翻译成NPI命令的一个桥。以后版本不确定是否继续支持。NPI接口简单,几乎适用于任何协议;用户可以利用NPI扩展MPMC的接口形式,以适应用户自己的设计;NPI包括地址、数据和控制信号,允许从端口FIFO同时读写数据,数据位宽32或64位;NPI运行时钟频率必须与MPMC_clk01时钟频率一致。
; c: c( i0 y/ b7 T- I& s0 v$ w3 P& X, o7 P3 D
SDMA PIM:Soft Direct Memory Access Controller。应用于MPMC中。中等吞吐性能Scatter Gather DMA核,需要CPU参与,因此适用于频发小数据量传输,典型应用于MPMC和XPS_LL_TEMAC核之间数据传输,参见UG643手册163页“SystemArchitecture using xps_ll_temac Core”。SDMA核包括一个NPI接口,一个PLB接口,一个TXLocalLink及一个RX LocalLink接口。NPI接口用于嵌入到MPMC;PLB用于CPU参与Scatter Gather DMA传输;数据利用LocalLink通过DMA传输到MPMC;NPI端接口宽度32或64位,LocalLink端接口宽度32位。Spartan-6支持所有位宽的DDR,其它器件支持16/32/64位宽DDR。9 b" G; a1 Z. Y% ^& u6 i

) Z' F  e$ W! YVFBC PIM:Video Frame Buffer Controller (VFBC),高延迟高性能两维DMA核,适用于长burst传输,如视频帧。
* H9 J# U9 I( j+ h% \3 l8 _# o9 b
7 v- D1 C7 t+ X' mMCB PIM:仅Spartan-6器件支持的PIM形式,与硬件内存控制器直接连接,以获取最高的性能。如果MPMC同时使用了MCB PIM和PLBPIM, MCB为32位宽,因此MCB PIM和PLB PIM只能连接到32位宽的PLB总线。
' y( c2 P: x! T3 Y4 o5 P1 m. t" Q# e* \: x. C0 t$ {4 C* _
字节/半字/字:MB里分别定义为Byte/half-word/word,位宽分别为8/16/32bit。MB使用BIG-Endian模式存储数据和指令。% `4 c, L/ {2 r1 F& _8 R1 Y

; ]# ?( r6 H7 S* MBMM:BlockRAM Memory Map file

2 c5 V# p! [  m1 _4 S5 {4 q8 N0 e" `1 w/ f! d
, N! {$ Q, H' ^/ {! W$ X: @6 b
* F' h  m( k4 v! Y8 \, E

4 T$ a1 e: U, ~* p! \8 |

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-5 14:23 , Processed in 0.060743 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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