0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Wishbone共享总线连接与点到点连接

SwM2_ChinaAET 来源:未知 作者:李倩 2018-08-03 08:55 次阅读

Wishbone共享总线连接与点到点连接同样重要。在本例中,两个主设备和两个从设备通过SYSCON实现了共享总线连接,在后续章节中,我们将使用该例子对Or1200进行基本RTL验证。系统复位后,一个或者多个主设备通过置高CYC_O请求使用总线,仲裁器(后文将讨论)选择其中一个主设备#X(X在0和N之间),只将该主设备对应的GNTX信号置高,而将其它GNT信号置低以通知INTERCON哪一个主设备可以使用总线。

一旦主设备选定,其输出信号将通过选择器送到共享总线进而送到各个从设备。例如,如果主设备#0被中可以使用总线,则器ADR()、DAT_O()、SEL_O()、WE_O和STB_O信号将被送到各个从设备。与此同时请求使用总线的其他设备,将永远接收不到总线周期结束信号ACK_I/ERR_I/RTY_I。

从设备是如何被选择的呢 '若系统中有M个从设备,则地址线被地址译码器分为M个部分,别代表每一个从设备的地址空间。从设备#Y对应的译码输出信号与共享总线上的STB_I信号相与,如果STB_I信号和从设备#Y对应的译码输出信号同时为高,从设备#Y才发起对主设备操作的响应。

各个从设备输出的总线周期结束ACK_O/ERR_O/RTY_O被通过或门送到各个主设备的ACK_I/ERR_I/RTY_I。而从设备的DAT_O()输出则通过选择器送到各个主设备的输入端,这个选择器的输入为共享地址总线。

图22 基于选择器的Wishbone共享总线连接示例

intercon模块的源码如下:

module intercon2M2S(clk_i,rst_i,wb0s_data_i,

wb0s_data_o,wb0_addr_i,wb0_sel_i,

wb0_we_i,wb0_cyc_i,wb0_stb_i,wb0_ack_o,

wb0_err_o,wb0_rty_o,wb0m_data_i,

wb0m_data_o,wb0_addr_o,wb0_sel_o,

wb0_we_o,wb0_cyc_o,wb0_stb_o,wb0_ack_i,

wb0_err_i,wb0_rty_i,wb1s_data_i,

wb1s_data_o,wb1_addr_i,wb1_sel_i,

wb1_we_i,wb1_cyc_i,wb1_stb_i,wb1_ack_o,

wb1_err_o,wb1_rty_o,wb1m_data_i,

wb1m_data_o,wb1_addr_o,wb1_sel_o,

wb1_we_o,wb1_cyc_o,wb1_stb_o,wb1_ack_i,

wb1_err_i,wb1_rty_i

);

……//这里忽略了端口定义

//仲裁器,两个主设备,两个从设备

wire GNT0,GNT1,CYC;

arbiter2M2S arbiter2M2S(.CLK(clk_i),.RST(rst_i),.CYC0(wb0_cyc_i),.CYC1(wb1_cyc_i),

.GNT0(GNT0),.GNT1(GNT1),.CYC(CYC));

//地址译码器

wire ACMP0,ACMP1;

wire [31:0] shared_address;

address_decoder2S

address_decoder2S(.addr_i(shared_address),.ACMP0(ACMP0),.ACMP1(ACMP1));

//共享总线周期有效信号CYC,从各主设备到各从设备assign wb0_cyc_o=CYC;

assign wb1_cyc_o=CYC;

//共享地址信号

assign shared_address=GNT1?wb1_addr_i:wb0_addr_i;

assign wb0_addr_o=shared_address;

assign wb1_addr_o=shared_address;

//从各主设备到各从设备的共享数据总线

wire [31:0] shared_data_m2s=GNT1?wb1m_data_i:wb0m_data_i;

assign wb0s_data_o=shared_data_m2s;

assign wb1s_data_o=shared_data_m2s;

//从各从设备到各主设备的共享数据总线

wire [31:0] shared_data_s2m=ACMP1?wb1s_data_i:wb0s_data_i;

assign wb0m_data_o=shared_data_s2m;

assign wb1m_data_o=shared_data_s2m;

//从各主设备到各从设备的共享选择信号

wire [3:0] shared_sel=GNT1?wb1_sel_i:wb0_sel_i;

assign wb0_sel_o=shared_sel;

assign wb1_sel_o=shared_sel;

//从各主设备到各从设备的共享写使能信号

wire shared_we=GNT1?wb1_we_i:wb0_we_i;

assign wb0_we_o=shared_we;

assign wb1_we_o=shared_we;

//从各主设备到各从设备的共享选通信

wire shared_stb=GNT1?wb1_stb_i:wb0_stb_i;

assign wb0_stb_o=ACMP0?shared_stb:1'b0;

assign wb1_stb_o=ACMP1?shared_stb:1'b1;

//从各从设备到各主设备的应答信号

wire shared_ack=ACMP0?wb0_ack_i:wb1_ack_i;

assign wb0_ack_o=shared_ack;

assign wb1_ack_o=shared_ack;

wire shared_err=ACMP0?wb0_err_i:wb1_err_i;

assign wb0_err_o=shared_err;

assign wb1_err_o=shared_err;

wire shared_rty=ACMP0?wb0_rty_i:wb1_rty_i;

assign wb0_rty_o=shared_rty;

assign wb1_rty_o=shared_rty;

endmodule

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 总线
    +关注

    关注

    10

    文章

    2881

    浏览量

    88076
  • Wishbone
    +关注

    关注

    0

    文章

    16

    浏览量

    10429

