CN114356419A - 一种通用接口寄存器系统及快速生成方法 - Google Patents

一种通用接口寄存器系统及快速生成方法 Download PDF

Info

Publication number
CN114356419A
CN114356419A CN202210246442.9A CN202210246442A CN114356419A CN 114356419 A CN114356419 A CN 114356419A CN 202210246442 A CN202210246442 A CN 202210246442A CN 114356419 A CN114356419 A CN 114356419A
Authority
CN
China
Prior art keywords
register
module
data
instruction
general
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
Application number
CN202210246442.9A
Other languages
English (en)
Other versions
CN114356419B (zh
Inventor
李阳
王婷
王明明
马恒
樊晖煜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210246442.9A priority Critical patent/CN114356419B/zh
Publication of CN114356419A publication Critical patent/CN114356419A/zh
Application granted granted Critical
Publication of CN114356419B publication Critical patent/CN114356419B/zh
Priority to PCT/CN2023/079789 priority patent/WO2023174086A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Bus Control (AREA)

Abstract

本发明提出一种通用接口寄存器系统及快速生成方法,系统包括协议桥模块,缓存模块,协议桥模块配置用于基于通用接口寄存器系统所连接的总线,将总线上的总线数据基于总线协议解析成通用接口寄存器系统内使用的指令或指令和数据;并将指令或指令和数据发送到缓存模块;缓存模块配置用于接收指令或指令和数据,根据指令或指令和数据从缓存模块读取数据发送到协议桥模块或根据所述指令和数据将所述数据缓存到所述缓存模块。通过本发明提出的一种通用接口寄存器系统,通过协议桥对接多种总线协议并解析总线上的数据,并通过缓存模块中各个模块缓存从总线上解析的数据,实现ASIC芯片或SOC芯片内部逻辑与总线的通用接口。

Description

一种通用接口寄存器系统及快速生成方法
技术领域
本发明属于计算机芯片领域,具体涉及一种通用接口寄存器系统及快速生成方法。
背景技术
当今社会,随着物联网,云计算,大数据,人工智能,自动驾驶等高新技术的飞速发展,对ASIC芯片的应用和可靠性要求也越来越高。而ASIC芯片内需通过配置相应的寄存器才能使整个ASIC芯片内部的各个模块之间协同工作,寄存器及其控制逻辑的可靠性对于ASIC芯片的正常工作发挥着至关重要的作用,因此,为寄存器及其控制逻辑提供一个通用性的模板在其填入对应的参数后即可得到对应的寄存器及其控制逻辑这个对于ASIC(Application Specific Integrated Circuit,集成电路)芯片能否正常工作起到至关重要的作用。
寄存器接口一般是指通过CPU(Central Processing Unit,中央处理器)读写寄存器内进而控制各个模块工作的硬件逻辑,芯片功能越来越复杂,所需寄存器的数目越来越多,而且芯片中又需要不同的类型的寄存器,如果完全依靠人力是非常耗时费力的,而且容易出现错误让人难以发现。为了提高效率并且避免人为错误,传统的技术基本上都是针对寄存器及其控制逻辑的人工实现,通用性及其完成效率较低,在完成这些控制逻辑之后,依然面临着庞大而复杂的集成工作,而这些工作还远比寄存器控制逻辑设计本身更加耗时耗力。
因此,亟需一种解决此类对应寄存器接口及控制逻辑的通用控制方案。
发明内容
为解决以上问题,本发明提出一种通用接口寄存器系统,包括协议桥模块,缓存模块,其中:
所述协议桥模块配置用于基于所述通用接口寄存器系统所连接的总线,将所述总线上的总线数据基于所述总线协议解析成所述通用接口寄存器系统内使用的指令或指令和数据;并将所述指令或指令和数据发送到所述缓存模块;
所述缓存模块配置用于接收所述指令或指令和数据,根据指令或指令和数据从所述缓存模块读取数据发送到所述协议桥模块或根据所述指令和数据将所述数据缓存到所述缓存模块。
在本发明的一些实施例中,缓存模块包括地址译码模块,寄存器模块,其中:
所述寄存器模块包括通用寄存器模块和自定义寄存器,所述寄存器模块配置用于缓存所述通用接口寄存器系统接收到的数据;
所述地址译码模块配置用于接收所述协议桥模块的所述指令或指令和数据并对所述指令或指令和数据中的指令地址进行译码,并将译码后的所述指令或指令和数据发送到所述寄存器模块中对应类型的寄存器模块;以及
将译码后的所述指令或指令和数据发送到存储器中。
在本发明的一些实施例中,通用寄存器模块包括通用寄存器逻辑,通用寄存器信息文件,其中:
所述通用寄存器逻辑配置用于将所述通用寄存器模块所接收指令和/或数据,与所述通用寄存器信息文件中的所有寄存器信息文件地址进行比较,选中满足比较的通用寄存器并向所述通用寄存器写入数据或从所述通用寄存器读取数据;
所述通用寄存器信息文件配置用于保存所述通用寄存器模块的所有通用寄存器的信息与地址以及为所述通用寄存器模块中所有寄存器提供匹配映射。
在本发明的一些实施例中,自定义寄存器模块包括自定义寄存器逻辑,自定义寄存器信息文件,其中:
所述自定义寄存器逻辑配置用于将所述自定义寄存器模块所接收的指令和/或数据,与所述自定义寄存器信息文件中的所有寄存器信息文件地址进行比较,选中满足比较的自定义寄存器并向所述自定义寄存器写入数据或从所述自定义寄存器读取数据;
所述自定义寄存器信息文件配置用于保存所述自定义寄存器模块的所有自定义寄存器的信息与地址以及为所述自定义寄存器模块中所有寄存器提供匹配映射。
在本发明的一些实施例中,缓存模块还包括:
RxFIFO模块,所述RxFIFO模块配置用于接收从所述协议总线通过所述协议桥模块发送的数据。
TxFIFO模块,所述TxFIFO模块配置用于接收从所述协议总线通过所述协议桥模块发送的数据。
在本发明的一些实施例中,缓存模块还包括:
中断模块,所述中断模块配置用于实时监测所述通用接口寄存器系统中的异常,并将对应的异常写入到所述通用寄存器模块中对应的异常寄存器,并基于所述通用寄存器模块中的对应异常的使能状态寄存器和所述异常寄存器的值的逻辑与运算生成对应的中断信号。
在本发明的一些实施例中,缓存模块还包括时钟复位模块,所述时钟复位模块包括时钟门控模块,异步复位同步释放模块,其中:
所述时钟门控模块配置用于对所述通用寄存器模块中的一个或多个通用寄存器的时钟进行控制;
所述异步复位同步释放模块配置用于,使所述通用接口寄存器系统与所述协议总线异步复位后同步释放。
在本发明的一些实施例中,协议桥模块包括通用协议读写状态机,异步读FIFO,异步指令FIFO,异步写FIFO,缓存模块访问状态机,其中:
所述通用协议读写状态机配置用于解析所述协议桥模块接收到的协议总线上的指令或指令和数据,将所述指令发送到所述异步指令FIFO,以及将所述数据发送到异步写FIFO或从所述异步读FIFO读取数据封装成所述协议总线上的传输数据发送到所述协议总线上。;
所述缓存模块访问状态机配置用于从所述异步指令FIFO中读取所述指令或从所述异步指令FIFO和从所述异步写FIFO中读取所述指令和数据,并将所述指令或所述指令和数据发送到缓存模块,以及从所述缓存模块获取数据发送到所述异步读FIFO中。
本发明的另一方面还提出一种上述实施方式中所述的通用接口寄存器系统的快速生成方法,包括:
根据对应接口的需求配置功能模块以及寄存器参数;
将所述通用接口寄存器系统的硬件电路设计成模板设计文件;
根据所述功能模块和所述寄存器参数以及配置文件中关于上述通用接口寄存器系统中各个模块的配置参数激活所述模板设计文件中对应的模块并生成最终设计文件。
在本发明的一些实施方式中,根据对应接口的需求配置功能模块以及寄存器参数包括:
根据所述需求配置中所述接口所连接的总线协议选择对应的通用协议读写状态机逻辑;
根据所述寄存器参数配置通用寄存器模块和自定义寄存器模块中的寄存器的类型及寄存器个数。
通过本发明提出的一种通用接口寄存器系统,通过协议桥对接多种总线协议并解析总线上的数据,并通过缓存模块中各个模块缓存从总线上解析的数据,实现ASIC芯片或SOC(System on Chip,片上系统)芯片内部逻辑与总线的通用接口。同时将上述系统集成成通用模板,并对通用接口寄存器系统中各个模块进行标记,根据配置文件中对应的标记的参数裁剪通用模板并生成对应的寄存器接口电路设计文件。可在SOC芯片中快速实现各个模块之间的接口电路的设计,只需将SOC芯片中不同模块所连接的总线类型以及所功能需求中所需要的各种寄存器的类型及个数写入配置文件,便可基于通用模板生成。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种通用接口寄存器系统的结构图;
图2为本发明实施例提供的一种通用接口寄存器系统的协议桥内部结构示意图;
图3为本发明实施例提供的一种通用接口寄存器系统的地址译码模块的功能示意图;
图4为本发明实施例提供的一种通用接口寄存器系统的通用寄存器模块的结构示意图;
图5为本发明实施例提供的一种通用接口寄存器系统的自定义寄存器模块的结构示意图;
图6为本发明实施例提供的一种通用接口寄存器系统的RxFIFO结构示意图;
图7为本发明实施例提供的一种通用接口寄存器系统的中断模块的结构示意图;
图8为本发明实施例提供的一种通用接口寄存器系统的时钟复位模块的结构示意图;
图9为本发明实施例提供的一种通用接口寄存器系统的快速生成方法。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
如图1所示,本发明提出一种通用接口寄存器系统,包括协议桥模块1,缓存模块2,其中:
所述协议桥模块1配置用于基于所述通用接口寄存器系统所连接的总线,将所述总线上的总线数据基于所述总线协议解析成所述通用接口寄存器系统内使用的指令或指令和数据;并将所述指令或指令和数据发送到所述缓存模块2;
所述缓存模块2配置用于接收所述指令或指令和数据,根据指令或指令和数据从所述缓存模块读取数据发送到所述协议桥模块或根据所述指令和数据将所述数据缓存到所述缓存模块2。
在本发明的实施例中,如图1所示,协议桥模块通过所连接的总线和CPU(SOC芯片中的CPU或SOC芯片之外独立的CPU)相连并作为“从机”,即CPU的附属设备。通过总线与CPU通信,同时接收CPU通过总线发送的指令或数据。协议桥模块1将CPU通过总线发送的总线数据进行解析,即按照该总线的协议将CPU发送的地址、片选信号、读写数据、片选信号等输出给地址译码模块进行地址译码,从而确定选择的是通用寄存器地址段、还是自定义寄存器地址段、还是存储器地址段,如果是写操作,选中之后将对应的片选信号、地址、写信号和写数据给到缓存模块2,同样对于读操作,选中之后将对应的片选信号、地址、读信号给到缓存模块2,然后接收返回的读数据并发送到总线上。
缓存模块2作为通用接口寄存器系统的数据缓存模块,用于接收来自协议桥模块1解析后的写入指令(包括片选信号,地址)和写入数据并缓存,或者根据读取指令向协议桥模块1发送该读指令对应的数据。
在本发明的一些实施例中,缓存模块2包括地址译码模块3,寄存器模块11,其中:
所述寄存器模块11包括通用寄存器模块4和自定义寄存器模块5,所述寄存器模块11配置用于缓存所述通用接口寄存器系统接收到的数据;
所述地址译码模块3配置用于接收所述协议桥模块1的所述指令或指令和数据并对所述指令或指令和数据中的指令地址进行译码,并将译码后的所述指令或指令和数据发送到所述寄存器模块中对应类型的寄存器模块11;以及
将译码后的所述指令或指令和数据发送到存储器中。
在本实施例中,如图3所示,图3示出了地址译码模块3的内部结构图,即地址译码模块3包括地址译码逻辑12,地址译码逻辑12的功能是将协议桥模块1解析后的片选信号、字节使能信号、读/写使能信号、地址、和/或写数据进行解析,然后根据解析结果将对应的上述指令或上述指令和数据发送到通用寄存器模块4、自定义寄存器模块5或存储器接口6。也就说地址译码模块3的功能在于将协议桥模块输出的地址进行译码,确定CPU要访问的是通用寄存器模块4中的寄存器、自定义寄存器模块5中的寄存器和Memory(指存储器接口6直接要访问的存储器,在寄存器系统中需要由存储器接口6进行访问)中的哪一个;如果是写操作的话,之后将对应的片选信号、写使能信号、访问地址、写数据和字节使能信号输出给对应的模块;如果是读操作的话,之后将对应的片选信号、读使能、访问地址输出给对应的模块,进而得到相应的读数据。
具体地,如图3所示,地址译码逻辑12通过输入的读写地址进行地址译码得到片选信号(通用寄存器模块4对应的寄存器的片选信号,自定义寄存器模块5的片选信号和Memory片选信号),若通用寄存器模块4的片选信号为1,则将输入的片选信号、字节有效信号、读/写使能信号、地址、读/写数据线输出给通用寄存器模块4相连的片选信号、字节有效信号、读/写使能信号、地址、读/写数据线;若自定义寄存器模块5的片选信号为1,则将输入的片选信号、字节有效信号、读/写使能信号、地址、读/写数据线输出给自定义寄存器模块5相连的片选信号、字节有效信号、读/写使能信号、地址、读/写数据线;若Memory片选信号为1,则将输入的片选信号、字节有效信号、读/写使能信号、地址、读/写数据线输出给存储器接口6相连的片选信号、字节有效信号、读/写使能信号、地址、读/写数据线。
在本发明的一些实施例中,通用寄存器模块4包括通用寄存器逻辑16,通用寄存器信息文件17,其中:
所述通用寄存器逻辑16配置用于将所述通用寄存器模块4所接收的指令和/或数据,与所述通用寄存器信息文件17中的所有寄存器信息文件地址进行比较,选中满足比较的通用寄存器并向所述通用寄存器写入数据或从所述通用寄存器读取数据;
所述通用寄存器信息文件17配置用于保存所述通用寄存器模块的所有通用寄存器的信息与地址以及为所述通用寄存器模块中所有寄存器提供匹配映射。
在本实施例中,通用寄存器模块4的功能在于设置一些寄存器接口必需的寄存器,比如展示时钟门控中的使能有效信号、使能清除信号、使能状态、中断CPU清除信号、中断CPU设置信号、中断状态以及屏蔽信号等相关的信号;经过地址译码之后如果选中了通用寄存器模块,则通用寄存器模块4会根据片选信号、读写使能和地址写入或者读出寄存器内的值,该通用寄存器模块内部含有一个通用寄存器模块4内的所有相关的寄存器信息的文件,内部包含着寄存器的地址,复位值和寄存器类型等信息,通过将输入的地址和在片选信号、读写使能等控制信号有效的情况下与上边所提到的所有寄存器信息的内部的地址进行比较从而选中对应的寄存器,然后将值写入寄存器或者读出寄存器内的值。
具体地,如图4所示,通用寄存器模块4包括通用寄存器逻辑16和通用寄存器信息文件17,其中通用寄存器逻辑16是接收上述通用寄存器模块4发送的片选信号、字节使能信号、读/写使能信号、地址、和/或写数据,并将上述信号的地址与通用寄存器信息文件17中所有寄存器的地址进行比较,如果比较结果为匹配并选中某个寄存器,则再加上寄存器类型的限制将写入的数据通过寄存器逻辑16写入通用寄存器并最终进行输出,或者将输入的值或寄存器内部的值在地址对比和寄存器类型双重限定之后读出。
另外,通用寄存器信息文件17包含本发明所提出的通用接口寄存器系统的信息。
在本发明的一些实施例中,自定义寄存器模块5包括自定义寄存器逻辑18,自定义寄存器信息文件19,其中:
所述自定义寄存器逻辑18配置用于将所述自定义寄存器模块5所接收的指令和/或数据,与所述自定义寄存器信息文件19中的所有寄存器信息文件地址进行比较,选中满足比较的自定义寄存器并向所述通用寄存器写入数据或从所述自定义寄存器读取数据;
所述自定义寄存器信息文19件配置用于保存所述通用寄存器模块的所有通用寄存器的信息与地址以及为所述自定义寄存器模块5中所有自定义寄存器提供匹配映射。
在本实施例中,自定义寄存器模块的功能在于设置用户硬件逻辑所需的一些寄存器,比如最常见的用户硬件逻辑的使能信号,经过地址译码后如果选中了自定义寄存器模块5,则会根据片选信号、读写使能和地址将值写入寄存器内或者根据相关信号读出寄存器内的值,该自定义寄存器模块5内部含有一个包含用户定义的寄存器全部信息(地址、寄存器类型、复位值,无效比特等等)的自定义寄存器信息文件19,内部包含着自定义寄存器的地址,复位值和自定义寄存器类型等信息,通过将输入的地址和在片选信号、读写使能等控制信号有效的情况下与包含用户定义的寄存器信息内部的地址进行比较选中对应的寄存器,然后将值写入寄存器或者读出寄存器内的值。
具体地,如图5所示,自定义寄存器模块5中的自定义寄存器逻辑18通过输入的地址与脚本生成好的自定义寄存器信息文件19中的地址进行比较选中某个自定义寄存器,再加上寄存器类型的限制将写入的数据通过寄存器逻辑写入寄存器最终进行输出,或者将用户硬件逻辑输入的值或寄存器内部的值在地址对比和寄存器类型限制之后读出。
在本发明的一些实施例中,缓存模块2还包括:
RxFIFO模块,所述RxFIFO模块配置用于接收从所述协议总线通过所述协议桥模块发送的数据。
TxFIFO模块,所述TxFIFO模块配置用于接收从所述协议总线通过所述协议桥模块发送的数据。
在本实施例中,在寄存器模块11中还包括RxFIFO模块和TxFIFO,
RxFIFO和TxFIFO的功能是在同步FIFO功能的基础上加入了DMA相关功能,也支持Single传输、Burst传输和Packet传输。首先,可以通过配置参数选择是否生成这个模块,其次,可以通过参数的配置选择该模块是一个普通的同步FIFO的功能还是具有DMA功能的同步FIFO,其中FIFO的深度和数据位宽也是可配的;除此之外,该模块中还可以添加其余与FIFO或DMA相关的一些逻辑功能,新增的功能也可以灵活配置为可选的。
RxFIFO模块和TxFIFO具备相同的结构,如图6所示,图6示出的是RxFIFO的结构图,RxFIFO中实现有对同步FIFO进行相应控制的DMA功能控制模块,当设置DMA功能时,需要在寄存器模块11外外挂一个DMA模块,DMA模块可以集成在本发明提出的通用接口寄存器系统上,也可以是通用接口寄存器系统外不同的芯片模块(图1中的其他模块)上,DMA控制模块,提供一些流控信息给DMA模块,包括Single, Burst, Packet模式的选择等。当不设置DMA功能时,TXFIFO和RXFIFO起普通FIFO的作用。
在本发明的一些实施例中,缓存模块2还包括:
中断模块7,所述中断模块7配置用于实时监测所述通用接口寄存器系统中的异常,并将对应的异常写入到所述通用寄存器模块4中对应的异常寄存器,并基于所述通用寄存器模块4中的对应异常的使能状态寄存器和所述异常寄存器的值的逻辑与运算生成对应的中断信号。
在本实施例中,如图1所示,中断模块7在寄存器模块11中,如上述实施例中所述,中断模块7从通用寄存器模块4中的中断信号寄存器中读取对应的寄存器值以及对应的使能状态寄存器值,并进行逻辑与运算,然后根据运算结果向发送中断信号,CPU去处理相应的异常。
在本发明提供的一种通用接口寄存器系统中,异常设置的数目是可配置的,根据用户的需要配置与异常数目相匹配的异常端口的数目;当然,配置设置中断使能信号的数目与异常设置的数目是一样的,结合中断设置和中断使能进行按位与的逻辑操作之后就可得到使能后的异常状态寄存器(需要在通用寄存器模块中配置),这个寄存器是用来记录相应的异常的,之后将使能后的异常状态寄存器自身再进行按位或的操作得到1比特中断信号输出给CPU,CPU再对异常状态寄存器、使能状态寄存器和使能后的异常状态寄存器进行查询得到产生异常的原因;除此之外,中断模块7中还包含了与TX FIFO和RX FIFO相关固定数目的异常设置,这些异常可以根据参数的配置选择是否生成RX FIFO和TX FIFO来决定是否生成,如果没有生成TX FIFO和RX FIFO模块,那么对应的这两个模块的中断也不会生成。
如图7所示,图7所展示的是用户在源文件模板中配置了八个比特的异常设置的示意图,同时会产生八个比特的使能状态寄存器,通过将异常状态寄存器和使能状态寄存器按位与之后得到八个比特的使能后的异常状态寄存器,之后再将八个比特的使能后的异常状态寄存器自身按位或得到1比特的中断信号输出给CPU,之后CPU再对这三个状态寄存器进行查询得到产生中断的异常原因;RX FIFO和TX FIFO内部的中断原理与此类似。另外该中断模块中还支持多级中断配置、中断全输出或者中断单比特输出。
具体地,图7中示出的第一列8个空格表示对应异常#0到异常#7的8个异常的异常状态寄存器值,第二列则表示使能后的异常状态寄存器的值,第三列是指使能状态寄存器的值,如前所述,当通用接口寄存器系统出现对应的异常时,第一列的对应的异常状态寄存器会被赋值,例如异常#0产生,则第一列的第一个异常状态寄存器会被赋值为1;第三列的使能状态寄存器的值由CPU指定,即如果选择忽视异常#0,则CPU会在初始化时将此位设置成0,中断模块7在检测到异常#0后,会将异常状态寄存器的值1和使能状态寄存器的值进行逻辑与运算,假如CPU没有选择忽视该异常#0,则对应的使能状态寄存器的值为1,则1和1相与结果为1,则使能后的异常状态寄存器则为1,中断模块7则向CPU发送中断信号。
需要说明的是,中断模块7可根据需要进行灵活配置,图7示出的只是8个异常状况的中断,根据功能需要基于上述机制可以灵活配置更多或更深的中断异常个数。
在本发明的一些实施例中,缓存模块2还包括时钟复位模块10,所述时钟复位模块10包括时钟门控模块20,异步复位同步释放模块21,其中:
所述时钟门控模块20配置用于对所述通用寄存器模块中的一个或多个通用寄存器的时钟进行控制;
所述异步复位同步释放模块21配置用于使所述通用接口寄存器系统与所述协议总线异步复位后同步释放。
如图8所示,时钟模块20用来对通用寄存器模块4中的寄存器进行时钟门控功能(时钟门控(Clock-Gating)一直以来都是降低微处理器功耗的重要手段,主要针对寄存器翻转带来的动态功耗,如何更加有效地设计时钟门控对于最大限度地降低功耗,同时保证处理器的性能至关重要),异步复位同步释放模块21异步复位同步释放的功能模块,通过参数的配置选择是否产生上述时钟门控模块20和异步复位同步释放模块21。如果选择生成该模块并且是全功能的话,图1中的自定义寄存器模块是来自于时钟门控模块20门控后的时钟,其他模块的时钟可以来自于时钟模块20门控后的时钟也可以是顶层送进来的时钟;
此外,复位信号是经过异步复位同步释放之后的;如果单独生成时钟门控功能的话,自定义寄存器模块是来自于门控之后的时钟,其他模块的时钟可以来自于门控后的时钟也可以是顶层送进来的时钟;复位信号是从顶层直穿下来的;如果单独生成异步复位同步释放的话,自定义寄存器和其他模块中的时钟是从顶层直穿下来的,复位信号是经过异步复位同步释放的。
在本发明的一些实施例中,协议桥模块1包括通用协议读写状态机,异步读FIFO,异步指令FIFO,异步写FIFO,缓存模块访问状态机23,其中:
所述通用协议读写状态机配置用于解析所述协议桥模块接收到的协议总线上的指令或指令和数据,将所述指令发送到所述异步指令FIFO,以及将所述数据发送到异步写FIFO或从所述异步读FIFO读取数据封装成所述协议总线上的传输数据发送到所述协议总线上。;
所述缓存模块访问状态机23配置用于从所述异步指令FIFO中读取所述指令或从所述异步指令FIFO和从所述异步写FIFO中读取所述指令和数据,并将所述指令或所述指令和数据发送到缓存模块2,以及从所述缓存模块2获取数据发送到所述异步读FIFO中。
在本实施例中,协议桥模块1主要有两个功能:协议转化和跨时钟域处理。协议转化是将通用协议接口转化为存储SRAM(Static Random-Access Memory,SRAM,静态随机存储器)接口(即通用接口寄存器系统所连接总线的总线协议和通用接口寄存器系统内部的逻辑电路的数据传输接口的内部协议)。协议桥模块1作为总线协议的从机一端,根据统一化的标准协议接收CPU发送的地址,片选信号,字节使能信号,读写数据等信息,再将这些信息内容转化为存储SRAM的协议接口(通用接口寄存器系统内部的逻辑电路的数据传输接口的内部协议接口),方便后面进行地址译码和将数据存入对应的存储地址段中。如图2所示,以异步时钟域为例,在时钟域1和时钟域2的时钟不同的前提下,通过通用协议读写状态机22解析通用协议接口(总线接口)接收到的读写命令,片选信息和读写数据。将写数据放入异步的写FIFO 25中,读写命令,片选信息和地址信息写入指令FIFO中,根据读FIFO 24的空满状态从异步读FIFO 24中读取读数据。最后缓存访问状态机23根据SRAM接口要求和自己的时钟域,从三个FIFO中提取信息。最终完成了从通用协议接口到存储SRAM接口的转化。
本发明提出的通用接口寄存器系统支持同步处理,也支持异步跨时钟域处理。同步是指通用协议一端和其他模块即用户定义的功能模块在相同的时钟域中,即图中的时钟域1和时钟域2是同一个时钟域。此时,协议桥为同步桥,所用的三个FIFO为同步FIFO。异步处理是指通用协议一端和其他模块在不同的时钟域中(时钟域1和时钟域2的时钟频率不同),此时协议桥为异步桥,所用的三个FIFO为异步FIFO。异步桥可兼容同步电路。
在本实施例中,协议桥模块具体可以被划分为通用协议读写状态机22,异步读FIFO 24,异步指令FIFO 25,异步写FIFO 26,缓存模块访问状态机23。如图2所示,通用协议读写状态机位于总线协议的时域内,异步读FIFO 24,异步指令FIFO 25,异步写FIFO 26处于总线协议的时域和通用接口寄存器系统的时域之间,缓存访问状态机23位于用接口寄存器系统的时域。在一些情况下由于总线协议规定的时钟和用接口寄存器系统的时钟频率不同,因此,图2中时钟域1和时钟域2在很多情况下并不相同。
故而,本发明采用异步的FIFO作为连接通用协议读写状态机和缓存访问状态机之间的数据连接结构,以满足本发明所提出的用接口寄存器系统的通用性。
本发明的另一方面还提出一种上述实施方式中所述的通用接口寄存器系统的快速生成方法,如图9所示,该方法包括:
步骤S1、根据对应接口的需求配置功能模块以及寄存器参数;
步骤S2、将所述通用接口寄存器系统的硬件电路设计成模板设计文件;
步骤S3、根据所述功能模块和所述寄存器参数以及配置文件中关于上述通用接口寄存器系统中各个模块的配置参数激活所述模板设计文件中对应的模块并生成最终设计文件。
在本发明的一些实施方式中,根据对应接口的需求配置功能模块以及寄存器参数包括:
根据所述需求配置中所述接口所连接的总线协议选择对应的通用协议读写状态机逻辑;
根据所述寄存器参数配置通用寄存器模块和自定义寄存器模块中的寄存器的类型及寄存器个数。
在本实施例中,本发明提出了如前所述的通用接口寄存器系统,并将上述系统设计成RTL语言的设计模板,并对上述系统中每一个模块进行标记,同时根据标记设定对应的配置参数,如果需要对应的模块,则将该模块的对应的标记的参数设置为True或Yes。
此外,对于通用寄存器模块和自定义寄存器模块,根据上述系统在SOC芯片中的面积确定寄存器模块和自定义寄存器模块的规格,在根据对应需求的规格进行裁剪,例如不需要某些通用寄存器可以直接将对应的寄存器标记位置设置为No,不需要中断模块则可以将对应的配置参数设定为No。
需要说明的是上述系统中,任何模块的有无均可通过配置文件进行配置,寄存器模块中通用寄存器模块和自定义寄存器模块中的寄存器个数及规格需要在配置文件中指定。TxFIFO、RXFIFO、异步FIFO的深度与位宽可根据接口的实际需求指定。
在本发明的一些实施例中,通过在表格(配置文件)内填写参数来定义寄存器类型及其域,(由于内部的集成已经完成,因此将用户自己的实现的模块与工具生成的寄存器模块进行集成)然后通过调用脚本将表格内的参数抽出来填写进对应的硬件逻辑模板和寄存器列表模板中,在此过程中,脚本会同时检查表格内的参数定义正确与否,如果出现错误就不能正确生成寄存器列表及其相应的寄存器逻辑并且同时会报错,待用户将表格内的错误修改之后,才能通过脚本将表格内的参数抽出来填写进寄存器逻辑模板和寄存器列表模板中,才能得到正确的寄存器接口逻辑和寄存器列表。
其次,内部还可以集成一些通用的模块,这样既增加了模块的可复用性,又避免了写出来的代码逻辑错误的问题,通过配置相应的参数选择是否生成通用模块中的某些。
通过本发明提出的一种通用接口寄存器系统,通过协议桥对接多种总线协议并解析总线上的数据,并通过缓存模块中各个模块缓存从总线上解析的数据,实现ASIC芯片或SOC芯片内部逻辑与总线的通用接口。同时将上述系统集成成通用模板,并对通用接口寄存器系统中各个模块进行标记,根据配置文件中对应的标记的参数裁剪通用模板并生成对应的寄存器接口电路设计文件。可在SOC芯片中快速实现各个模块之间的接口电路的设计,只需将SOC芯片中不同模块所连接的总线类型以及所功能需求中所需要的各种寄存器的类型及个数写入配置文件,便可基于通用模板生成。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

1.一种通用接口寄存器系统,其特征在于,包括协议桥模块,缓存模块,其中:
所述协议桥模块配置用于基于所述通用接口寄存器系统所连接的总线,将所述总线上的总线数据基于所述总线协议解析成所述通用接口寄存器系统内使用的指令或指令和数据;并将所述指令或所述指令和数据发送到所述缓存模块;
所述缓存模块配置用于接收所述指令或所述指令和数据,根据所述指令或所述指令和数据从所述缓存模块读取数据发送到所述协议桥模块或根据所述指令和数据将所述数据缓存到所述缓存模块。
2.根据权利要求1所述的系统,其特征在于,所述缓存模块包括地址译码模块,寄存器模块,其中:
所述寄存器模块包括通用寄存器模块和自定义寄存器,所述寄存器模块配置用于缓存所述通用接口寄存器系统接收到的数据;
所述地址译码模块配置用于接收所述协议桥模块的所述指令或所述指令和数据并对所述指令或所述指令和数据中的指令地址进行译码,并将译码后的所述指令或所述指令和数据发送到所述寄存器模块中对应类型的寄存器模块;以及
将译码后的所述指令或所述指令和数据发送到存储器中。
3.根据权利要求2所述的系统,其特征在于,所述通用寄存器模块包括通用寄存器逻辑,通用寄存器信息文件,其中:
所述通用寄存器逻辑配置用于将所述通用寄存器模块所接收的指令和/或数据,与所述通用寄存器信息文件中的所有寄存器信息文件地址进行比较,选中满足比较的通用寄存器并向所述通用寄存器写入数据或从所述通用寄存器读取数据;
所述通用寄存器信息文件配置用于保存所述通用寄存器模块的所有通用寄存器的信息与地址以及为所述通用寄存器模块中所有寄存器提供匹配映射。
4.根据权利要求2所述的系统,其特征在于,所述自定义寄存器模块包括自定义寄存器逻辑,自定义寄存器信息文件,其中:
所述自定义寄存器逻辑配置用于将所述自定义寄存器模块所接收的指令和/或数据,与所述自定义寄存器信息文件中的所有寄存器信息文件地址进行比较,选中满足比较的自定义寄存器并向所述自定义寄存器写入数据或从所述通用寄存器读取数据;
所述自定义寄存器信息文件配置用于保存所述自定义寄存器模块的所有自定义寄存器的信息与地址以及为所述自定义寄存器模块中所有寄存器提供匹配映射。
5.根据权利要求2所述的系统,其特征在于,所述缓存模块还包括:
RxFIFO模块,所述RxFIFO模块配置用于接收从所述协议总线通过所述协议桥模块发送的数据;
TxFIFO模块,所述TxFIFO模块配置用于接收从所述协议总线通过所述协议桥模块发送的数据。
6.根据权利要求2所述的系统,其特征在于,所述缓存模块还包括:
中断模块,所述中断模块配置用于实时监测所述通用接口寄存器系统中的异常,并将对应的异常写入到所述通用寄存器模块中对应的异常寄存器,并基于所述通用寄存器模块中的对应异常的使能状态寄存器和所述异常寄存器的值的逻辑与运算生成对应的中断信号。
7.根据权利要求2所述的系统,其特征在于,所述缓存模块还包括时钟复位模块,所述时钟复位模块包括时钟门控模块,异步复位同步释放模块,其中:
所述时钟门控模块配置用于对所述通用寄存器模块中的一个或多个通用寄存器的时钟进行控制;
所述异步复位同步释放模块配置用于使所述通用接口寄存器系统与所述协议总线异步复位后同步释放。
8.根据权利要求1所述的系统,其特征在于,所述协议桥模块包括通用协议读写状态机,异步读FIFO,异步指令FIFO,异步写FIFO,缓存模块访问状态机,其中:
所述通用协议读写状态机配置用于解析所述协议桥模块接收到的协议总线上的指令或指令和数据,将所述指令发送到所述异步指令FIFO,以及将所述数据发送到异步写FIFO或从所述异步读FIFO读取数据封装成所述协议总线上的传输数据发送到所述协议总线上;
所述缓存模块访问状态机配置用于从所述异步指令FIFO中读取所述指令或从所述异步指令FIFO和从所述异步写FIFO中读取所述指令和数据,并将所述指令或所述指令和数据发送到缓存模块,以及从所述缓存模块获取数据发送到所述异步读FIFO中。
9.一种上述权利要求1-8中任一项权利要求所述的通用接口寄存器系统的快速生成方法,其特征在于,包括:
根据对应接口的需求配置功能模块以及寄存器参数;
将所述通用接口寄存器系统的硬件电路设计成模板设计文件;
根据所述功能模块和所述寄存器参数以及配置文件中关于上述通用接口寄存器系统中各个模块的配置参数激活所述模板设计文件中对应的模块并生成最终设计文件。
10.根据权利要求9所述的方法,其特征在于,所述根据对应接口的需求配置功能模块以及寄存器参数包括:
根据所述需求配置中所述接口所连接的总线协议选择对应的通用协议读写状态机逻辑;
根据所述寄存器参数配置通用寄存器模块和自定义寄存器模块中的寄存器的类型及寄存器个数。
CN202210246442.9A 2022-03-14 2022-03-14 一种通用接口寄存器系统及快速生成方法 Active CN114356419B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210246442.9A CN114356419B (zh) 2022-03-14 2022-03-14 一种通用接口寄存器系统及快速生成方法
PCT/CN2023/079789 WO2023174086A1 (zh) 2022-03-14 2023-03-06 一种通用接口寄存器系统及快速生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210246442.9A CN114356419B (zh) 2022-03-14 2022-03-14 一种通用接口寄存器系统及快速生成方法

Publications (2)

Publication Number Publication Date
CN114356419A true CN114356419A (zh) 2022-04-15
CN114356419B CN114356419B (zh) 2022-06-07

Family

ID=81094986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210246442.9A Active CN114356419B (zh) 2022-03-14 2022-03-14 一种通用接口寄存器系统及快速生成方法

Country Status (2)

Country Link
CN (1) CN114356419B (zh)
WO (1) WO2023174086A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023174086A1 (zh) * 2022-03-14 2023-09-21 苏州浪潮智能科技有限公司 一种通用接口寄存器系统及快速生成方法
CN116795454A (zh) * 2023-08-28 2023-09-22 芯耀辉科技有限公司 一种芯片配置方法、设备及介质
CN117118828A (zh) * 2023-10-23 2023-11-24 上海芯联芯智能科技有限公司 一种协议转换器、电子设备及一种配置方法
WO2024119817A1 (zh) * 2022-12-05 2024-06-13 苏州元脑智能科技有限公司 数据处理系统、方法、设备及非易失性可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117435534B (zh) * 2023-11-01 2024-06-18 上海合芯数字科技有限公司 基于外围总线的数据传输电路、方法及处理器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488600A (zh) * 2013-10-08 2014-01-01 江苏物联网研究发展中心 通用从机同步串行接口电路
WO2016202114A1 (zh) * 2015-06-16 2016-12-22 深圳市中兴微电子技术有限公司 一种数据传输方法、装置及存储介质
CN112035389A (zh) * 2020-08-28 2020-12-04 西安微电子技术研究所 一种plb-axi总线转换桥及其工作方法
US20210349843A1 (en) * 2020-05-07 2021-11-11 Robert Bosch Gmbh System component and use of a system component

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6373848B1 (en) * 1998-07-28 2002-04-16 International Business Machines Corporation Architecture for a multi-port adapter with a single media access control (MAC)
US6959428B2 (en) * 2003-06-19 2005-10-25 Lsi Logic Corporation Designing and testing the interconnection of addressable devices of integrated circuits
CN102592023B (zh) * 2012-01-06 2017-06-20 广东新岸线计算机系统芯片有限公司 集成电路设计过程中的寄存器设计方法及装置
CN104731746A (zh) * 2013-12-20 2015-06-24 上海华虹集成电路有限责任公司 设备控制器装置
CN106407522B (zh) * 2016-08-31 2019-09-10 德为显示科技股份有限公司 基于fpga的逻辑ip总线互联实现装置
US11151301B2 (en) * 2019-06-05 2021-10-19 SiFive, Inc. Point-to-point module connection interface for integrated circuit generation
CN112559410A (zh) * 2020-12-21 2021-03-26 苏州长风航空电子有限公司 一种基于fpga的lio总线扩展uart外设系统及方法
CN114356419B (zh) * 2022-03-14 2022-06-07 苏州浪潮智能科技有限公司 一种通用接口寄存器系统及快速生成方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488600A (zh) * 2013-10-08 2014-01-01 江苏物联网研究发展中心 通用从机同步串行接口电路
WO2016202114A1 (zh) * 2015-06-16 2016-12-22 深圳市中兴微电子技术有限公司 一种数据传输方法、装置及存储介质
US20210349843A1 (en) * 2020-05-07 2021-11-11 Robert Bosch Gmbh System component and use of a system component
CN112035389A (zh) * 2020-08-28 2020-12-04 西安微电子技术研究所 一种plb-axi总线转换桥及其工作方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
冯民芳: "基于VXI总线的通用接口模块", 《计算机测量与控制》 *
史森茂等: "一种PCI总线Master模块接口设计", 《计算机技术与发展》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023174086A1 (zh) * 2022-03-14 2023-09-21 苏州浪潮智能科技有限公司 一种通用接口寄存器系统及快速生成方法
WO2024119817A1 (zh) * 2022-12-05 2024-06-13 苏州元脑智能科技有限公司 数据处理系统、方法、设备及非易失性可读存储介质
CN116795454A (zh) * 2023-08-28 2023-09-22 芯耀辉科技有限公司 一种芯片配置方法、设备及介质
CN116795454B (zh) * 2023-08-28 2023-11-03 芯耀辉科技有限公司 一种芯片配置方法、设备及介质
CN117118828A (zh) * 2023-10-23 2023-11-24 上海芯联芯智能科技有限公司 一种协议转换器、电子设备及一种配置方法
CN117118828B (zh) * 2023-10-23 2024-01-23 上海芯联芯智能科技有限公司 一种协议转换器、电子设备及一种配置方法

Also Published As

Publication number Publication date
WO2023174086A1 (zh) 2023-09-21
CN114356419B (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
CN114356419B (zh) 一种通用接口寄存器系统及快速生成方法
US6434660B1 (en) Emulating one tape protocol of flash memory to a different type protocol of flash memory
CN108650136B (zh) 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法
CN102929836B (zh) 一种航天专用asic芯片系统
WO2021244194A1 (zh) 寄存器的读写方法、芯片、子系统、寄存器组及终端
CN111414325B (zh) 一种Avalon总线转Axi4总线的方法
KR20110089321A (ko) 직렬 포트 메모리 통신 레이턴시 및 신뢰성을 향상시키기 위한 방법 및 시스템
CN112540952B (zh) 具有片内并行接口的片上系统
CN115866081B (zh) 一种基于soc的工业以太网协议转换方法
CN108833241B (zh) 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法
WO2014086219A1 (zh) 一种基于外设部件互联总线的内容查找芯片及系统
CN112398877B (zh) 控制信号转换电路、知识产权核以及系统级芯片
CN110765066B (zh) 一种片上系统
KR100712511B1 (ko) 호스트와 적어도 2개의 서로 다른 속도의 데이터 통신이가능한 메모리 장치 및 이를 이용하는 데이터 통신 시스템
CN110827891B (zh) 信号转换单元、存储器以及应用于存储器的驱动方法
CN115982071A (zh) 一种面向ddr3控制器的片上网络转换接口
CN112540770A (zh) 基于PowerPC和FPGA的异构平台及其加速方法
CN112100098B (zh) Ddr控制系统及ddr存储系统
CN210402342U (zh) 一种基于zynq的数据加解密结构
US6567320B2 (en) Data write circuit
Xu et al. Design and implementation of mechatrolink-iii bus slave station based on sopc
CN103164370B (zh) 一种高速局部总线访问控制接口模块
CN115103032B (zh) 通信协议控制电路和芯片
CN114840458B (zh) 读写模块、片上系统和电子设备
CN113515910B (zh) 一种基于axi总线的数据预处理方法

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