一乐电子

一乐电子百科

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

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

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

xilinx 专业用语

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

1 H- a. Y* D* N7 d

" Z- j# e7 b4 X' o4 g" K

. ]% K) @. Y( f9 C: y( {
XPS:Xilinx Platform Studio,平台工作室。用于嵌入式处理器硬件部分的开发。$ W. X- f$ F8 z- n$ w3 I0 C- o
4 V# \* {+ M: _; i+ K. s
SDK:Software Development Kit,软件开发套件。基于Eclipse平台,支持C/C++。- P7 r6 F$ s/ C3 d! i  M- T$ c

" I; p- s# U9 n0 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的帮助文档,可查看这部分的帮助。
& S0 c) k" y2 |$ q& D8 f7 L4 {  I( y
在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总线,外扩存储程序的内存,构成哈佛结构,但一般不必要。   
2 }# f& h+ j( t: l
0 Z0 w. m& e2 m, `5 m5 w1 j$ JPLB:Processor Local Bus总线。支持任意数目的PLB主设备,可支持128/64/32位宽的主设备和从设备。PLB接口包括IPLB和DPLB两种,IPLB接口用于外设与处理器指令缓冲的连接,DPLB用于外设与处理器数据缓冲的连接。2 o; A% a" y- Q6 k0 `
2 X/ N3 p# F4 P. d2 w# u
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。- c* i# w: V0 X" v; L1 `
7 T  t9 s9 T6 l  }3 t- R4 ]
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连接方式。% \# w, P! `# Z5 F

% M5 @" o- h: w; S! K. a. KXCL:Xilinx CacheLink总线,32位宽。只有在MB核的指令或数据缓存使能的情况下才可以使用(LMB不需要指令或数据缓存使能),指令或数据缓存可分别单独使能。与MB缓存接近直接连接。每个XCL内嵌两个FSL接口,是高性能的外部内存访问接口。在配合MPMC的情况下,是最小延时的解决方案,此时XCL接口时钟可以是MPMC_clk0的二倍或一倍。XCL分为指令端XCL(IXCL)和数据端XCL(DXCL)。猜想:XCL用于从外存读取连续的一段指令或数据到MB内部缓存中,类似于从windows系统从磁盘上预读取缓存技术,因此没有单独的地址线,需要使用额外信号线来表示地址还是数据,也仅用于缓存读取用,不能使用在用户IP接口上。4 a: u- I$ j8 ]/ C6 V, b
/ s+ O! h  h2 I8 T: D0 @4 w+ @
MDM:Xilinx Microprocessor Debug Module。
# Q4 N- m( O" s* O" r8 D2 l* A! Y# h3 \$ H# f5 X
MPMC:Multi-Port Memory Controller,多端口内存控制器。MPMC通过可配置的PHY层连接外部内存,通过1到8个相互独立的端口供用户访问,每个端口包含一个可配置的PIM,配置成用户所需要的接口形式。MPMC包含仲裁器,支持多个端口同时访问内存。为减少MPMC所占用的资源,参见DS643手册206页“MPMC Size Optimization”。2 \, B: Y) U2 d9 k8 \- K

* Z: `' @% |* c" _& Q, u2 o8 G& ]PIM:Personality Interface Modules,MPMC提供给用户的访问端口,可配置成PLB、XCL、NPI、SDMA、VFBC、MCB(仅Spartan-6器件)接口形式。' o  l8 J% s9 W7 M

; ^2 j+ k7 }* N$ Y8 U5 NNPI 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时钟频率一致。4 H+ O* T: c  i  F

: J; Y2 t; n) i! m. a* a" bSDMA 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。
; g3 \3 \% C5 B2 h; U
9 Y6 W# y( I4 eVFBC PIM:Video Frame Buffer Controller (VFBC),高延迟高性能两维DMA核,适用于长burst传输,如视频帧。1 C- _0 Q# b; C$ A  D( r2 o  E6 |

3 P- f3 e/ F) D% C* G6 H/ LMCB PIM:仅Spartan-6器件支持的PIM形式,与硬件内存控制器直接连接,以获取最高的性能。如果MPMC同时使用了MCB PIM和PLBPIM, MCB为32位宽,因此MCB PIM和PLB PIM只能连接到32位宽的PLB总线。
; Y( `) n( x7 w$ E: v0 `
5 R+ m& V5 q3 R( {$ }. z字节/半字/字:MB里分别定义为Byte/half-word/word,位宽分别为8/16/32bit。MB使用BIG-Endian模式存储数据和指令。
, H, l. v/ Z  Z+ M# ]1 Z/ C6 ~5 }. Y6 F$ |+ h6 |
BMM:BlockRAM Memory Map file

$ \+ p' @: p' L# P, d
, ]) w* G& T6 d$ _" n0 m( k) z  o
! a3 d. D3 x* z1 ]9 b' e% x

& {! `+ G/ J' Z/ Q! ~/ @6 c/ K- J( [5 s2 W& k" z* l  l

本版积分规则

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

GMT+8, 2024-3-29 07:17 , Processed in 0.055450 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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