CN116938631A - 配置总线生成方法、***、存储介质及电子设备 - Google Patents
配置总线生成方法、***、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116938631A CN116938631A CN202311208623.3A CN202311208623A CN116938631A CN 116938631 A CN116938631 A CN 116938631A CN 202311208623 A CN202311208623 A CN 202311208623A CN 116938631 A CN116938631 A CN 116938631A
- Authority
- CN
- China
- Prior art keywords
- signal
- slave
- signals
- terminal device
- slave terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 230000005540 biological transmission Effects 0.000 claims abstract description 120
- 230000004044 response Effects 0.000 claims abstract description 93
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 abstract description 3
- 239000013598 vector Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000004048 modification Effects 0.000 description 13
- 238000012986 modification Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 102000015779 HDL Lipoproteins Human genes 0.000 description 4
- 108010010234 HDL Lipoproteins Proteins 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供一种配置总线生成方法、***、存储介质及电子设备,该方法包括:将主端设备的有效状态信号置为低,获取总线当前有效传输的地址,对地址进行解码,获得对应的从端设备作为目标设备;将各从端设备的片选信号与主端设备的使能信号或者选择信号进行与运算,对应生成各从端设备的使能信号或者选择信号;将各从端设备的片选信号同各从端设备的有效状态ready信号进行线与或者线或运算,对应获得主端设备的有效状态ready信号;将各从端设备的片选信号同各从端设备的响应信号进行逐bit位的线与或者线或运算,对应获得主端设备的响应信号。本申请对于从端设备增减带来的配置总线变化可以灵活使用。
Description
技术领域
本申请属于通信总线技术领域,涉及一种总线通信的配置方法,特别是涉及一种配置总线生成方法、***、存储介质及电子设备。
背景技术
现有方案中实现配置总线不采用单独形式存在,而是打包采用片上互联方法来进行所有片上所有***总线的生成。现有的总线生成方法应用在从设备的配置总线这个用途中时,从设备数量接口修改将导致***总线交换模块也会被要求修改,而***总线交换模块是牵一发动全身的模块,势必会影响到整个***,例如:从设备数量的增加会需要重新配置总线交换模块增加端口来适应。
发明内容
本申请提供一种配置总线生成方法、***、存储介质及电子设备,适用于任意数量从设备的配置总线,不受从设备数量增减的限制。
第一方面,本申请提供一种配置总线生成方法,所述配置总线生成方法包括:
将主端设备的有效状态ready信号置为低,进行传输反压;其中,所述主端设备与至少2个从端设备通过总线通信相连;
获取所述总线当前有效传输的地址,对所述地址进行解码,获得与所述地址对应的从端设备作为目标设备;
将所述目标设备的片选信号置位,未被选择的其他从端设备的片选信号不置位;
将各从端设备的片选信号与当前传输通道的使能信号或者选择信号进行与运算,对应生成各从端设备的使能信号或者选择信号;
将各从端设备的片选信号同各从端设备的有效状态ready信号进行线与或者线或运算,对应获得主端设备的有效状态ready信号;
将各从端设备的片选信号同各从端设备的响应信号进行逐bit位的线与或者线或运算,对应获得主端设备的响应信号。
本申请中,通过对主端设备的有效状态ready信号置为低进行传输反压,测得占用总线当前传输通道的目标设备,为目标设备和其他从端设备置位设置片选信号,利用各从端设备的片选信号和其他从端设备的使能信号、选择信号、有效状态信号、响应信号等信号依次进行逻辑运算,获得各从端设备对应的使能信号、选择信号、有效状态信号、响应信号的置位设置,从而实现了从端设备配置总线的自动生成,对于从端设备增减带来的配置总线变化可以灵活使用,可以有效减少对总线交换模块频繁修改生成或其他连带的非必要修改。
在第一方面的一种实现方式中,所述总线为AXI-lite总线;所述AXI-lite总线划分为写地址通道、写数据通道、写响应通道、读地址通道和读数据通道;所述配置总线生成方法包括写传输配置方法,所述写传输配置方法包括:
将主端设备中的写地址通道的awready信号和写数据通道的wready信号置为低,进行传输反压;
当检测到写地址通道发生传输请求,即所述awvalid信号为高时,进行当前传输地址awaddr的地址译码,获得与所述当前传输地址awaddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
将主端设备中的写地址通道的awvalid信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的写地址通道的awvalid信号;
将各从端设备的写地址通道的awready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的写地址通道的awready信号;
将主端设备的写数据通道的wvalid信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的写数据通道的wvalid信号;
将各从端设备的写数据通道的wready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的写响应通道的wready信号;
将主端设备的写响应通道的bready信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的写响应通道的bready信号;
将各从端设备的写响应通道的bvalid信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的写响应通道的bvalid信号;
将各从端设备的写响应通道的bresp信号和各从端设备的片选信号逐bit位进行线与或者线或操作,获得主端设备当前传输的写响应通道的bresp信号。
在第一方面的一种实现方式中,所述配置总线生成方法还包括读传输配置方法,所述读传输配置方法包括:
将主端设备中的写地址通道的arready信号置为低,进行传输反压;
当检测到读地址通道发生传输请求,即所述arvalid信号为高时,进行当前传输地址araddr的地址译码,获得与所述当前传输地址awaddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
将主端设备的读地址通道的arvalid信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的读地址通道的arvalid信号;
将各从端设备的读地址通道的arready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的读地址通道的arready信号;
将主端设备的读数据通道的rready信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的读数据通道的rready信号;
将各从端设备的读数据通道的rvalid信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的读数据通道的rvalid信号;
将各从端设备的读数据通道的rresp信号以及rdata信号和各从端设备的片选信号逐bit位进行线与或者线或操作,获得主端设备当前传输的读数据通道的rresp信号以及rdata信号。
在第一方面的一种实现方式中,所述总线为APB4总线;所述APB4总线划分为读写控制地址和写数据通道(psel、penable、pwrite、paddr、pwdata、pwstrb)及读写响应和读数据通道(pready、perror、prdata);所述配置总线生成方法包括写传输配置方法,所述写传输配置方法包括:
将主端设备中的读写响应和读数据通道的pready信号置为低,进行传输反压;
当检测到读写控制地址和写数据通道发生传输请求,即所述psel信号为高时,进行当前传输地址paddr的地址译码,获得与所述当前传输地址paddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
将主端设备中的读写控制地址和写数据通道的psel信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的读写控制地址和写数据通道的psel信号;
将各从端设备的pready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的pready信号;
将各从端设备的perror信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的perror信号。
在第一方面的一种实现方式中,所述配置总线生成方法还包括读传输配置方法,所述读传输配置方法包括:
将主端设备中的读写控制地址和写数据通道的pready信号置为低,进行传输反压;
当检测到读地址通道发生传输请求,即所述psel信号为高时,进行当前传输地址paddr的地址译码,获得与所述当前传输地址paddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
将主端设备的读地址通道的psel信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的psel信号;
将各从端设备的pready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的pready信号;
将各从端设备的perror信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的perror信号;
将各从端设备的prdata信号和各从端设备的片选信号逐bit位进行线与或者线或操作,获得主端设备当前传输的prdata信号。
第二方面,本申请提供一种配置总线生成***,所述配置总线生成***包括:
主端设备;
至少2个从端设备,通过总线与所述主端设备通信相连;
控制模块,与所述总线和所述从端设备分别通信相连,用于配置各从端设备被总线传输所需的信号,包括:
将主端设备的有效状态ready信号置为低,进行传输反压;其中,所述主端设备与至少2个从端设备通过总线通信相连;
获取所述总线当前有效传输的地址,对所述地址进行解码,获得与所述地址对应的从端设备作为目标设备;
将所述目标设备的片选信号置位,未被选择的其他从端设备的片选信号不置位;
将各从端设备的片选信号与主端设备的使能信号或者选择信号进行与运算,对应生成各从端设备的使能信号或者选择信号;
将各从端设备的片选信号同各从端设备的有效状态ready信号进行线与或者线或运算,对应获得主端设备的有效状态ready信号;
将各从端设备的片选信号同各从端设备的响应信号进行逐bit位的线与或者线或运算,对应获得主端设备所需的响应信号。
第三方面,本申请提供一种电子设备,所述电子设备包括:存储器,存储有计算机程序; 处理器,与所述存储器通信相连,调用执行所述计算机程序时实现上述任一项所述的配置总线生成方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的配置总线生成方法。
如上所述,本申请所述的配置总线生成方法、***、存储介质及电子设备,具有以下有益效果:
本申请通过对主端设备的有效状态ready信号置为低进行传输反压,测得占用总线当前传输通道的目标设备,为目标设备和其他从端设备置位设置片选信号,利用各从端设备的片选信号和其他从端设备的使能信号、选择信号、有效状态信号、响应信号等信号依次进行逻辑运算,获得各从端设备对应的使能信号、选择信号、有效状态信号、响应信号的置位设置,从而实现了从端设备配置总线的自动生成,对于从端设备增减带来的配置总线变化可以灵活使用,可以有效减少对总线交换模块频繁修改生成或其他连带的非必要修改。
附图说明
图1显示为本申请实施例所述的配置总线生成方法的一种应用场景示意图。
图2显示为本申请实施例所述的配置总线生成方法的一种实现流程示意图。
图3A显示为本申请实施例所述的配置总线生成方法的步骤S206的一种实现流程示意图。
图3B显示为本申请实施例所述的配置总线生成方法的步骤S206的另一种实现流程示意图。
图4A显示为共享Bus总线的互联方式示意图。
图4B显示为Crossbar互联方式示意图。
图4C显示为NoC的环形(Ring)互联方式示意图。
图4D显示为NoC的网络(Mesh)互联方式示意图。
图5A显示为本申请实施例所述的AXI-lite总线的写传输配置方法的一种实现流程示意图。
图5B显示为本申请实施例所述的AXI-lite总线的读传输配置方法的一种实现流程示意图。
图5C~图5E显示为本申请实施例所述的从端设备到主端设备的各类信号通道配置的逻辑示意图。
图6A和图6B分别显示为AXI-lite总线的写传输配置方法的步骤S509的一种实现流程示意图。
图7A和图7B分别显示为AXI-lite总线的读传输配置方法的步骤S517的一种实现流程示意图。
图8A显示为本申请实施例所述的APB4总线的写传输配置方法的一种实现流程示意图。
图8B显示为本申请实施例所述的APB4总线的读传输配置方法的一种实现流程示意图。
图9显示为本申请实施例所述的配置总线生成***的一种实现结构示意图。
图10显示为本申请实施例所述的电子设备的一种实现结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
SOC(System-on-a-Chip,SoC)称为***级芯片,也有称片上***,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整***并有嵌入软件的全部内容。
NoC(Network on chip):片上网络。
Crossbar:交叉开关矩阵或纵横式交换矩阵。
APB(Advanced Peripheral Bus)高级***总线,主要用于低带宽的周边外设之间的连接,例如UART、I2C等。
AHB(Advanced High Performance Bus)高级高性能总线,主要用于高性能模块(如CPU、DMA和DSP等)之间的连接。
AHB-Lite:AHB总线协议的一个子集,只支持单一总线主设备。
AXI(Advanced eXtensible Interface)高级扩展接口,是一种面向高性能、高带宽、低延迟的片内总线。
AXI-Lite:AXI简化版的AXI4接口,用于低吞吐率存储器映射的通信。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述。
本申请以下实施例提供了配置总线生成方法、***、存储介质及电子设备,应用于包括主端设备和至少2个从端设备通过总线通信相连的场景中,但不限于本实施例列举的此场景。
如图1所示,本实施例提供一种配置总线生成方法的应用场景,具体包括:主端设备100、从端设备200、总线300和配置总线控制器400;所述主端设备100与至少2个从端设备200通过总线300通信相连;所述配置总线控制器400与所述总线300和所述从端设备200通信相连,用于为从端设备200配置总线,实现从端设备200接入总线300的通信***或退出总线300的通信***。
如图2所示,本实施例提供一种配置总线生成方法,该方法可以由所述配置总线控制器400实现,也可以由其他单个或多个硬件主体协作实现,具体实现主体可根据实际需要进行设置,本申请的保护范围不限于本实施例列举的执行主体。所述配置总线生成方法包括步骤S201~ S206,具体如下所述:
S201,将主端设备的有效状态ready信号置为低,进行传输反压;其中,所述主端设备与至少2个从端设备通过总线通信相连。
例如:将主端设备M的有效状态ready信号置为低,主端设备M与从端设备A、从端设备B、从端设备C可以通过总线通信相连。
S202,获取所述总线当前有效传输的地址,对所述地址进行解码,获得与所述地址对应的从端设备作为目标设备。
例如:设获得地址对应的从端设备A作为目标设备。
S203,将所述目标设备的片选信号置位,未被选择的其他从端设备的片选信号不置位。
例如:将从端设备A的片选信号置位,从端设备B和从端设备C的片选信号不置位。本申请中除特别说明之处以外,“置位”即表示为高,“不置位”即表示为低。
S204,将各从端设备的片选信号与主端设备的使能信号或者选择信号进行与运算,对应生成各从端设备的使能信号或者选择信号。
例如:将从端设备A的片选信号与主端设备M的使能信号或者选择信号进行与运算,生成从端设备A的使能信号或者选择信号;因从端设备A的片选信号置位,故而从端设备A的使能信号或者选择信号为高。
将从端设备B的片选信号与主端设备M的使能信号或者选择信号进行与运算,生成从端设备B的使能信号或者选择信号;因从端设备B的片选信号不置位,故而从端设备B的使能信号或者选择信号为低。
将从端设备C的片选信号与主端设备M的使能信号或者选择信号进行与运算,生成从端设备C的使能信号或者选择信号。因从端设备C的片选信号不置位,故而从端设备C的使能信号或者选择信号为低。
S205,将各从端设备的片选信号同各从端设备的有效状态ready信号进行线与或者线或运算,对应获得主端设备的有效状态ready信号。
需要说明的是,所述主端设备的有效状态ready信号来自选中的从端设备。
例如:将从端设备A的片选信号同从端设备A的有效状态ready信号进行线与或者线或运算,获得主端设备M的有效状态ready信号;因从端设备A的片选信号置位,故而从端设备A的使能信号或者选择信号为高。
将从端设备B的片选信号同从端设备B的有效状态ready信号进行线与或者线或运算,获得主端设备M的有效状态ready信号;因从端设备B的片选信号不置位,故而从端设备A的使能信号或者选择信号为低。
将从端设备C的片选信号同从端设备C的有效状态ready信号进行线与或者线或运算,获得主端设备M的有效状态ready信号;因从端设备C的片选信号不置位,故而从端设备C的使能信号或者选择信号为低。
S206,将各从端设备的片选信号同各从端设备(或对应的从端设备)的响应信号进行逐bit位的线与或者线或运算,对应获得各从端设备被所述总线传输所需的响应信号。
需要说明的是,所述主端设备的响应信号来自选中的从端设备。
例如:将从端设备A的片选信号同从端设备A的响应信号进行逐bit位的线与或者线或运算,获得从端设备A被所述总线传输所需的响应信号。因从端设备A的片选信号置位,故而从端设备A的响应信号被总线传输。
将从端设备B的片选信号同从端设备B的响应信号进行逐bit位的线与或者线或运算,获得从端设备B被所述总线传输所需的响应信号。因从端设备B的片选信号不置位,故而从端设备B的响应信号不被总线传输。
将从端设备C的片选信号同从端设备C的响应信号进行逐bit位的线与或者线或运算,获得从端设备C被所述总线传输所需的响应信号。因从端设备C的片选信号不置位,故而从端设备C的响应信号不被总线传输。
需要说明的是,上述线与或者线或运算是指“线与运算”或者“线或运算”,其中,“线与运算”即线与逻辑运算,“线或运算”即线或逻辑运算。
线与逻辑,是指多个输出信号相连接,以实现数字电路中“相与”的功能,它们中的任何一路信号为低电平时将输出低。
线或逻辑,是指多个输出信号相连接,以实现数字电路中“相或”的功能,它们中的任何一路信号为高电平时将输出高。
与运算,是指进行运算的两个数据,按二进制位进行“与”运算。规则为:0&0=0;0&1=0;1&0=0;1&1=1;即:两位同时为1,结果才为1,否则为0。
如图3A所示,于本申请的一种实现方式中,步骤S206中,将各从端设备的片选信号同各从端设备的响应信号进行逐bit位的线与运算,包括步骤S2061a~ S2063a。
S2061a,预设一存储器类型的数组结构;
S2062a,对所述数组结构各行列的bit位同各从端设备的片选信号和各从端设备的响应信号进行与运算操作,获得第一存储数组;
S2063a,对所述第一存储数组的每列bit位进行或运算操作,获得主端设备所需的响应信号。
同理,类似地,于本申请的一种实现方式中,将各从端设备的片选信号同各从端设备的有效状态ready信号进行逐bit位的线与运算,包括步骤:预设一存储器类型的数组结构;对所述数组结构各行列的bit位同各从端设备的片选信号和各从端设备的有效状态ready信号进行与运算操作,获得第一存储数组;对所述第一存储数组的每列bit位进行或运算操作,获得主端设备所需的有效状态ready信号。
如图3B所示,于本申请的一种实现方式中,步骤S206中,将各从端设备的片选信号同各从端设备的响应信号进行逐bit位的线或运算,包括步骤S2061b~ S2063b。
S2061b,预设一存储器类型的数组结构;
S2062b,对所述数组结构各行列的bit位同各从端设备的取反片选信号和各从端设备的响应信号进行或运算操作,获得第二存储数组;
S2063b,对所述第二存储数组的每列bit位进行与运算操作,获得主端设备所需的响应信号。
同理,类似地,于本申请的一种实现方式中,将各从端设备的片选信号同各从端设备的有效状态ready信号进行逐bit位的线或运算,包括步骤:预设一存储器类型的数组结构;对所述数组结构各行列的bit位同各从端设备的取反片选信号和各从端设备的有效状态ready信号进行或运算操作,获得第二存储数组;对所述第二存储数组的每列bit位进行与运算操作,获得主端设备所需的有效状态ready信号。
于本申请的一种实现方式中,利用Verilog实现存储器类型的数组结构。
Verilog 是Verilog HDL的别名,是一种硬件描述语言(HDL:HardwareDescription Language),以文本形式来描述数字***硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑***所完成的逻辑功能。Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,两种HDL均为IEEE标准。
Verilog最常用的2种数据类型就是线网(wire)与寄存器(reg),其余类型可以理解为这两种数据类型的扩展或辅助。wire类型表示硬件单元之间的物理连线,由其连接的器件输出端连续驱动。reg类型用来表示存储单元,它会保持数据原有的值,直到被改写。其中当位宽大于1时,wire或reg即可声明为向量的形式。对于向量,我们可以指定某一位或若干相邻位作为其他逻辑使用。
Verilog支持可变的向量域选择,例如:
Verilog支持可变的向量域选择,例如:
reg[31:0] data;
reg[3:0] byte [7:0];//数组变量,后续介绍
genvar j; //变量,用来辅助生成数字电路
generate
for (j=0;j<=3;j=j+1)
begin
byte[j] = data[(j+1)*8-1:j*8];
//把data[7:0]…data[31:24]依次赋值给byte[0][7:0]…byte[3][7:0]
end
endgenerate
本申请可以结合可变的向量域选择以及线与或者线或运算来实现多路配置总线的生成。换言之,上述步骤S201~ S206概括论述即为:
首先,将主端设备到从端设备的有效状态ready信号进行置低,进行传输反压,获取当前总线有效传输的地址,对其(即该当前总线有效传输的地址)进行解码,对当前传输的地址对应的目标设备片选信号置位赋值为高,没有被选择的其它目标设备(即从端设备)的片选信号不置位赋值为低;
然后,将各目标设备的片选信号与当前传输通道的使能信号或者选择信号进行与运算,产生目标设备的各自的使能或者选择信号;
接着,使用各目标设备的片选信号同所有目标设备有效状态(ready)信号进行线与或者线或运算,获得被当前总线传输所需的有效状态(ready)信号;
而后,使用各目标设备的片选信号同所有目标设备响应信号进行逐bit位的线与或者线或运算,获得被当前总线传输所需的响应信号;
其中,逐bit运算操作采用可变向量域选择来实现,包括:
先定义一个利用存储器类型的数组结构。
然后,线与操作采用生成的方式对该数组各行列的bit位同各从端设备的片选信号和各从端设备的响应信号进行与运算操作,接着对该存储器数组的每列bit位进行或运算操作,得到主端设备所需的响应信号。
也可以,线或操作采用生成的方式对该数组各行列的bit位同各从端设备的取反片选信号和各从端设备的响应信号进行或运算操作,接着对该存储器数组的每列bit位进行与运算操作,得到主端设备所需的响应信号;
最后,对各目标设备读返回的数据逐bit位同各目标设备的片选信号进行线与或者线或运算,从而使主端设备获得选中的从端设备的读返回数据。
本申请实施例所述的配置总线生成方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本申请的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本申请的保护范围内。
本申请通过对主端设备的有效状态ready信号置为低进行传输反压,测得占用总线当前传输通道的目标设备,为目标设备和其他从端设备置位设置片选信号,利用各从端设备的片选信号和其他从端设备的使能信号、选择信号、有效状态信号、响应信号等信号依次进行逻辑运算,获得各从端设备对应的使能信号、选择信号、有效状态信号、响应信号的置位设置,从而实现了从端设备配置总线的自动生成,对于从端设备增减带来的配置总线变化可以灵活使用,可以有效减少对总线交换模块频繁修改生成或其他连带的非必要修改。
如图4A所示,其显示了共享Bus总线的互联方式示意图,所有数据主从模块都连接在同一个互联矩阵上,当有多个模块同时需要使用总线传输数据时,则采用仲裁的方法来确定谁能使用总线,在仲裁中获得总线使用权限的设备则在完成数据读写后释放总线。
如图4B所示,其显示了Crossbar互联方式示意图。总线互联同时只能有一对主从设备使用总线传输数据,因此对于需要较大带宽的架构来说不一定够用。除此之外,在一些***架构中,一个主设备的数据往往会需要同时广播给多个从设备。在这种情况下,Crossbar互联方式就是更好的选择。Crossbar的主要特性是可以同时实现多个主从设备的数据传输,同时能实现一个主设备对多个从设备进行数据广播。然而,Crossbar的主要问题是互联线很复杂,给数字后端设计带来了较大的挑战。
如图4C所示,其显示了NoC的环形(Ring)互联方式示意图;如图4D所示,其显示了现有NoC的网络(Mesh)互联方式示意图;其中,RS的全拼为Router Switch,Link表述连线,NI表示Network Interface。NoC是一种可扩展性更好的设计。NoC从计算机网络中获取了灵感,在芯片上也实现了一个类似的网络。在NoC架构中,每一个模块都连接到片上路由器,而模块传输的数据则是形成了一个个数据包,通过路由器去送达数据包的目标模块。相比于图4A所示的Bus总线和图4B所示的Crossbar方式,图4C所示的NoC的可扩展性更好。
图4A~图4D所示方式应用在从设备的配置总线这个用途中时,从设备数量接口修改将导致***总线交换模块也会被要求修改,而***总线交换模块是牵一发动全身的模块,势必会影响到整个***。比如从设备数量的增加会重新配置总线交换模块增加端口来适应。
本申请可以基于可变向量域选择的方法来实现配置总线信号位的控制生成,采用线与的方法或者线或的方法来实现多对一的逻辑信号运算,实现了从端设备配置总线的自动生成,对于从端设备增减带来的配置总线变化可以灵活使用,可以有效减少对总线交换模块频繁修改生成或其他连带的非必要修改。
本申请可适用的配置总线可以是AXI-Lite、AHB-Lite、APB或者其它自定义的配置总线等。本申请的保护范围不受本实施例列举的几种总线类型的限制,凡是根据本申请的原理结合现有技术所完成的总线类型的匹配适用,都包括在本申请涵盖的范围内。
如图5A所示,于本申请的一实施例中,所述总线为AXI-lite总线;所述AXI-lite总线划分为写地址通道、写数据通道、写响应通道、读地址通道和读数据通道;所述配置总线生成方法包括写传输配置方法,所述写传输配置方法包括步骤S501~ S509。
S501,将主端设备中的写地址通道的awready信号和写数据通道的wready信号置为低,进行传输反压;
S502,当检测到写地址通道发生传输请求,即所述awvalid信号为高时,进行当前传输地址awaddr的地址译码,获得与所述当前传输地址awaddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
S503,将主端设备中的写地址通道的awvalid信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的写地址通道的awvalid信号;
S504,将各从端设备的写地址通道的awready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的写地址通道的awready信号;
S505,将主端设备的写数据通道的wvalid信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的写地址通道的wvalid信号;
S506,将各从端设备的写地址通道的wready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的写地址通道的wready信号;
S507,将主端设备的写响应通道的bready信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的写响应通道的bready信号;
S508,将各从端设备的写响应通道的bvalid信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的写响应通道的bvalid信号;
S509,将各从端设备的写响应通道的bresp信号(2位的向量信号)和各从端设备的片选信号逐bit位进行线与或者线或操作,获得主端设备当前传输的写响应通道的bresp信号。
本申请可以结合可变的向量域选择以及线与或者线或运算来实现多路配置总线的生成。换言之,上述步骤S201~ S206概括论述即为:
如图6A所示,于本申请的一种实现方式中,步骤S509中,将各从端设备的bresp信号(2位的向量信号)和各从端设备的片选信号逐bit位进行线与操作,包括步骤S5091a~S5093a。
S5091a,预设一存储器类型的数组结构;
S5092a,对所述数组结构各行列的bit位同各从端设备的片选信号和各从端设备的bresp信号进行与运算操作,获得第三存储数组;
S5093a,对所述第三存储数组的每列bit位进行或运算操作,获得主端设备所需的bresp信号。
如图6B所示,于本申请的一种实现方式中,步骤S509中,将各从端设备的bresp信号(2位的向量信号)和各从端设备的片选信号逐bit位进行线或操作,包括步骤S5091b~S5093b。
S5091b,预设一存储器类型的数组结构;
S5092b,对所述数组结构各行列的bit位同各从端设备的取反片选信号和各从端设备的bresp信号进行或运算操作,获得第四存储数组;
S5093b,对所述第四存储数组的每列bit位进行与运算操作,获得主端设备所需的bresp信号。
如图5B所示,于本申请的一实施例中,所述配置总线生成方法还包括读传输配置方法,所述读传输配置方法包括步骤S511~ S517。
S511,将主端设备中的写地址通道的arready信号置为低,进行传输反压;
S512,当检测到读地址通道发生传输请求,即所述arvalid信号为高时,进行当前传输地址araddr的地址译码,获得与所述当前传输地址awaddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
S513,将主端设备的读地址通道的arvalid信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的读地址通道的arvalid信号;
S514,将各从端设备的读地址通道的arready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的读地址通道的arready信号;
S515,将主端设备的读数据通道的rready信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的读数据通道的rready信号;
S516,将各从端设备的读数据通道的rvalid信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的读数据通道的rvalid信号;
S517,将各从端设备的读数据通道的rresp信号以及rdata信号和各从端设备的片选信号逐bit位进行线与或者线或操作,获得主端设备当前传输的读数据通道的rresp信号以及rdata信号。
如图7A所示,于本申请的一种实现方式中,步骤S517中,将各从端设备的rresp信号以及rdata信号和各从端设备的片选信号逐比特(bit)位进行线与操作,包括步骤S5171a~ S5173a。
S5171a,预设一存储器类型的数组结构;
S5172a,对所述数组结构各行列的bit位同各从端设备的片选信号和各从端设备的rresp信号以及rdata信号进行与运算操作,获得第五存储数组;
S5173a,对所述第五存储数组的每列bit位进行或运算操作,获得主端设备所需的rresp信号以及rdata信号。
如图7B所示,于本申请的一种实现方式中,步骤S517中,将各从端设备的rresp信号以及rdata信号和各从端设备的片选信号逐bit位进行线或操作,包括步骤S5171b~S5173b。
S5171b,预设一存储器类型的数组结构;
S5172b,对所述数组结构各行列的bit位同各从端设备的取反片选信号和各从端设备的rresp信号以及rdata信号进行或运算操作,获得第六存储数组;
S5173b,对所述第六存储数组的每列bit位进行与运算操作,获得主端设备所需的rresp信号以及rdata信号。
图5A和图5B是以AXI-lite总线为例,对本申请所述的配置总线生成方法的具体实现过程做进一步详细说明。参见图5C~5E所示的示意图,具体包括:AXI-lite总线可以划分为5个操作通道,分别为:写地址通道(awvalid、awready、awaddr),写数据通道(wvalid、wready、wdata、wstrb)、写响应通道(bvalid、bready、bresp),读地址通道(arvalid、arready、araddr),读数据通道(rvalid、rready、rdata、rresp),配置目标设备(即从端设备)设为4个。本申请适用于配置任意数目的目标设备。
当写传输发生时,主要使用写地址通道、写数据通道、写响应通道,其中写地址通道和写数据通道的数据流是主端设备到从端设备,写响应通道数据流是从端设备到主端设备。具体而言包括如下步骤:
第一步,将主端设备中的写地址通道的awready信号和写数据通道的wready信号置为低,进行传输反压,当检测到写地址通道发生传输请求,即awvalid信号为高时,进行当前传输地址awaddr的地址译码,产生各从端设备的片选信号(cs0、cs1、cs2、cs3)的控制信号,如果当前地址落在从端设备0的地址范围之内,那么cs0片选信号置高,其它片选信号置低;其中,写地址通道的awready信号和写数据通道的wready信号即为主端设备的有效状态ready信号。
第二步,主端设备的awvalid信号需要和各从端设备的片选信号进行与操作,得到各从端设备当前传输的awvalid信号;其中,主端设备的awvalid信号即为当前传输通道的使能信号,各从端设备当前传输的awvalid信号即为各从端设备的使能信号。
第三步,各从端设备的awready信号需要和各从端设备的片选信号进行线与或者线或操作,得到主端设备当前传输的awready信号;其中,各从端设备的awready信号即为有效状态ready信号。
第四步,主端设备的wvalid信号需要和各从端设备的片选信号进行与操作,得到各从端设备当前传输的wvalid信号;
第五步,各从端设备的wready信号需要和各从端设备的片选信号进行线与或者线或操作,得到主端设备当前传输的wready信号;
第六步,主端设备的bready信号需要和各从端设备的片选信号进行与操作,得到各从端设备当前传输的bready信号;
第七步,各从端设备的bvalid信号需要和各从端设备的片选信号进行线与或者线或操作,得到主端设备当前传输的bvalid信号;
第八步,各从端设备的bresp信号(2位的向量信号)需要和各从端设备的片选信号逐bit位进行线与或者线或操作,得到主端设备当前传输的bresp信号。
其中,逐bit位进行线与或者线或操作采用可变向量域选择来实现,先定义一个利用存储器类型的数组结构,然后线与操作采用生成的方式对该数组各行列的bit位同各从端设备的片选信号和各从端设备的bresp信号进行与运算操作,接着对该存储器数组的每列bit位进行或运算操作,得到主端设备所需的bresp信号。线或操作采用生成的方式对该数组各行列的bit位同各从端设备的取反片选信号和各从端设备的bresp信号进行或运算操作,接着对该存储器数组的每列bit位进行与运算操作,得到主端设备所需的bresp信号。
当读传输发生时,主要使用读地址通道、读数据通道,其中读地址通道的数据流是主端设备到从端设备,读数据通道数据流是从端设备到主端设备。具体而言包括如下步骤:
第一步,将主端设备中的写地址通道arready置为低,进行传输反压,当检测到读地址通道发生传输请求,即arvalid信号为高时,进行当前传输地址araddr的地址译码,产生各从端设备的片选信号(cs0、cs1、cs2、cs3)的控制信号,如果当前地址落在从端设备0的地址范围之内,那么cs0片选信号置高,其它片选信号置低;
第二步,主端设备的arvalid信号需要和各从端设备的片选信号进行与操作,得到各从端设备当前传输的arvalid信号;
第三步,各从端设备的arready信号需要和各从端设备的片选信号进行线与或者线或操作,得到主端设备当前传输的arready信号;
第四步,主端设备的rready信号需要和各从端设备的片选信号进行与操作,得到各从端设备当前传输的rready信号;
第五步,各从端设备的rvalid信号需要和各从端设备的片选信号进行线与或者线或操作,得到主端设备当前传输的rvalid信号;
第六步,各从端设备的rresp信号以及rdata信号需要和各从端设备的片选信号逐bit位进行线与或者线或操作,得到主端设备当前传输的rresp信号以及rdata信号。
其中,逐bit位进行线与或者线或操作采用可变向量域选择来实现,先定义一个利用存储器类型的数组结构,然后线与操作采用生成的方式对该数组各行列的bit位同各从端设备的片选信号和各从端设备的rresp信号以及rdata信号进行与运算操作,接着对该存储器数组的每列bit位进行或运算操作,得到主端设备所需的rresp信号以及rdata信号。线或操作采用生成的方式对该数组各行列的bit位同各从端设备的取反片选信号和各从端设备的rresp信号以及rdata信号进行或运算操作,接着对该存储器数组的每列bit位进行与运算操作,得到主端设备所需的rresp信号以及rdata信号。
于本申请的一实施例中,如果设计要求增加AXI Lite接口的一路I2C从设备,只需要简单修改AXI Lite配置总线生成模块,提供该从设备所需要的地址信息,就可以快速的集成到整个设计中,以较小的代价灵活的扩展更多的外部设备,提高总线***的可扩展性和易用性。
例如:在实际应用中,只需要例化模块时,通过模块parameter设置通道数量,各通道起始地址,各通道截止地址来实现,各从端设备的读写操作取决于其所在的地址区间,比如一个主端设备对应3个从端设备(A、B、C),3个从端设备对应的地址空间为:
A:0x40000000--0x4000ffff
B:0x40010000--0x4001ffff
C:0x40020000--0x4002ffff
当主端设备发起访问地址为0x40000200,该地址落到了从端设备A的地址段,那么从端设备A的片选信号将被选中置位,通过线与或者线或逻辑运算后,从端设备A的总线通道将和主端设备的总线通道互连上(5个通道,主端设备的ready来自从端设备A的ready,从端设备A的valid来自主端设备valid等),其它从端设备B、从端设备C的通道由于片选信号没有被置位,所以其总线就不会和主端设备的总线信号互连上。
当从端设备地址增加到4个时,只需分配从端设备D的新增地址段为:
D:0x40030000--0x4003ffff
在例化本模块时,只需要修改通道数量,各通道起始地址,各通道截止地址,只需访问地址变化就可以切换到不同的从端设备。
如图8A所示,于本申请的一实施例中,所述总线为APB4总线;所述APB4总线划分为读写控制地址和写数据通道(psel、penable、pwrite、paddr、pwdata、pwstrb)及读写响应和读数据通道(pready、perror、prdata);其中,读写控制地址和写数据通道包括读写控制地址通道和写数据通道,读写地址是共用的,通过其中的pwrite信号的状态区分读写操作;读写响应和读数据通道包括响应通道和读数据通道;所述配置总线生成方法包括写传输配置方法,所述写传输配置方法包括步骤S801~ S805。
S801,将主端设备中的读写响应和读数据通道的pready信号置为低,进行传输反压;
S802,当检测到读写控制地址和写数据通道发生传输请求,即所述psel信号为高时,进行当前传输地址paddr的地址译码,获得与所述当前传输地址paddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
S803,将主端设备中的读写控制地址和写数据通道的psel信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的读写控制地址和写数据通道的psel信号;
S804,将各从端设备的pready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的pready信号;
S805,将各从端设备的perror信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的perror信号。
如图8B所示,于本申请的一实施例中,所述配置总线生成方法还包括读传输配置方法,所述读传输配置方法包括步骤S811~ S816。
S811,将主端设备中的读写响应和读数据通道的pready信号置为低,进行传输反压;
S812,当检测到读写控制地址和写数据通道发生传输请求,即所述psel信号为高时,进行当前传输地址paddr的地址译码,获得与所述当前传输地址paddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
S813,将主端设备的读地址通道的psel信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的psel信号;
S814,将各从端设备的pready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的pready信号;
S815,将各从端设备的perror信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的perror信号;
S816,将各从端设备的prdata信号和各从端设备的片选信号逐bit位进行线与或者线或操作,获得主端设备当前传输的prdata信号。
图8A和图8B是以APB4总线为例,对本申请所述的配置总线生成方法的具体实现过程做进一步详细说明。具体包括:APB4总线可以划分为2个方向的通道,分别为:读写控制地址和写数据通道(psel、penable、pwrite、paddr、pwdata、pwstrb),读写响应和读数据通道(pready、perror、prdata),配置目标设备(即从端设备)为4个。本申请适用于配置任意数目的目标设备。
当写传输发生时,主要使用读写控制地址和写数据通道,以及读写响应和读数据中的响应通道,其中读写控制地址和写数据通道的数据流是由主端设备到从端设备,响应通道的数据流是由从端设备到主端设备。具体而言包括如下步骤:
第一步,将主端设备中的写地址通道pready置为低,进行传输反压,其它penable、pwrite、paddr、pwdata、pwstrb共用信号进行主端设备到从端设备的直通,当检测到读地址通道发生传输请求,即psel信号为高时,进行当前传输地址paddr的地址译码,产生各从端设备的片选信号(cs0、cs1、cs2、cs3)的控制信号,如果当前地址落在从端设备1的地址范围之内,那么cs1片选信号置高,其它片选信号置低;
第二步,主端设备的psel信号需要和各从端设备的片选信号进行与操作,得到各从端设备当前传输的psel信号;
第三步,各从端设备的pready信号需要和各从端设备的片选信号进行线与或者线或操作,得到主端设备当前传输的pready信号;
第四步,各从端设备的perror信号需要和各从端设备的片选信号进行线与或者线或操作,得到主端设备当前传输的perror信号。
当读传输发生时,主要使用读写控制地址和写数据通道中的读写控制地址通道(读不需要该通道的写数据部分,只需要读写控制地址部分),以及读写响应和读数据通道中的响应通道,其中读写控制地址通道的数据流是主端设备到从端设备,响应通道的数据流是从端设备到主端设备。具体而言包括如下步骤:
第一步,将主端设备中的写地址通道pready置为低,进行传输反压,其它penable、pwrite、paddr、pwdata、pwstrb共用信号进行主端设备到从端设备的直通,当检测到读地址通道发生传输请求,即psel信号为高时,进行当前传输地址paddr的地址译码,产生各从端设备的片选信号(cs0、cs1、cs2、cs3)的控制信号,如果当前地址落在从端设备1的地址范围之内,那么cs1片选信号置高,其它片选信号置低;
第二步,主端设备的psel信号需要和各从端设备的片选信号进行与操作,得到各从端设备当前传输的psel信号;
第三步,各从端设备的pready信号需要和各从端设备的片选信号进行线与或者线或操作,得到主端设备当前传输的pready信号;
第四步,各从端设备的perror信号需要和各从端设备的片选信号进行线与或者线或操作,得到主端设备当前传输的perror信号;
第四步,各从端设备的prdata信号需要和各从端设备的片选信号逐bit位进行线与或者线或操作,得到主端设备当前传输的prdata信号,
其中逐bit运算操作采用可变向量域选择来实现,先定义一个利用存储器类型的数组结构,然后线与操作采用生成的方式对该数组各行列的bit位同各从端设备的片选信号和各从端设备的prdata信号进行与运算操作,接着对该存储器数组的每列bit位进行或运算操作,得到主端设备所需的prdata信号,也可以线或操作采用生成的方式对该数组各行列的bit位同各从端设备的取反片选信号和各从端设备的prdata信号进行或运算操作,接着对该存储器数组的每列bit位进行与运算操作,得到主端设备所需的prdata信号。
本申请实施例还提供一种配置总线生成***,所述配置总线生成***可以实现本申请所述的配置总线生成方法,但本申请所述的配置总线生成方法的实现装置包括但不限于本实施例列举的配置总线生成***的结构,凡是根据本申请的原理所做的现有技术的结构变形和替换,都包括在本申请的保护范围内。
如图9所示,本实施例提供一种配置总线生成***,所述配置总线生成***900包括主端设备910、至少2个从端设备920、总线930和控制模块940。所述至少2个从端设备920通过总线930与所述主端设备910通信相连;所述控制模块940与所述总线930和所述从端设备920分别通信相连,用于配置各从端设备被总线传输所需的信号。
进一步,所述控制模块940将主端设备的有效状态ready信号置为低,进行传输反压;其中,所述主端设备与至少2个从端设备通过总线通信相连;所述控制模块940获取所述总线当前有效传输的地址,对所述地址进行解码,获得与所述地址对应的从端设备作为目标设备;所述控制模块940将所述目标设备的片选信号置位,未被选择的其他从端设备的片选信号不置位;所述控制模块940将各从端设备的片选信号与当前传输通道的使能信号或者选择信号进行与运算,对应生成各从端设备的使能信号或者选择信号;所述控制模块940将各从端设备的片选信号同所有从端设备的有效状态ready信号进行线与或者线或运算,对应获得各从端设备被所述总线传输所需的有效状态ready信号;所述控制模块940将各从端设备的片选信号同所有从端设备的响应信号进行逐bit位的线与或者线或运算,对应获得各从端设备被所述总线传输所需的响应信号。
如图10所示,本实施例还提供一种电子设备,所述电子设备10包括:存储器11和处理器12;所述存储器11存储有计算机程序;所述处理器12与所述存储器11通信相连,调用执行所述计算机程序时实现上述任一项所述的配置总线生成方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块/单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或单元可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块/单元可以是或者也可以不是物理上分开的,作为模块/单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块/单元来实现本申请实施例的目的。例如,在本申请各个实施例中的各功能模块/单元可以集成在一个处理模块中,也可以是各个模块/单元单独物理存在,也可以两个或两个以上模块/单元集成在一个模块/单元中。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的配置总线生成方法。
本领域普通技术人员可以理解实现上述实施例的方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(magnetic tape),软盘(floppy disk),光盘(optical disc)及其任意组合。上述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例还可以提供一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
所述计算机程序产品被计算机执行时,所述计算机执行前述方法实施例所述的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (14)
1.一种配置总线生成方法,其特征在于,所述配置总线生成方法包括:
将主端设备的有效状态ready信号置为低,进行传输反压;其中,所述主端设备与至少2个从端设备通过总线通信相连;
获取所述总线当前有效传输的地址,对所述地址进行解码,获得与所述地址对应的从端设备作为目标设备;
将所述目标设备的片选信号置位,未被选择的其他从端设备的片选信号不置位;
将各从端设备的片选信号与主端设备的使能信号或者选择信号进行与运算,对应生成各从端设备的使能信号或者选择信号;
将各从端设备的片选信号同各从端设备的有效状态ready信号进行线与或者线或运算,对应获得主端设备的有效状态ready信号;
将各从端设备的片选信号同各从端设备的响应信号进行逐bit位的线与或者线或运算,对应获得主端设备的响应信号。
2.根据权利要求1所述的配置总线生成方法,其特征在于:将各从端设备的片选信号同各从端设备的有效状态ready信号或响应信号进行逐bit位的线与运算,包括:
预设一存储器类型的数组结构;
对所述数组结构各行列的bit位同各从端设备的片选信号和各从端设备的有效状态ready信号或响应信号进行与运算操作,获得第一存储数组;
对所述第一存储数组的每列bit位进行或运算操作,获得主端设备所需的有效状态ready信号或响应信号。
3.根据权利要求1所述的配置总线生成方法,其特征在于:将各从端设备的片选信号同各从端设备的有效状态ready信号或响应信号进行逐bit位的线或运算,包括:
预设一存储器类型的数组结构;
对所述数组结构各行列的bit位同各从端设备的取反片选信号和各从端设备的有效状态ready信号或响应信号进行或运算操作,获得第二存储数组;
对所述第二存储数组的每列bit位进行与运算操作,获得主端设备所需的有效状态ready信号或响应信号。
4.根据权利要求1所述的配置总线生成方法,其特征在于:所述总线为AXI-lite总线;所述AXI-lite总线划分为写地址通道、写数据通道、写响应通道、读地址通道和读数据通道;所述配置总线生成方法包括写传输配置方法,所述写传输配置方法包括:
将主端设备中的写地址通道的awready信号和写数据通道的wready信号置为低,进行传输反压;
当检测到写地址通道发生传输请求,即所述awvalid信号为高时,进行当前传输地址awaddr的地址译码,获得与所述当前传输地址awaddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
将主端设备中的写地址通道的awvalid信号和各从端设备的片选信号进行与操作,对应生成各从端设备的写地址通道的awvalid信号;
将各从端设备的写地址通道的awready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备的写地址通道的awready信号;
将主端设备的写数据通道的wvalid信号和各从端设备的片选信号进行与操作,对应生成各从端设备的写数据通道的wvalid信号;
将各从端设备的写数据通道的wready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备的写响应通道的wready信号;
将主端设备的写响应通道的bready信号和各从端设备的片选信号进行与操作,对应生成各从端设备的写响应通道的bready信号;
将各从端设备的写响应通道的bvalid信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备的写响应通道的bvalid信号;
将各从端设备的写响应通道的bresp信号和各从端设备的片选信号逐bit位进行线与或者线或操作,获得主端设备的写响应通道的bresp信号。
5.根据权利要求4所述的配置总线生成方法,其特征在于:将各从端设备的写响应通道的bresp信号和各从端设备的片选信号逐bit位进行线与操作,包括:
预设一存储器类型的数组结构;
对所述数组结构各行列的bit位同各从端设备的片选信号和各从端设备的bresp信号进行与运算操作,获得第三存储数组;
对所述第三存储数组的每列bit位进行或运算操作,获得主端设备所需的bresp信号。
6.根据权利要求4所述的配置总线生成方法,其特征在于:将各从端设备的写响应通道的bresp信号和各从端设备的片选信号逐bit位进行线或操作,包括:
预设一存储器类型的数组结构;
对所述数组结构各行列的bit位同各从端设备的取反片选信号和各从端设备的bresp信号进行或运算操作,获得第四存储数组;
对所述第四存储数组的每列bit位进行与运算操作,获得主端设备所需的bresp信号。
7.根据权利要求4所述的配置总线生成方法,其特征在于:所述配置总线生成方法还包括读传输配置方法,所述读传输配置方法包括:
将主端设备中的写地址通道的arready信号置为低,进行传输反压;
当检测到读地址通道发生传输请求,即所述arvalid信号为高时,进行当前传输地址araddr的地址译码,获得与所述当前传输地址awaddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
将主端设备的读地址通道的arvalid信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的读地址通道的arvalid信号;
将各从端设备的读地址通道的arready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的读地址通道的arready信号;
将主端设备的读数据通道的rready信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的读数据通道的rready信号;
将各从端设备的读数据通道的rvalid信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的读数据通道的rvalid信号;
将各从端设备的读数据通道的rresp信号以及rdata信号和各从端设备的片选信号逐bit位进行线与或者线或操作,获得主端设备当前传输的读数据通道的rresp信号以及rdata信号。
8.根据权利要求7所述的配置总线生成方法,其特征在于:将各从端设备的rresp信号以及rdata信号和各从端设备的片选信号逐bit位进行线与操作,包括:
预设一存储器类型的数组结构;
对所述数组结构各行列的bit位同各从端设备的片选信号和各从端设备的rresp信号以及rdata信号进行与运算操作,获得第五存储数组;
对所述第五存储数组的每列bit位进行或运算操作,获得主端设备所需的rresp信号以及rdata信号。
9.根据权利要求7所述的配置总线生成方法,其特征在于:将各从端设备的rresp信号以及rdata信号和各从端设备的片选信号逐bit位进行线或操作,包括:
预设一存储器类型的数组结构;
对所述数组结构各行列的bit位同各从端设备的取反片选信号和各从端设备的rresp信号以及rdata信号进行或运算操作,获得第六存储数组;
对所述第六存储数组的每列bit位进行与运算操作,获得主端设备所需的rresp信号以及rdata信号。
10.根据权利要求1所述的配置总线生成方法,其特征在于:所述总线为APB4总线;所述APB4总线划分为读写控制地址和写数据通道及读写响应和读数据通道;所述配置总线生成方法包括写传输配置方法,所述写传输配置方法包括:
将主端设备中的读写响应和读数据通道的pready信号置为低,进行传输反压;
当检测到读写控制地址和写数据通道发生传输请求,即所述psel信号为高时,进行当前传输地址paddr的地址译码,获得与所述当前传输地址paddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
将主端设备中的读写控制地址和写数据通道的psel信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的读写控制地址和写数据通道的psel信号;
将各从端设备的pready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的pready信号;
将各从端设备的perror信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的perror信号。
11.根据权利要求10所述的配置总线生成方法,其特征在于:所述配置总线生成方法还包括读传输配置方法,所述读传输配置方法包括:
将主端设备中的读写响应和读数据通道的pready信号置为低,进行传输反压;
当检测到读写控制地址和写数据通道发生传输请求,即所述psel信号为高时,进行当前传输地址paddr的地址译码,获得与所述当前传输地址paddr对应的从端设备作为目标设备;将所述目标设备的片选信号置位为高,未被选择的其他从端设备的片选信号置位为低;
将主端设备的读地址通道的psel信号和各从端设备的片选信号进行与操作,对应生成各从端设备当前传输的psel信号;
将各从端设备的pready信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的pready信号;
将各从端设备的perror信号和各从端设备的片选信号进行线与或者线或操作,获得主端设备当前传输的perror信号;
将各从端设备的prdata信号和各从端设备的片选信号逐bit位进行线与或者线或操作,获得主端设备当前传输的prdata信号。
12.一种配置总线生成***,其特征在于,所述配置总线生成***包括:
主端设备;
至少2个从端设备,通过总线与所述主端设备通信相连;
控制模块,与所述总线和所述从端设备分别通信相连,用于配置各从端设备被总线传输所需的信号,包括:
将主端设备的有效状态ready信号置为低,进行传输反压;其中,所述主端设备与至少2个从端设备通过总线通信相连;
获取所述总线当前有效传输的地址,对所述地址进行解码,获得与所述地址对应的从端设备作为目标设备;
将所述目标设备的片选信号置位,未被选择的其他从端设备的片选信号不置位;
将各从端设备的片选信号与主端设备的使能信号或者选择信号进行与运算,对应生成各从端设备的使能信号或者选择信号;
将各从端设备的片选信号同各从端设备的有效状态ready信号进行线与或者线或运算,对应获得主端设备的有效状态ready信号;
将各从端设备的片选信号同各从端设备的响应信号进行逐bit位的线与或者线或运算,对应获得主端设备所需的响应信号。
13.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有计算机程序,
处理器,与所述存储器通信相连,调用执行所述计算机程序时实现权利要求1至11 任一项所述的配置总线生成方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至11 任一项所述的配置总线生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311208623.3A CN116938631B (zh) | 2023-09-19 | 2023-09-19 | 配置总线生成方法、***、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311208623.3A CN116938631B (zh) | 2023-09-19 | 2023-09-19 | 配置总线生成方法、***、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116938631A true CN116938631A (zh) | 2023-10-24 |
CN116938631B CN116938631B (zh) | 2023-12-29 |
Family
ID=88384759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311208623.3A Active CN116938631B (zh) | 2023-09-19 | 2023-09-19 | 配置总线生成方法、***、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116938631B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435534A (zh) * | 2023-11-01 | 2024-01-23 | 上海合芯数字科技有限公司 | 基于***总线的数据传输电路、方法及处理器 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623648A (en) * | 1995-08-30 | 1997-04-22 | National Semiconductor Corporation | Controller for initiating insertion of wait states on a signal bus |
US6034542A (en) * | 1997-10-14 | 2000-03-07 | Xilinx, Inc. | Bus structure for modularized chip with FPGA modules |
US6938112B1 (en) * | 2000-12-21 | 2005-08-30 | Sprint Communications Company L.P. | Use of bus hold to prevent bus contention between high speed processor and slow peripheral |
KR20110029220A (ko) * | 2009-09-15 | 2011-03-23 | 주식회사 제니스트 | 고속 메모리 콘트롤러 |
CN102354305A (zh) * | 2011-09-27 | 2012-02-15 | 青岛海信电器股份有限公司 | 设备间串行通信***及方法 |
CN102831090A (zh) * | 2012-05-07 | 2012-12-19 | 中国科学院空间科学与应用研究中心 | 一种用于星载dsp与fpga通讯接口的地址线及其优化方法 |
CN103198043A (zh) * | 2013-01-24 | 2013-07-10 | 杭州中科微电子有限公司 | 一种改进的AHB to APB总线桥及其控制方法 |
CN105005546A (zh) * | 2015-06-23 | 2015-10-28 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种内置交点队列的异步axi总线结构 |
US20160342565A1 (en) * | 2015-05-20 | 2016-11-24 | Honeywell International Inc. | Apparatus and method for multi-master solution on mdio communication bus |
CN106874237A (zh) * | 2017-03-08 | 2017-06-20 | 上海冉能自动化科技有限公司 | 基于二总线的数据同步方法及*** |
WO2018146899A1 (ja) * | 2017-02-07 | 2018-08-16 | オムロン株式会社 | 制御装置および通信装置 |
CN114500156A (zh) * | 2022-03-18 | 2022-05-13 | 西安超越申泰信息科技有限公司 | 一种可灵活配置的总线式通信***、通信方法 |
CN115794713A (zh) * | 2022-11-15 | 2023-03-14 | 芯原微电子(上海)股份有限公司 | Axi总线读写事务均衡方法、装置、电子设备及介质 |
CN116303207A (zh) * | 2023-05-11 | 2023-06-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种总线传输方法、装置、设备及存储介质 |
-
2023
- 2023-09-19 CN CN202311208623.3A patent/CN116938631B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623648A (en) * | 1995-08-30 | 1997-04-22 | National Semiconductor Corporation | Controller for initiating insertion of wait states on a signal bus |
US6034542A (en) * | 1997-10-14 | 2000-03-07 | Xilinx, Inc. | Bus structure for modularized chip with FPGA modules |
US6938112B1 (en) * | 2000-12-21 | 2005-08-30 | Sprint Communications Company L.P. | Use of bus hold to prevent bus contention between high speed processor and slow peripheral |
KR20110029220A (ko) * | 2009-09-15 | 2011-03-23 | 주식회사 제니스트 | 고속 메모리 콘트롤러 |
CN102354305A (zh) * | 2011-09-27 | 2012-02-15 | 青岛海信电器股份有限公司 | 设备间串行通信***及方法 |
CN102831090A (zh) * | 2012-05-07 | 2012-12-19 | 中国科学院空间科学与应用研究中心 | 一种用于星载dsp与fpga通讯接口的地址线及其优化方法 |
CN103198043A (zh) * | 2013-01-24 | 2013-07-10 | 杭州中科微电子有限公司 | 一种改进的AHB to APB总线桥及其控制方法 |
US20160342565A1 (en) * | 2015-05-20 | 2016-11-24 | Honeywell International Inc. | Apparatus and method for multi-master solution on mdio communication bus |
CN105005546A (zh) * | 2015-06-23 | 2015-10-28 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种内置交点队列的异步axi总线结构 |
WO2018146899A1 (ja) * | 2017-02-07 | 2018-08-16 | オムロン株式会社 | 制御装置および通信装置 |
CN110169017A (zh) * | 2017-02-07 | 2019-08-23 | 欧姆龙株式会社 | 控制装置以及通信装置 |
CN106874237A (zh) * | 2017-03-08 | 2017-06-20 | 上海冉能自动化科技有限公司 | 基于二总线的数据同步方法及*** |
CN114500156A (zh) * | 2022-03-18 | 2022-05-13 | 西安超越申泰信息科技有限公司 | 一种可灵活配置的总线式通信***、通信方法 |
CN115794713A (zh) * | 2022-11-15 | 2023-03-14 | 芯原微电子(上海)股份有限公司 | Axi总线读写事务均衡方法、装置、电子设备及介质 |
CN116303207A (zh) * | 2023-05-11 | 2023-06-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种总线传输方法、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435534A (zh) * | 2023-11-01 | 2024-01-23 | 上海合芯数字科技有限公司 | 基于***总线的数据传输电路、方法及处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN116938631B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7480303B1 (en) | Pseudo-ethernet switch without ethernet media-access-controllers (MAC's) that copies ethernet context registers between PCI-express ports | |
US9049124B2 (en) | Zero-latency network on chip (NoC) | |
KR101642086B1 (ko) | 고성능 인터커넥트 링크 계층 | |
US8135873B2 (en) | Information processing device for performing information exchange between a PCI express bus and a non-PCI express bus interface | |
US8995302B1 (en) | Method and apparatus for translated routing in an interconnect switch | |
KR101077900B1 (ko) | 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치 | |
CN100405352C (zh) | 通过串行总线互连多个处理节点的装置及方法 | |
US20070126474A1 (en) | Crossbar switch architecture for multi-processor SoC platform | |
US9535869B2 (en) | Method and apparatuses for respectively transferring information within and between system-on-chips (SOCS) via an internal bus and an external bus according to the same communication protocol | |
CN116938631B (zh) | 配置总线生成方法、***、存储介质及电子设备 | |
US7254603B2 (en) | On-chip inter-network performance optimization using configurable performance parameters | |
JP2009064548A (ja) | マルチポートメモリアーキテクチャ、装置、システム、および方法 | |
CN109634900B (zh) | 一种基于axi协议的多层次低延迟互连结构 | |
JP5302507B2 (ja) | プロセッサアーキテクチャ | |
Sharma | Compute express link (cxl): Enabling heterogeneous data-centric computing with heterogeneous memory hierarchy | |
CN110895516A (zh) | 使用管理数据输入/输出接口将外部phy设备连接到mac设备 | |
CN114741341A (zh) | 一种实现Crossbar结构仲裁的方法、***及存储介质 | |
JP3989376B2 (ja) | 通信システム | |
CN117056249B (zh) | 一种mdio到ahb的转换方法、***、设备及介质 | |
US7320048B2 (en) | Apparatus and method to switch a FIFO between strobe sources | |
CN115136125A (zh) | Noc宽松写入顺序方案 | |
KR20090009451A (ko) | 네트워크 제어 장치 및 방법 | |
TWI727581B (zh) | 資料傳輸系統 | |
CN107844451B (zh) | 一种级联板间流水线的“蝶式”传输方法 | |
Yang et al. | PCIe device drivers in Linux: Design and implementation of a high-speed PCI Express bridge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |