采用节点模式的高速环形总线协议的制作方法

文档序号:6482515阅读:168来源:国知局
专利名称:采用节点模式的高速环形总线协议的制作方法
技术领域
本发明涉及一种大规模ASIC设计中适合后端布局布线的芯片内通讯以及适合在 电路板级布线的芯片间通讯协议。通过采用菊花链模式的环形结构,以及采用数据流格式 的通讯协议,使得用于通讯的信号线数目减少,主控制器的输入输出口管腿数目固定,节点 和主控制器间不需要存在点对点的物理连接,解决了传统芯片设计中主控制器管腿过多引 起的布线瓶颈、以及驱动负载高等缺点。在大规模ASIC设计中,采用的环形结构的总线,可 以在用多FPGA原型系统做芯片验证时,不会产生由于某块FPGA的管腿数目过多而成为系 统瓶颈的问题,测试简单,符合Design-For-Test理论。
背景技术
在大规模芯片设计中,通常都存在着数据总线和寄存器总线,随着集成的模块数 目越来越多,需要进行数据访问和寄存器访问的模块也随之上升。传统的一对多的辐射型 总线结构,写数据和地址总线被多个模块共享,但是每增加一个模块就需要在总线的主控 制器上增加相应的地址接口译码和回读数据线,当模块数目上升到一定数目时,主控制器 的管腿密度过高,整个系统在主控制器上存在连线瓶颈;并且作为共享的写数据和地址总 线由于需要驱动多个模块,其总线负载过高,在实现高频率设计时需要用专门的处理,产生 芯片面积和功耗浪费。这样的一对多的设计结构,其缺点在进行FPGA原型验证中暴露无 遗,主控制器管腿过高的问题对于其所在的FPGA芯片内部逻辑的布线和时序,以及划分多 FPGA后,主控制器所在的FPGA芯片需要的管腿数目过高都产生负面影响。采用菊花链型的环形总线方式,主控制和各个节点管腿数目固定,不随模块数目 的变化而产生影响,设计重复可用。系统在时序和布线资源(包括芯片内部和芯片间)不 存在瓶颈,同时通过采用更少的信号线数目,显著减少芯片的功耗。

