MicroBlaze的那些事儿1:MicroBlaze的体系架构Word格式文档下载.doc
《MicroBlaze的那些事儿1:MicroBlaze的体系架构Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《MicroBlaze的那些事儿1:MicroBlaze的体系架构Word格式文档下载.doc(10页珍藏版)》请在冰豆网上搜索。
8位软核(真的很难用,没有C编译器,编程用汇编,资料超少,具体见之前我blog文章)
MicroBlaze
32位软核(下面文章的主角)
PowerPC
32位硬核,只存在于Xilinx高端系列芯片上(Virtex-4和Virtex-5)。
当你见到人家叫PPC时候,千万不要以为是智能手机,其实PowerPC也简称PPC。
MicroBlaze的体系结构
MicroBlazeV7.0核心框图
要注意MicroBlaze核心框图,MicroBlazeV7.0已经有MMU了,意味着MicroBlaze可以运行依赖MMU的操作系统,像Linux、WindowCE等。
EDK6.2的MicroBlaze核心框图
MicroBlaze的版本号是同EDK的版本号相联系的,我用的EDK9.2iMicroBlaze版本是v7.0。
而从上面框图可以看到EDK6.2的MicroBlaze是没有MMU的,因此也不能运行Linux,只能运行ucLinux。
目前最新版本是MicroBlazev7.20。
要使用相关应用,先更新一下EDK的版本(软件安装文件越来越大L)。
不同版本MicroBlaze的性能
还要注意MicroBlaze支持的器件系列,当然首先是Xilinx的FPGA器件(这不废话!
其实我也不知道NIOSII
能不能移植到XilinxFPGA上来)
Spartan-3E/Spartan-II
/
Spartan-3
Spartan-IIE
Virtex-4FX
/
Virtex-4LX
Virtex-4SX
Virtex-5FX
Virtex-5LX
Virtex-5SX
Virtex-E
Virtex-II
Virtex-IIPro
如果你手上只是CoolRunner-II的CPLD,我建议你尝试一下用Picobalze作控制。
可以参考我下面文章:
PicoBlaze
学习笔记1:
PicoBlaze介绍
学习笔记2:
PicoBlaze结构
学习笔记3:
PicoBlaze8位处理器指令集
学习笔记4:
PicoBlaze设计方法
学习笔记5:
PicoBlaze设计例子(LED
闪烁)
学习笔记6:
利用pBlazIDE对PicoBlaze汇编(psm)进行仿真
学习笔记7:
PicoBlaze学习资料汇总
还有一个简便的方法就是用51单片机控制FPGA/CPLD(汗!
这是最蠢得办法,毕竟浪费了FPGA/CPLD的资源)。
当然这样的蠢事我也干过:
51单片机与FPGA接口逻辑设计(原创)
还有一个最最绝的方法,就是加一片ARM7,甚至ARM9,来代替MicroBlaze,当然我都不知道说什么了。
MicroBlaze的总线接口
MicroBlaze支持的外设接口示意图
CoreConnect是由IBM开发的片上总线通信链,它使多个源的芯片核相互连接成为一个完整的新芯片成为可能。
CoreConnect技术使整合变得更为容易,而且在标准产品平台设计中处理器、系统以及外围的核可以重复使用,以达到更高的整体系统性能。
MicroBlazev7.0软核支持的借口标准
?
A32-bitversionofthePLBV4.6interface(seeIBM’s
128-BitProcessorLocalBusArchitecturalSpecifications,Version4.6).
A32-bitversionoftheOPBV2.0businterface(seeIBM’s
64-BitOn-ChipPeripheralBus,ArchitecturalSpecifications,Version2.0)
LMBprovidessimplesynchronousprotocolforefficientblockRAMtransfers
FSLprovidesafastnon-arbitratedstreamingcommunicationmechanism
XCLprovidesafastslave-sidearbitratedstreaminginterfacebetweencachesandexternalmemorycontrollers
DebuginterfaceforusewiththeMicroprocessorDebugModule(MDM)core
Traceinterfaceforperformanceanalysis
MicroBlaze内部总线结构
DPLB:
Datainterface,ProcessorLocalBus
DOPB:
Datainterface,On-chipPeripheralBus
DLMB:
Datainterface,LocalMemoryBus(BRAMonly)
IPLB:
Instructioninterface,ProcessorLocalBus
IOPB:
Instructioninterface,On-chipPeripheralBus
ILMB:
Instructioninterface,LocalMemoryBus(BRAMonly)
MFSL0..15:
FSLmasterinterfaces
SFSL0..15:
FSLslaveinterfaces
IXCL:
InstructionsideXilinxCacheLinkinterface(FSLmaster/slavepair)
DXCL:
DatasideXilinxCacheLinkinterface(FSLmaster/slavepair)
Core:
Miscellaneoussignalsfor:
clock,reset,debug,andtrace
上面关于总线的相关知识只是复制于
《MicroBlazeProcessorReferenceGuide
EmbeddedDevelopmentKitEDK9.2i》,我对这方面也不太了解,看来要慢慢学习了J
《MicroBlaze的那些事儿》系列未完待续…….尽请留意我blog