VIVADO中基于BD构建MicroBlaze系统

xapp1218,
在BD中构建MB系统,由几个主要模块构成,
++++++++++++++++++++++++
MB核,
生成的MB核,需要引出如下接口,
clk,
这是MB核的工作时钟,一般连接到一个100MHZ的时钟,
reset,
这是MB核的复位控制信号,一般连接到对应于工作时钟同域的PSRESET核所输出的mb_reset信号上。
debug接口,
这是MB核的debug接口,一般连接到MDM核所输出的mb_debug接口上。
ILMB接口和DLMB接口,
这是MB核的指令总线和数据总线,一般连接到LMB子系统。
M_AXI_DP接口,
这是MB核的外围数据接口,用来连接外围设备,一般连接互联矩阵子系统。通常工作在50MHZ的时钟下。
M_AXI_IC和M_AXI_DC接口,
这是MB核的外存cache接口,用来连接到外存中的cache,一般连接到MIG的互联矩阵子系统。
INTERRUPT接口,
这是MB和的INTERRUPT接口,一般连接到AXI INTERRUPT CONTROLLER。
+++++++++++++++++++++++++++++++++++
clocking wizard,
生成需要的时钟,
输入一个clk_in,一个rst_in,送入MMCM,
MMCM输出一个clk_50M,一个clk_100M。
输出一个locked指示信号,控制可靠的复位释放。

++++++++++++++++++++++++++++++++++
PSRESET_100M核,
生成需要的复位信号,
输入一个slowest_sync_clk,用来作为同步时钟,通常选择MB的工作时钟,
输入一个rst_in,作为ext_reset_in,通常连接到MIG的输出的复位信号。
输入信号aux_reset_in可以浮空,
输入信号dcm_locked,用来控制可靠的复位释放,连接到MMCM输出的locked信号。
输入信号mb_debug_rst,用来接收MDM输出的rst信号,生成复位时序。

输出的几个复位信号如下:
mb_reset,用来控制MB核的复位。拉高有效。
bus_struct_reset,用来控制LMB子系统的reset。拉高有效。
peripheral_reset,用来控制外围设备的复位,拉高有效。用于那些需要拉高有效复位的外设。

interconnect_aresetn,用来控制互联矩阵中的,同域的AXI接口的复位,拉低有效。
peripheral_aresetn,用来控制同域的AXI_LITE接口的外设的复位,拉低有效。

+++++++++++++++++++++++++++++++++
MDM核,
输出一个mb_debug接口,连接到MB核上。
输出一个debug_sys_rst,连接到PSRESET上。

+++++++++++++++++++++++++++++++
LMB子系统,
由ILMB处理链和DLMB处理链组成。
连接关系为LMB–>LMB BRAM CONTROLLER–>Block Memory Generator。

LMB_clk,用来连接所有相关的LMB核。这个时钟和MB核的工作时钟是同一个时钟,所以,这是是clk_100M。

LMB_reset,用来连接所有相关的LMB核。这个复位,使用的PSRESET输出的bus_struct_reset。

两个LMBBC输出的接口,是两个BRAM_port,这两个BRAM_PORT,连接BRAM GEN的两个输入端口。

++++++++++++++++++++++++++++++++
AXI Interconnect核,
这个模块用来扩展AXI接口,
配置一个S_AXI接口,连接到MB核的M_AXI_DP接口。
配置多个M_AXI接口,连接到外设。

这里的关键,是配置几个时钟和复位。
ACLK,
这是互联矩阵的内核的工作时钟。这里,让它工作在MB的工作时钟上。即clk_100M。
ARESETN,
这是互联矩阵的内核的复位控制,这里,连接到与工作时钟同域的interconnect_aresetn上。

S00_ACLK,
这是S00_AXI接口的接口时钟,这里,让它工作在MB的工作时钟上。即clk_100M。
S00_ARESETN,
这是S00_AXI接口的接口复位,这里,连接到与工作时钟同域的peripheral_aresetn上。

M00_ACLK,
这是M00_AXI接口的接口时钟,M00_AXI接口,连接到AXI INTC核,所以,这里让它工作在MB的工作时钟上。即clk_100M。
M00_ARESETN,
这是M00_AXI接口的接口复位,这里,连接到与工作时钟同域的peripheral_aresetn上。

M01_ACLK,
这是M01_AXI接口的接口时钟,M01_AXI接口,连接到AXI UART核,所以,这里让它工作在MB的工作时钟上。即clk_100M。
M01_ARESETN,
这是M01_AXI接口的接口复位,这里,连接到与工作时钟同域的peripheral_aresetn上。

M02_ACLK,
这是M02_AXI接口的接口时钟,M02_AXI接口,连接到外部的外设,所以,这里让它工作在外设AXILITE的工作时钟,即clk_50M。
M02_ARESETN,
这是M02_AXI接口的接口复位,这里,连接到与工作时钟同域的peripheral_aresetn上。
这个aresetn由外部引入,在外部,有一个PSRESET_50M的模块。

M03_ACLK,
这是M03_AXI接口的接口时钟,M03_AXI接口,连接到外部的外设,所以,这里让它工作在外设AXILITE的工作时钟,即clk_50M。
M03_ARESETN,
这是M03_AXI接口的接口复位,这里,连接到与工作时钟同域的peripheral_aresetn上。
这个aresetn由外部引入,在外部,有一个PSRESET_50M的模块。

++++++++++++++++++++++++++++++++++++++
AXI Interrupt Controller核
输入一个signal vector,作为输入的中断源,
输入一个S_AXI接口,作为控制接口。
输出一个interrput接口,作为MB的中断接口。

S_AXI接口,连接到互联矩阵上的M00_AXI接口,
所以,这个接口时钟,工作在100MHZ。
s_axi_aclk,和M00_ACLK连接到同一个工作时钟,即clk_100M。
s_axi_areset,连接到与工作时钟同域的peripheral_aresetn上。

processor_clk,连接到MB的工作时钟的同一个时钟上,即clk_100M。
processor_rst,连接到MB的mb_reset上。

intr[3:0],这是中断源,需要CONCAT的配合,将散列的多个单信号,拼位后形成vector。

++++++++++++++++++++++++++++++++++++++++
peripheral核。
这里,以AXI_UARTLITE为例。

输入一个S_AXI接口,作为控制接口,
S_AXI接口,连接到互联矩阵上的M01_AXI接口,
所以,这个接口时钟,工作在100MHZ。
s_axi_aclk,和M01_ACLK连接到同一个工作时钟,即clk_100M。
s_axi_areset,连接到与工作时钟同域的peripheral_aresetn上。

输出一个UART接口,连接到外部IO。

++++++++++++++++++++++++++++++++++++++++
PSRESET_50M核,
由于AXILITE接口使用的是clk_50M,
所以,需要对应例化一个PSRESET_50M的核,
slowest_sync_clk,连接到clk_50M。
ext_reset_in,连接到MIG的输出的复位信号。
mb_debug_sys_rst,连接到MDM输出的debug_sys_rst上。
dcm_locked,连接到MMCM输出的lock信号上。

输出的各路复位,
只需要使用
interconnect_aresetn,连接互联矩阵的AXI接口,
和peripheral_aresetn,连接到外设的AXI接口,

+++++++++++++++++++++++++++++++++++++
MIG子系统,
包括MIG核,PSRESET核以及AXI互联矩阵。

先来看MIG核,
system_clk,
是输入的diff clk,200MHZ,MIG内部PLL倍频到800MHZ,
sys_rst,
是输入的外部复位,MIG的复位,通常由IO输入。

ui_clk,
是输出的ui clk,由MIG内部的PLL四分频得到,所以是200MHZ,ui clk通常用作内部系统的基准时钟,送到MMCM中。
ui_clk_sync_rst,
当MIG正常复位后,输出的复位控制信号,通常作为内部系统的PSRESET模块的ext_reset_in的驱动源。
mmcm_locked,
是输出的指示信号,连接到PSRESET的dcm_locked信号上。

DDR3接口,
是连接到外部IO的DDR3接口。

S_AXI接口,
是数据交互通道。这个接口,工作在ui_clk时钟下。
aresetn,
是S_AXI接口的复位控制,它连接到同域的peripheral_aresetn上。

再来看PSRESET_200M核,
输入的slowest_sync_clk,连接到ui_clk,即200MHZ,
输入的ext_reset_in,连接到ui_clk_sync_rst,
输入的mb_debug_sys_rst,连接到MDM输出的debug_sys_rst,
输入的dcm_locked,连接到mig_mmcm_locked。

输出的各路复位信号,
只使用
interconnect_aresetn,连接到AXI互联矩阵,
和peripheral_aresetn,连接到AXI接口。

再来看AXI互联矩阵,
ACLK,是矩阵内核的工作时钟,这里,连接到ui_clk,
ARESETN,是矩阵内核的复位控制,这里,连接到同域的PSRESET的interconnect_aresetn。

M00_ACLK,
是M00_AXI接口的工作时钟,这里,要和MIG的S_AXI接口工作在同一时钟,所以,连接到ui_clk。
M00_ARESETN,
是M00_AXI接口的复位控制,这里,连接到同域的PSRESET的peripheral_aresetn。

S00_ACLK,
是S00_AXI接口的工作时钟,这里,S00_AXI接口,连接到MB的M_AXI_DC接口,所以,这里,工作在MB的工作时钟上,即100MHZ。
S00_ARESETN,
是S00_AXI接口的复位控制,这里连接到同域的PSRESET的peripheral_aresetn。

S01_ACLK,
是S01_AXI接口的工作时钟,这里,S01_AXI接口,连接到MB的M_AXI_IC接口,所以,这里,工作在MB的工作时钟上,即100MHZ。
S01_ARESETN,
是S01_AXI接口的复位控制,这里连接到同域的PSRESET的peripheral_aresetn。

S02_ACLK,
是S02_AXI接口的工作时钟,这里,S02_AXI接口,连接到VDMA的M_AXI_MM2S接口,所以,这里,工作在MIG的ui_clk时钟上,即200MHZ。
S02_ARESETN,
是S02_AXI接口的复位控制,这里连接到同域的PSRESET的peripheral_aresetn。

S03_ACLK,
是S03_AXI接口的工作时钟,这里,S03_AXI接口,连接到VDMA的M_AXI_S2MM接口,所以,这里,工作在MIG的ui_clk时钟上,即200MHZ。
S03_ARESETN,
是S03_AXI接口的复位控制,这里连接到同域的PSRESET的peripheral_aresetn。

S04_ACLK,
是S04_AXI接口的工作时钟,这里,S04_AXI接口,连接到VDMA的M_AXI_MM2S接口,所以,这里,工作在MIG的ui_clk时钟上,即200MHZ。
S04_ARESETN,
是S04_AXI接口的复位控制,这里连接到同域的PSRESET的peripheral_aresetn。

S05_ACLK,
是S05_AXI接口的工作时钟,这里,S05_AXI接口,连接到VDMA的M_AXI_S2MM接口,所以,这里,工作在MIG的ui_clk时钟上,即200MHZ。
S05_ARESETN,
是S05_AXI接口的复位控制,这里连接到同域的PSRESET的peripheral_aresetn。

+++++++++++++++++++++++++++++++++++++++++
VDMA核,
控制接口,是一个S_AXI_LITE接口,
连接到MB输出的扩展M_AXI接口上。
s_axi_lite_aclk,连接到clk_50M时钟上,
axi_aresetn,连接到同域的PSRESET的peripheral_aresetn。

M_AXI_MM2S接口和M_AXI_S2MM接口,连接到MIG子系统。
m_axi_mm2s_aclk和m_axi_s2mm_aclk,连接到MIG子系统的工作时钟,即ui_clk上。

M_AXIS_MM2S接口和S_AXIS_S2MM接口,连接到AXIS接口的数据流,
m_axi_mm2s_aclk和s_axis_s2mm_aclk,连接到MIG子系统的工作时钟,即ui_clk上。

mm2s_introut和s2mm_introut,是VDMA输出的中断信号,连接到MB子系统中。

  • 5
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值