发明内容
本发明的目的是针对芯片设计中的数据和控制总线信号线数目过多,在芯片的布 局布线中产生的拥堵和时序控制困难,以及在电路板级设计中,PCB走线过多的难题,提出 的一种采用节点模式的高速环形总线协议,通过采用流格式通讯和菊花链串行连接结构, 在有效降低信号线的连接数目的同时,解决了系统中一对多总线存在的连线存在中心点的 瓶颈问题。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明节点适配器接口示意图。图2为本发明环形总线连接示意图。图3为本发明写命令时序示意图。图4为本发明读命令时序示意图。
图5为本发明传递命令时序示意图。图6为本发明节点查询命令时序示意图。图7为本发明节点已获得时序示意图。
具体实施例方式本发明在实现中需要设计两个标准模块,主控制器模块,和节点适配器模块,在系 统实现中存在一个主控制器和多个节点适配器,在连接上主控制器和多个节点适配器通过 串联构成环形总线。图2是环形总线的构成示意。下面的实施样例中采用以8比特位为位 宽的环形总线,转换后和本地模块间的接口为32比特位。在实际的应用中,环形总线以及 和本地模块间接口宽度可以做变化,但并不脱离本发明的设计方法。图1是本发明采用的节点适配器(Net-Interface-Unit,简称NIU)接口示意图。 适配器采用单路时钟(elk)做驱动,由单一复位信号(rst)做复位。每个NIU都有自己唯 一的节点编号(ID#)。NIU的接口信号包括由前级节点或者主控制器传来的数据流信号线 (i_in_data)和表示数据有效的指示标志(i_in_Valid),同时往后级节点或者主控制器传 递的数据流(o_out_data)和有效指示标志信号线(o_out_valid)。NIU通过匹配节点编号 和根据命令的不同,将环形总线上的数据流转换成和本地模块(Block)间的单向写数据和 读数据总线,并且将命令和数据流延时固定的一个时钟周期后往后级传递。NIU本身不需要 知道它的前级和后级是谁,各个NIU的节点编号不需要按照固定顺序,但是编号必须唯一, 否则远离主控制器(按照数据流正方向)的重复节点永远处于移位状态。下面是实施样例中NIU对各种命令的处理过程图3是本发明的写(WR)命令处理过程时序示意。在由前级传递过来的数据流中 (i_in_data和i_in_valid),第一个时钟周期是节点编号(ID)第二个时钟周期是写命令 (WR),第三个时钟周期传递的是后续需要传递的数据长度(LENGTH)指示(此次指示的是4 字节单位),第四个周期和后续的时钟用来传递数据,直到完成指示的数据长度。如果当前 NIU的节点值和数据流中的目标节点不匹配,则当前节点适配器对数据流不做任何操作,在 延时一个时钟周期后将数据流往后级传送;如果当前OTU的节点值和数据流中的目标节点 匹配,首先将往后级传递的数据流中的命令由写(WR)命令替换成传递(PASS)命令,同时将 8比特的写数据流(WDATA)按照32比特位单位整理,通过产生数据写信号脉冲的方法提交 给本地模块(Block)。并且通过产生数据读信号脉冲,从本地模块中读取数据,然后按照8 比特方式将数据流中的写数据(WDATA)替换成读数据(RDATA)。这种在写的同时进行读操 作的方式,可以显著加快数据的交换速率。需要指出的是,通过简单的变化可以添加只写的 命令一在写的同时不进行读操作。图4是本发明的读(RD)命令处理过程时序示意。除了通过上述写命令(WR)的同 时进行读操作(RD)外,还可以有独立的读命令操作。由前级传递过来的数据流,第一个时 钟周期是节点编号(ID)第二个时钟周期是读命令(RD),第三个时钟周期传递的是后续需 要读取的数据长度(LENGTH),第四个周期和后续的时钟用来传递数据,直到完成指示的数 据长度。如果当前NIU的节点值和数据流中的目标节点不匹配,则当前NIU节点适配器对 数据流不做任何操作,在延时一个时钟周期后将数据流往后级传送(此时的数据值本身无 意义,可以是任意值);如果当前NIU的节点值和数据流中的目标节点匹配,首先将往后级传递的数据流中的命令由读(RD)命令替换成传递(PASS)命令,同时通过产生数据读信号脉冲,从本地模块(Block)中读取数据,然后按照8比特方式将读数据放置到往后级的数据 流中。图5是本发明的传递(PASS)命令处理过程时序示意。由前级传递过来的数据流, 第一个时钟周期是节点编号(ID)第二个时钟周期是传递命令(PASS),第三个时钟周期传 递的是后续需要读取的数据长度(LENGTH),第四个周期和后续的时钟用来传递数据,直到 完成指示的数据长度。在传递命令处理中,当前节点适配器和数据流中的目标节点匹配结 果无意义,对数据流不做任何操作,唯一的操作是在延时一个时钟周期后将数据流往后级 传送。传递(PASS)命令通常由环路中第一个匹配节点值的适配器NIU放置,用于告诉后级 NIU适配器不要对数据进行任何处理,确保数据经过延时后最后抵达主控制器。由主控制器 也可以产生传递命令(PASS),在通过各个适配器的延时后,最后会回到主控制器。如果经过 环形总线上最大支持的节点数目时钟周期的的延时后,主控制器没有接收到回音,则可以 判断出环路断裂,此方法可以用来判断整个环路是否闭合。图6是本发明的节点查询(IDPOLL)命令处理过程时序示意。由前级传递过来的数 据流只包含两个周期,第一个时钟周期是节点编号(ID),第二个时钟周期是节点查询命令 (IDPOLL)。在命令处理中,如果当前适配器的节点值和数据流中的节点编号(ID)匹配,则 将第二个周期的节点查询(IDPOLL)命令替换成节点已获得命令(IDGOT)后,往后级传送。 如果当前节点不匹配,则对命令不做任何处理,而直接递交够后级。图7是本发明的节点已获得(IDGOT)命令处理过程时序示意。和上述节点查询 (IDPOLL)命令一样,由前级传递过来的数据流只包含两个周期,第一个时钟周期是节点编 号(ID),第二个时钟周期是节点已获得命令(IDGOT)。在命令处理中,当前节点适配器和数 据流中的目标节点不做匹配判断,对数据流不做任何操作,在延时一个时钟周期后将数据 流往后级传送。节点已获得(IDGOT)命令通常由环路中第一个匹配节点值的适配器放置, 用于告诉后级适配器自己已经被查询到,后续的NIU不要对结果进行任何处理,确保结果 最后抵达主控制器。节点已获得命令(IDGOT)通常不会由主控制器产生,但是如果主控制 器在某些场合需要产生这样的命令,最终此命令在经过相应的节点数目的时钟周期后抵达 主控制器,此命令和上述的传递命令(PASS) —样,也可以判断整个回路是否闭合。总线的主控制器模块(Net-Interface-ControlIer简称NIC)的主要功能是产生 目标ID、命令、数据放置和接收,并且OTC中有超时判断,用以判断回路是否断裂。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,根据实 际应用的不同,可以做流格式的变化,尽管参照较佳实施例对本发明进行了详细说明,本领 域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离 本发明技术方案的精神和范围。
权利要求
采用节点模式的高速环形总线协议,硬件包括两个通用模块,总线主控制器在整个环形总线中,只有一个总控制器,所有的通讯都由它启动。主控制器将芯片主控模块(如中央处理器CPU等)对节点位置的访问,转换成相应的流数据通讯协议,包括自动产生节点值,命令,将数据送往节点,以及将由节点返回的数据整理后提交给芯片主控模块。总线节点适配器在整个环形总线中,根据实际需要,节点数目可变化。节点适配器在整个总线中采用同一种实现方法,通过监听和匹配总线通讯数据流中的目标节点值,将属于自己节点的总线内容保存或者将自己节点的内容传递到总线上。在应用中,每个节点拥有一个总线节点适配器,系统中各个节点适配器以菊花链型的串行方式连接,第一个节点适配器的输入来自主控制器,最后一个节点适配器的输出送往主控制器,前一个节点适配器的输出是下一个节点适配器的输入,最后构成一个环形结构。主控制器和节点适配器采用同一个时钟和复位信号,整个总线设计采用同步模式。
2.如权利要求1所述的采用节点模式的高速环形总线协议,其特征在于,整个系统只 有一个主控制器,并且不随节点数目的变化有任何修改。
3.如权利要求1所述的采用节点模式的高速环形总线协议,其特征在于,整个系统的 节点模块数目可变化,各个节点拥有独立的静态节点地址。
4.如权利要求1,2,3所述采用节点模式的高速环形总线协议,其特征在于采用的环形 结构,使得主控制器的输入输出口不随节点数目的变化而增加或者减少,采用的菊花链串 行模式,使得在高速芯片设计或者电路板设计中,布线减少,时序控制简单;芯片系统或者 电路板模块的增加或删减简单,不对整个系统产生结构任何影响。
5.如权利要求1,2,3,4所述的采用节点模式的高速环形总线协议,其特征在于硬件层 的通讯命令可扩展,同时各个节点可以根据需要对匹配节点值后的数据流数据做二次命令 解析,以做功能扩展。
全文摘要
采用节点模式的高速环形总线协议,协议包括总线主控制器,总线节点适配器,可变化的总线节点数目,环形结构总线构成,以及可扩展的总线命令。本发明可用于集成电路芯片中各个模块的控制和数据总线的实现,以及电路板级各个芯片的控制和数据交换。
文档编号G06F13/37GK101872331SQ20091004968
公开日2010年10月27日 申请日期2009年4月21日 优先权日2009年4月21日
发明者不公告发明人 申请人:上海威璞电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1