原文标题:【博文连载】Wishbone共享总线连接示例

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IFM Efector制动装置传感器接口

    点到点连接,或总线系统。这些方法对于连接简单的二进位设备,太过复杂。点到点配线方法是工业最普通的配线方式,但是巨大的配线捆占据了大量的空间,
    发表于 10-26 16:37

    基于WISHBONE总线的FLASH闪存接口设计

    总线的另一个优点。由于IP核种类多样,其间并没有一种统一的间接方式。为满足不同系统的需要,WISHBONE总线提供了四种不同的IP核互连方式:点到点(point-to-point),用
    发表于 12-05 10:35

    点到点和端到端通讯

    点到点通信点到点是物理拓扑,是网络层的,如光纤,就必须是点到点连接,DDN专线也是,即两头各一个机器中间不能有机器。端到端通信端到端是网络连接
    发表于 01-18 18:06

    PCIe一般介绍

    PCIe提供了一种可裁减高速串行I/O点到点总线连接。PCIe的LAN是一个全双工的通道,由一对接收差分对和一对发送差分对构成。PCIe的带宽可以通过增减LANE数来调整。PCIe规范定义了x1
    发表于 06-03 07:09

    高速、多路LVDS交叉开关,减少点到点链路并节省成本

    高速、多路LVDS交叉开关,减少点到点链路并节省成本 MAX9132/MAX9134/MAX9135是具有LIN/I²C可编程串行接口的高速多路LVDS交叉开关。  器
    发表于 10-01 00:30 1124次阅读

    寄生电容--用在多支路总线上的连接

    点到点连接应用相比,在多支路总线的应用中,连接器系统的负荷要多一些。在点到点应用中,被传送的信号只穿过
    发表于 06-13 17:06 2064次阅读
    寄生电容--用在多支路<b class='flag-5'>总线</b>上的<b class='flag-5'>连接</b>器

    基于WISHBONE总线的FLASH闪存接口设计

    本文简要介绍了AMD 公司Am29LV160D 芯片的特点,并对WISHBONE总线作了简单的介绍,详细说明了FLASH memory 与WISHBONE 总线的硬件接口设计及部分Ve
    发表于 06-23 16:32 18次下载
    基于<b class='flag-5'>WISHBONE</b><b class='flag-5'>总线</b>的FLASH闪存接口设计

    基于FPGA的SDX总线Wishbone总线接口设计

    介绍了基于硬件描述语言Verilog HDL设计的SDX总线Wishbone总线接口转化的设计与实现,并通过Modelsim进行功能仿真,在QuartusⅡ软件平台上综合,最终在Altera公司的CycloneⅢ系列FPGA上
    发表于 01-11 10:21 25次下载
    基于FPGA的SDX<b class='flag-5'>总线</b>与<b class='flag-5'>Wishbone</b><b class='flag-5'>总线</b>接口设计

    SmartConnect:UltraScale+的内部连接设计自动化,节省20%到30%的系统空间和功耗

    整个系统),内部连接的复杂度也增加。在简单系统中,点到点的直线连接显然是最有效的。而在大系统中,总线(当他们在芯片上时看似是一个大型复用系统)将是更好的选择。系统变得更复杂时,你可能需
    发表于 02-08 06:23 321次阅读
    SmartConnect:UltraScale+的内部<b class='flag-5'>连接</b>设计自动化,节省20%到30%的系统空间和功耗

    瀚达电子单埠Wifi串行设备通讯闸道器 提高用户无网连接的高效传输

    近日,瀚达电子推出一款即使不用连网也可以实现远程系统管理和资料共享。通过使用Aport-213,就可以让串口设备之间实现点到点的通信。
    发表于 01-18 11:19 539次阅读

    一文看懂帧中继点到点点到多点的区别

    帧中继是一种用于连接计算机系统的面向分组的通信方法。本文主要对帧中继点到点子接口与帧中继点到多点介绍,最后帧中继点到点点到多点的区别,包括
    发表于 03-02 14:50 1.3w次阅读
    一文看懂帧中继<b class='flag-5'>点到点</b>与<b class='flag-5'>点到</b>多点的区别

    基于一个针对点到点和多分支应用的接口标准LVDS介绍

    LVDS的端接方法很简单,只需在接收器端放置一个端接电阻。LVDS也能处理多分支信号传输,即一个驱动器和多个接收器共享相同的差分传输线。M-LVDS是LVDS的扩展,允许多个驱动器共享相同的半双工总线
    发表于 03-20 14:07 2867次阅读

    基于UDP协议和FPGA的点到点数据传输方案

    基于提升数据传输速率,提高数据传输实时性的目的,提出了一种基于UDP协议的点到点数据传输方案,并采用现场可编程逻辑门整列(FPGA)和以太网PHY芯片RIL821EG实现点到点的UDP高速数据传输
    发表于 06-01 09:58 13次下载

    小鹏汽车:今年智驾实现国内全范围、点到点,明年研发全球范围XNGP

    在最近的小鹏汽车新春启动发布会上,小鹏汽车CEO、董事长何小鹏公布了NGP智能辅助驾驶系统的新时间表。他表示,小鹏汽车计划在2024年实现在国内全范围、点到点的XNGP,覆盖小路、内部路、停车场等场景。此外,公司还计划在2025年研发全球范围的XNGP。
    的头像 发表于 01-31 11:24 763次阅读

    点到多点无源光网络有哪些优点

    : 节省光纤资源 :PON技术通过一个光纤分布网络(ODN)将信号从中心局传输到多个用户,减少了光纤的使用量和铺设成本。相比点到点(P2P)的光纤连接方式,PON可以显著节省光纤资源。 减少设备成本 :由于PON网络中的光分支点只需要安装简单的光分路器,无需额外的有源设
    的头像 发表于 09-23 11:03 305次阅读