CN117312210B - 一种通用扩展risc-v处理器性能的方法 - Google Patents
一种通用扩展risc-v处理器性能的方法 Download PDFInfo
- Publication number
- CN117312210B CN117312210B CN202311607380.0A CN202311607380A CN117312210B CN 117312210 B CN117312210 B CN 117312210B CN 202311607380 A CN202311607380 A CN 202311607380A CN 117312210 B CN117312210 B CN 117312210B
- Authority
- CN
- China
- Prior art keywords
- memory
- processor
- risc
- protocol conversion
- conversion module
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000015654 memory Effects 0.000 claims abstract description 106
- 238000006243 chemical reaction Methods 0.000 claims abstract description 86
- 230000005540 biological transmission Effects 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 8
- 238000013507 mapping Methods 0.000 claims description 9
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 238000013461 design Methods 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种通用扩展RISC‑V处理器性能的方法,属于集成电路领域,包括:RISC‑V处理器发起读写操作,数据总线判断读写操作对应的地址范围是否属于存储器,若是则发起对该存储器的握手;协议转换模块与数据总线信号完成写或读地址握手,并进行协议转换,将写数据或读出的数据放到数据总线上,完成每笔传输的读写操作握手;完成读写操作并根据实际传输情况作出响应;完成所有传输,如无新的传输请求则通过时钟门控模块关闭协议转换模块和存储器的时钟,等待RISC‑V处理器发起新的传输请求后再打开时钟。本发明通过统一处理器总线协议,简化硬件设计,缩短访问路径,无需额外的跨时钟域处理,提升RISC‑V处理器对存储器的访问效率。
Description
技术领域
本发明涉及集成电路设计领域,具体涉及一种通用扩展RISC-V (ReducedInstruction Set Computing-FIVE)处理器性能的方法。
背景技术
RISC-V作为一种开放的指令集架构,因其低成本、高能效和便于定制的特点,常用于嵌入式控制器、物联网设备以及SOC(System of Chip)芯片中控制模块,负责决策逻辑、控制外设、协调和管理各个功能模块的工作。
由于RISC-V核心通常用于处理复杂的计算任务和运行多线程应用程序,但RISC-V储存器内部集成的缓存空间容量有限,无法满足其作为主处理器的性能和存储需求。为了缓解上述问题,现有常见的做法是芯片内部集成存储器或外挂高容量的存储器来扩展存储容量,便于为软件开发人员提供便利的编程环境,从而为芯片提供更出色的性能和更灵活的应用场景。以下是一些常见的扩展存储器的方法,以及它们的优缺点:
1.静态随机存取存储器(Static Random-Access Memory, SRAM): SRAM是一种高速存储器,可以用作快速缓存或作为主存储器。内部集成SRAM可以提供低延迟和高吞吐量,适用于需要高性能的应用。但SRAM的存储密度较低,同等容量的SRAM相对于其他类型存储器功耗较高,会增加芯片的功耗和热量;且外挂SRAM需要增加数据总线之外的内存映射接口,用于RISC-V处理器对内部SRAM的访问。
2.动态随机存取存储器(Dynamic Random Access Memory,DRAM):DRAM是一种大容量但速度较慢的存储器,通常用作主存储器。将DRAM外挂到RISC-V核心可以提供更大的存储容量,适用于存储大量数据的应用。但DRAM需要定期刷新操作,影响数据访问效率和延迟;且外挂DRAM需要复杂的内存控制逻辑,大大增加设计的复杂性。
3.闪存存储器:闪存存储器常用作持久性存储介质,将闪存存储器外挂到芯片外部可以提供较大的存储容量和数据持久性。但是闪存存储器的访问路径长导致数据访问速度慢,一般还需要对信号进行跨时钟域处理,增加发生亚稳态的风险;且闪存存储器通常可擦写次数有限,长时间的频繁擦写可能导致存储器失效。
发明内容
针对现有芯片内部RISC-V处理器外挂存储器访问方法功耗高,延迟大,地址映射和内存控制逻辑复杂的问题,本发明旨在实现一种可以通用性强、复杂度低、性能高的存储器访问方法,即一种通用扩展RISC-V处理器性能的方法。
本发明的第一方面提供了一种通用扩展RISC-V处理器性能的方法,包括如下步骤:
S1,芯片上电复位,协议转换模块处于初始状态;
S2,RISC-V处理器发起读写操作,数据总线判断读写操作对应的地址范围是否属于存储器,若是,则发起对该存储器的握手;
S3,所述协议转换模块与数据总线信号完成写地址握手或读地址握手;
S4,所述协议转换模块进行协议转换,将来自所述RISC-V处理器的写数据或从存储器中读出的数据放到所述数据总线上,完成每笔传输的读写操作握手;
S5,完成读写操作,并根据实际传输情况作出响应;
S6,完成所有传输,如无新的传输请求则通过时钟门控模块关闭所述协议转换模块和所述存储器的时钟,等待所述RISC-V处理器发起新的传输请求后再打开时钟;
其中,所述协议转换模块布置于所述数据总线中,所述RISC-V处理器通过标准协议接口和所述数据总线中相连,所述协议转换模块通过标准内存总线接口与所述存储器相联。
进一步地,在步骤S2中的所述数据总线判断读写操作对应的地址范围是否属于存储器之前,还包括:
将所述数据总线内部存储器的地址空间正确映射到数据总线地址空间,配置地址映射表,确保处理器能够直接访问存储器的地址范围。
进一步地,所述协议转换模块、所述存储器和所述数据总线运行在同一时钟频率,无需额外的跨时钟域处理。
进一步地,所述协议转换模块的各项参数是可配置的。
进一步地,当所述RISC-V处理器发起对存储器的访问后,所述协议转换模块在两个时钟周期即可完成写请求地址握手或者读请求地址握手,如果所述时钟门控模块关闭了所述协议转换模块的时钟信号,则需要三到四个时钟周期。
进一步地,步骤S5中,所述根据实际传输情况作出响应,包括地址范围是否溢出存储器地址边界、传输过程中是否发生ECC错误。
进一步地,数据总线上的所述RISC-V处理器通过所述协议转换模块访问存储器模块,或者,通过所述协议转换模块将所述RISC-V处理器与所述存储器直接相连。
进一步地,所述标准协议接口为采用AXI协议的接口,所述存储器为SRAM。
进一步地,所述协议转换模块采用状态机实现AXI读写事务的传输,共包含五个状态。
进一步地,所述协议转换模块中的所述时钟门控模块共有五个输入信号和一个输出信号。
本发明技术方案的有益效果在于:
本发明的方法RISC-V处理器通过通用标准数据接口和数据总线相连接,统一处理器总线协议,简化硬件设计;在数据总线内部嵌入协议转化模块,缩短访问路径,无需额外的跨时钟域处理,提升RISC-V处理器对存储器的访问效率;添加时钟门控设计,当总线没有发起对存储器访问时,关闭时钟信号,降低功耗,进一步提高芯片的能效比。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明RISC-V处理器通过内部数据总线访问内部存储器的结构示意图。
图2是本发明的一种通用扩展RISC-V处理器性能的方法的流程示意图。
图3是RISC-V处理器采用AXI协议作为接口协议时的协议转换模块的工作状态转换图。
图4是RISC-V处理器采用AXI协议作为接口协议时协议转换模块在一次写传输事务的时序示意图。
图5是RISC-V处理器采用AXI协议作为接口协议时协议转换模块在一次读传输事务的时序示意图。
图6是一种典型场景下的时钟门控模块电路图示意图。
图7是本发明一种典型实施例的时钟门控模块时序图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
实施例一:
请参阅图1-2,一种通用扩展RISC-V处理器性能的方法,包括如下步骤:
S1,芯片上电复位,协议转换模块处于初始状态;
S2,RISC-V处理器发起读写操作,数据总线判断读写操作对应的地址范围是否属于存储器,若是,则发起对该存储器的握手;
其中,RISC-V处理器通过数据总线发起读写事务,到数据总线内部依据传输地址进行仲裁,如果是地址属于存储器的地址范围,则通过协议转换模块发起对于存储器的访问。
S3,协议转换模块与数据总线信号完成写地址握手或读地址握手;
S4,协议转换模块进行协议转换,将来自RISC-V处理器的写数据或从存储器中读出的数据放到数据总线上,完成每笔传输的读写操作握手;
S5,完成读写操作,并根据实际传输情况作出响应;
其中,完成本次读写请求的数据传输后,协议转换模块对本次传输事务作出响应,包括地址范围是否溢出存储器地址边界、存储器的响应(传输过程中是否发生ECC错误)。
S6,完成所有传输,如无新的传输请求则通过时钟门控模块关闭所述协议转换模块和所述存储器的时钟,等待RISC-V处理器发起新的传输请求后再打开时钟;
其中,所述协议转换模块布置于所述数据总线中,所述RISC-V处理器通过标准协议接口和所述数据总线中相连,所述协议转换模块通过标准内存总线接口与所述存储器相联。
本发明通过将集成芯片的RISC-V处理器和内部存储器相连接,提高了RISC-V处理器的性能,进一步提高了芯片的能效比。本发明的方法对芯片架构进行了新的设计,主要包括RISC-V处理器的集成和存储器的连接方式和总线接口,以及连接模块和内部存储器的低功耗设计。方案及对应技术效果如下:
1)在数据总线内集成设计了协议转换模块,可以实现处理器在访问内存和其他外设时采用统一的标准协议接口,无需对不同总线协议的支持和管理,减少对外部存储控制器和其他外设的需求,有助于优化PCB设计,降低系统的复杂性。
2)设计处理器通过内部数据总线直接访问存储器,具有更短的传输路径,提升数据传输速度;使用相同时钟,无需跨时钟域处理,使得数据传输更加稳定和高效。
3)内部数据总线通常比外部总线具有更低的功耗,特别是在处理器频繁访问存储器的场景下;且通过时钟门控设计可以在非工作状态关闭时钟信号,减少协议转换模块和存储器在非工作状态的功耗,提高芯片的能效比。
4)本发明所提出的方法适用芯片内RISC-V处理器对于各种外设的访问,如寄存器、FIFO和支持其他总线协议的从设备等,只需将协议转换模块所支持的从设备的访问协议进行调整,即可通过本发明中的方法进行访问。
进一步地,数据总线上的所述RISC-V处理器通过协议转换模块访问存储器模块,或者,通过所述协议转换模块将所述RISC-V处理器与所述存储器直接相连。
数据总线上的所有主设备(如RISC-V处理器)可以直接通过协议转换模块访问从设备(如存储器模块),也可通过协议转换模块将主设备与从设备直接相连。
进一步地,在步骤S2中的所述数据总线判断读写操作对应的地址范围是否属于存储器之前,还包括:
将所述数据总线内部存储器的地址空间正确映射到数据总线地址空间,配置地址映射表,确保处理器能够直接访问存储器的地址范围。
其中,地址映射是依据数据总线上挂载从设备的地址空间所决定的,按照地址总线的位宽和各个从设备的地址分布共同决定。据此,本发明中的协议转换模块实现了通过标准协议到MEM内存总线协议的转换:将基于RISC-V处理器输出的读写地址转换为存储器的物理地址;将通过标准协议接口总线上读写使能转化为对存储器的读写操作;将从主设备发出的写数据和从存储器中读回的数据放到相应的数据线上。
进一步地,所述协议转换模块、所述存储器和所述数据总线运行在同一时钟频率,无需额外的跨时钟域处理。
其中,协议转换模块、存储器和数据总线采用同步电路设计,如果RISC-V处理器和数据总线工作在同一频率,则整个数据通路均工作在同一频率,能够保证整体的数据访问效率;如若RISC-V处理器和数据总线为异步时钟,也只需在RISC-V处理器和数据总线的接口进行一次跨时钟处理,无需额外的跨异步处理。
进一步地,所述协议转换模块的各项参数是可配置的。
协议转换模块的各项参数,如数据位宽、地址位宽、缓冲区大小等,是可按照实际情况和功能需求来配置的。
进一步地,当RISC-V处理器发起对存储器的访问后,所述协议转换模块在两个时钟周期即可完成写请求地址握手或者读请求地址握手,如果时钟门控模块关闭了协议转换模块的时钟信号,则需要三到四个时钟周期(取决于是否在时钟门控模块中插入寄存器)。
本发明实施例一的整体流程步骤如下:
步骤S1,SOC芯片上电复位,此时协议转换模块时钟打开,协议转换模块状态,等待RISC-V处理器发起读写操作;
步骤S2,RISC-V处理器通过数据总线发起读写事务请求,数据总线内部依据地址仲裁是否是对于存储器的访问,如果地址属于存储器的地址范围,则将该笔传输的总线信号送入到协议转换模块;
步骤S3,协议转换模块收到数据总线上的读写请求,依据的发起的请求类型,完成写地址握手或者读地址握手;
步骤S4,协议转换模块将通用总线协议转换为内存总线协议,主要包含总线协议的读写地址转换为对存储器的访问地址、读写使能转换为对存储器的读写使能和读写数据位宽的相互转换等;
步骤S5,完成一笔读写事务中的所有读写传输,根据读写地址是否溢出存储器地址范围和读写过程中存储器是否发生ECC错误做出相应的响应;
步骤S6,完成一笔传输事务中的所有读写传输,协议转换模块回到初始状态,如RISC-V处理器没有发起新的数据传输请求,则时钟门控模块关闭协议转换模块和存储器的时钟信号,降低非工作模式下的功耗,等待RISC-V处理器发起新的数据传输请求再打开时钟,启动新一轮的RISC-V处理器对存储器的访问。
实施例二:
进一步地,所述标准协议接口为采用AXI协议的接口,所述存储器为SRAM。
该实施例提供了一种采用AXI协议作为标准数据接口的协议转换模块、使用SRAM作为存储器的典型使用示例。其中,AXI协议是一种广泛应用于现代SOC中的总线协议,具有高性能、低功耗、可扩展的优势。
需要说明的是,上述采用AXI协议的接口仅是本发明技术方案的一种具体实施场景之一,而非限定本发明的标准协议接口仅局限于采用AXI协议的接口才能实施,实际上,本发明的方案并不排斥基于其它合适协议的接口,可根据具体应用场景而定。
进一步地,所述协议转换模块采用状态机实现AXI读写事务的传输,共包含五个状态。其转换关系如图3所示,每个状态的含义如下:
AXI_IDLE:复位后初始状态,代表当前协议转换模块没有正在进行中的传输事务,此状态下写传输具有较高优先级;
AXI_WR:AXI_IDLE状态下,当i_awvalid为1时下个时钟周期进入此状态,表示当前收到写传输请求,该状态拉高o_awready,完成写地址握手;
AXI_WR_RESP:写响应状态,AXI_WR状态下一个时钟周期进入此状态,此状态下当i_bready和o_bvalid为1时完成写响应握手,下个周期回到AXI_IDLE状态;
AXI_RD:IDLE状态下,当i_arvalid为1且i_awvalid为0时下个时钟周期进入此状态,表示当前收到读传输请求,该状态拉高o_arready,完成读地址握手;
AXI_RD_RESP:读响应状态,AXI_RD状态下下一个时钟周期进入此状态,此状态下当i_rready、o_rlast和o_rrvalid为1时完成最后一次读传输握手,下个时钟周期回到AXI_IDLE状态。
图4和图5分别展示了一笔写传输和写传输的协议转换模块的时序图,其中AXI总线五个通道关键信号说明如下:
写地址通道信号:在AXI_IDLE状态下,当i_awvalid为1时,进入AXI_WR状态。在AXI_WR状态下,拉高o_awready,完成写地址通道握手;同时,获得i_alwen、i_awsize和i_awaddr等传输过程中需要的信息,用于后续的写数据传输过程。
写数据通道信号:进入AXI_WR_RESP状态后,拉高o_wready信号,并在整个AXI_WR_RESP状态下,持续拉高o_wready,直至收到i_wlast和i_wvalid信号同时为1,代表写传输事务的最后一笔传输完成,拉低o_wready。
写回复通道信号:当AXI_WR_RESP状态下,i_wready、i_wvalid和i_wlast同时为1时,拉高o_bvliad和o_bresp信号,等到来自RISC-V处理器的i_bready信号为1时,完成写回复握手,下一个状态回到AXI_IDLE状态,等待发起新的一轮读写事务。
读地址通道信号:当协议转换模块处于AXI_IDLE状态下,当i_arvalid为1且i_awvalid为0时,进入AXI_RD状态。在AXI_RD状态下,拉高o_arready,进行读地址通道握手。同时,获得i_arwen、i_arsize和i_araddr等传输过程中需要的信息,用于后续的读数据传输过程。
读数据通道信号:当下一个状态为AXI_RD_RESP时,获得读数据传输的控制信息时打开SRAM的读使能,从SRAM中读取数据,同时拉高o_rvalid信号,等待i_rready信号拉高进行读数据握手。在每次AXI总线读数据握手的同时,打开SRAM读使能,取出下次读传输所需的数据。每次从SRAM读取数据后,current_rd_len计算器减1,当current_len_rd为0时下个时钟周期拉高o_rlast,代表当前读传输事务中的所有数据均从SRAM中读回,等到该传输事务中最后一次i_rready信号拉高完成该事务的最后一次读数据握手;当o_rvalid、i_rready和o_rlast信号同时为高时代表最后一笔读数据传输完成,下个时钟周期协议转换模块回到AXI_IDLE状态。
其中,SRAM接口的关键信号说明如下:
o_mem_en和o_mem_wr:SRAM读写操作使能信号,当o_mem_en和o_mem_wr同时为1时代表当前为写数据操作,当o_mem_en为1和o_mem_wr为0时代表当前操作为读数据操作。
o_mem_addr:SRAM数据地址信号,代表当前对SRAM进行操作的地址。
o_mem_wdata和i_mem_rdata:SRAM的写入数据和SRAM的读回数据,其中写数据o_mem_wdata和写使能在同一个时钟周期变化,读数据i_mem_rdata在读使能的下一个时钟周期返回,这是由SRAM的特性决定的。
实施例三:
基于上述实施例一和实施例二,图6和图7分别给出了一种典型场景下的时钟门控模块的电路图和工作时序图。
进一步地,在该典型场景下,协议转换模块中的时钟门控模块共有五个输入信号和一个输出信号,其结构如图6所示,关键信号说明如下:
i_clk:协议转换模块原始输入时钟信号,和数据总线时钟相同;
resetb:复位信号,低有效,用于控制时钟模块输出时钟,当resetb为0时,输出时钟和输入时钟相同,当resetb为1时,输出时钟受override和busy信号控制;
override:时钟门控模块覆盖信号,该信号来源为软件可配置寄存器,当其为1时,busy信号可忽略,输出时钟等于输入时钟,当其为0时,输出时钟受busy信号控制;
busy:当前是否有新的数据传输发起和尚未完成的传输,当其为1时,输出时钟等于输入时钟,当其为0时,输出时钟将会被关闭;
dft_scan_en:DFT(design for test)信号,在DFT测试模式下该信号为1,输出时钟等于输入时钟,功能模式下该信号为0;
o_clk:输出时钟,协议转换模块和SRAM实际使用的时钟;
DFF:D触发器,可配置信号,取决于时钟频率和逻辑技术,插入该触发器后输出时钟会比输入时钟延后两个时钟周期。
可以看到当override信号或者busy信号为1时,输出时钟o_clk和o_clk_ff1正常翻转,其中o_clk_ff1代表时钟门控模块中插入了DFF,其输出时钟要比o_clk延迟一个时钟周期。
其中busy信号来源于三个信号:i_awvalid、i_arvalid和协议转换模块是否处于AXI_IDLE状态;i_awvalid和i_arvalid信号代表即将有新的传输事务发起;是否处于AXI_IDLE状态代表是否有尚未完成的传输事务。
当没有尚未完成的传输事务和新发起的传输事务,即可关闭协议转换模块和SRAM模块的时钟信号,降低在非工作状态下的功耗。
本发明介绍了一种芯片内部的RISC-V处理器访问存储器的方法,本发明提出的设计简单、访问速度快、功耗低和通用性强的协议转换模块,可以极大地降低SOC芯片内部RISC-V处理器挂载外部存储器的难度,实现RISC-V处理器对于外挂存储器的快速读写访问;同步电路设计降低了设计难度,减少发生亚稳态的概率;采用合理的时钟门控设计,降低整个模块的功耗;参数化设计使得该模块具有较好的可移植性和方便维护。以SRAM大小为128KB,地址总线为位宽为16bit的场景下,在TSMC 7nm工艺库下综合后,面积仅为;在1.7Ghz的情况下不存在时序违例;且平均功耗仅在/>。以上各项数据,充分验证本发明具有面积小,速度快,功耗低,通用性强的特点,可以广泛应用于各种大型SOC芯片和嵌入式芯片中,解决现有方法中RISC-V处理器对于外挂存储器的访问速度慢、逻辑复杂、功耗大的问题。
注意,上述仅为本发明的较佳实施例及所运用的技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明的构思的情况下,还可以包括更多其他等效实施例,均属于本发明的保护范畴。
Claims (6)
1.一种通用扩展RISC-V处理器性能的方法,其特征在于,包括如下步骤:
S1,芯片上电复位,协议转换模块处于初始状态;
S2,RISC-V处理器发起读写操作,数据总线判断读写操作对应的地址范围是否属于存储器,若是,则发起对该存储器的握手;
S3,所述协议转换模块与数据总线信号完成写地址握手或读地址握手;
S4,所述协议转换模块进行协议转换,将来自所述RISC-V处理器的写数据或从存储器中读出的数据放到所述数据总线上,完成每笔传输的读写操作握手;
S5,完成读写操作,并根据实际传输情况作出响应;
S6,完成所有传输,如无新的传输请求则通过时钟门控模块关闭所述协议转换模块和所述存储器的时钟,等待所述RISC-V处理器发起新的传输请求后再打开时钟;
其中,所述协议转换模块布置于所述数据总线中,所述RISC-V处理器通过标准协议接口和所述数据总线相连,所述协议转换模块通过标准内存总线接口与所述存储器相联;
所述协议转换模块、所述存储器和所述数据总线运行在同一时钟频率,无需额外的跨时钟域处理;
当所述RISC-V处理器发起对存储器的访问后,所述协议转换模块在两个时钟周期即可完成写请求地址握手或者读请求地址握手,如果所述时钟门控模块关闭了所述协议转换模块的时钟信号,则需要三到四个时钟周期;
数据总线上的所述RISC-V处理器通过所述协议转换模块访问存储器模块,或者,通过所述协议转换模块将所述RISC-V处理器与所述存储器直接相连;
所述标准协议接口为采用AXI协议的接口,所述存储器为SRAM。
2.根据权利要求1所述的一种通用扩展RISC-V处理器性能的方法,其特征在于:在步骤S2中的所述数据总线判断读写操作对应的地址范围是否属于存储器之前,还包括:
将所述数据总线内部存储器的地址空间正确映射到数据总线地址空间,配置地址映射表,确保处理器能够直接访问存储器的地址范围。
3.根据权利要求1所述的一种通用扩展RISC-V处理器性能的方法,其特征在于:所述协议转换模块的各项参数是可配置的。
4.根据权利要求1所述的一种通用扩展RISC-V处理器性能的方法,其特征在于:步骤S5中,所述根据实际传输情况作出响应,包括地址范围是否溢出存储器地址边界、传输过程中是否发生ECC错误。
5.根据权利要求1所述的一种通用扩展RISC-V处理器性能的方法,其特征在于:所述协议转换模块采用状态机实现AXI读写事务的传输,共包含五个状态。
6.根据权利要求1所述的一种通用扩展RISC-V处理器性能的方法,其特征在于:所述协议转换模块中的所述时钟门控模块共有五个输入信号和一个输出信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311607380.0A CN117312210B (zh) | 2023-11-29 | 2023-11-29 | 一种通用扩展risc-v处理器性能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311607380.0A CN117312210B (zh) | 2023-11-29 | 2023-11-29 | 一种通用扩展risc-v处理器性能的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117312210A CN117312210A (zh) | 2023-12-29 |
CN117312210B true CN117312210B (zh) | 2024-03-12 |
Family
ID=89297636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311607380.0A Active CN117312210B (zh) | 2023-11-29 | 2023-11-29 | 一种通用扩展risc-v处理器性能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312210B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609380A (zh) * | 2012-02-14 | 2012-07-25 | 福州瑞芯微电子有限公司 | 基于axi总线的sdram控制器写数据快速响应方法 |
CN108121679A (zh) * | 2017-08-07 | 2018-06-05 | 鸿秦(北京)科技有限公司 | 一种嵌入式SoC系统总线及其协议转换桥接装置 |
CN109726149A (zh) * | 2018-12-11 | 2019-05-07 | 中国航空工业集团公司西安航空计算技术研究所 | 一种axi总线访问nand flash的方法及装置 |
CN112199317A (zh) * | 2020-10-27 | 2021-01-08 | 南京大学 | 一种RISCV处理器访问Flash存储器的桥接系统及其桥接方法 |
CN115905086A (zh) * | 2022-12-21 | 2023-04-04 | 北京紫光芯能科技有限公司 | 基于axi同步读写单口sram的控制方法及控制器 |
CN116893991A (zh) * | 2023-09-11 | 2023-10-17 | 芯动微电子科技(珠海)有限公司 | 一种axi协议下的存储模块转换接口及其转换方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104579885B (zh) * | 2015-02-05 | 2016-03-23 | 中车青岛四方车辆研究所有限公司 | Cpci总线和isa总线的协议转换器和转换方法 |
-
2023
- 2023-11-29 CN CN202311607380.0A patent/CN117312210B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609380A (zh) * | 2012-02-14 | 2012-07-25 | 福州瑞芯微电子有限公司 | 基于axi总线的sdram控制器写数据快速响应方法 |
CN108121679A (zh) * | 2017-08-07 | 2018-06-05 | 鸿秦(北京)科技有限公司 | 一种嵌入式SoC系统总线及其协议转换桥接装置 |
CN109726149A (zh) * | 2018-12-11 | 2019-05-07 | 中国航空工业集团公司西安航空计算技术研究所 | 一种axi总线访问nand flash的方法及装置 |
CN112199317A (zh) * | 2020-10-27 | 2021-01-08 | 南京大学 | 一种RISCV处理器访问Flash存储器的桥接系统及其桥接方法 |
CN115905086A (zh) * | 2022-12-21 | 2023-04-04 | 北京紫光芯能科技有限公司 | 基于axi同步读写单口sram的控制方法及控制器 |
CN116893991A (zh) * | 2023-09-11 | 2023-10-17 | 芯动微电子科技(珠海)有限公司 | 一种axi协议下的存储模块转换接口及其转换方法 |
Non-Patent Citations (2)
Title |
---|
一种基于AMBA总线的NAND FLASH控制接口电路设计;唐宇光等;《电子器件》;第27卷(第02期);第306-311页 * |
基于AMBA总线的存储控制器接口设计;付兴飞等;《计算机研究与发展》;第52(增刊)卷;第119-123页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117312210A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6601126B1 (en) | Chip-core framework for systems-on-a-chip | |
US6810460B1 (en) | AMBA bus off-chip bridge | |
US8531893B2 (en) | Semiconductor device and data processor | |
US20070055813A1 (en) | Accessing external memory from an integrated circuit | |
JPH07182870A (ja) | シンクロナスランダムアクセスメモリ | |
US11768607B1 (en) | Flash controller for ASIC and control method therefor | |
US8433835B2 (en) | Information processing system and control method thereof | |
US7418535B2 (en) | Bus system and method of arbitrating the same | |
US11829640B2 (en) | Asynchronous arbitration across clock domains for register writes in an integrated circuit chip | |
CN117312210B (zh) | 一种通用扩展risc-v处理器性能的方法 | |
US6671752B1 (en) | Method and apparatus for bus optimization in a PLB system | |
JP2005518042A (ja) | クロックの異なるバス間におけるデータ転送 | |
KR20030090073A (ko) | 가변 가능한 데이터 전송 모드를 갖는 인터페이스 장치 및그것의 동작 방법 | |
CN110827891B (zh) | 信号转换单元、存储器以及应用于存储器的驱动方法 | |
CN112100098B (zh) | Ddr控制系统及ddr存储系统 | |
CN109726149B (zh) | 一种axi总线访问nand flash的方法及装置 | |
CN113886104A (zh) | 多核芯片及其通信方法 | |
JP4114749B2 (ja) | メモリ制御装置および電子装置 | |
CN219916336U (zh) | Lpc接口至axi总线协议桥接器 | |
US20070234098A1 (en) | Self-timed clock-controlled wait states | |
Shaik et al. | A Reduced Latency Architecture for Obtaining High System Performance | |
US6493775B2 (en) | Control for timed access of devices to a system bus | |
Zhao et al. | A Novel Design of High-speed Multi-port Memory Interface for Digital Signal Processor | |
Reddy et al. | Architecture of an AHB Compliant SDRAM Memory Controller | |
CN117951055A (zh) | 一种risc-v架构的简易总线系统 |
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 |