CN116795454B - 一种芯片配置方法、设备及介质 - Google Patents

一种芯片配置方法、设备及介质 Download PDF

Info

Publication number
CN116795454B
CN116795454B CN202311082689.2A CN202311082689A CN116795454B CN 116795454 B CN116795454 B CN 116795454B CN 202311082689 A CN202311082689 A CN 202311082689A CN 116795454 B CN116795454 B CN 116795454B
Authority
CN
China
Prior art keywords
chip
configuration
interface
signal
register
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
Application number
CN202311082689.2A
Other languages
English (en)
Other versions
CN116795454A (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.)
Xinyaohui Technology Co ltd
Original Assignee
Xinyaohui 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 Xinyaohui Technology Co ltd filed Critical Xinyaohui Technology Co ltd
Priority to CN202311082689.2A priority Critical patent/CN116795454B/zh
Publication of CN116795454A publication Critical patent/CN116795454A/zh
Application granted granted Critical
Publication of CN116795454B publication Critical patent/CN116795454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请提供一种芯片配置方法、设备及介质,属于计算机技术领域,用于应对芯片接口的资源占用高和延迟高的技术难题。该芯片配置方法包括:生成第一信号配置表;基于配置选择信号,从第一信号配置表选择与给定配置模式对应的给定信号配置值;基于给定信号配置值和第一映射关系,生成对应的给定配置码;基于给定配置码设定配置寄存器,然后通过芯片的内部驱动方式驱动配置寄存器从而按照所述给定配置模式配置芯片接口。如此降低了芯片外部电路的资源占用和降低延迟。

Description

一种芯片配置方法、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种芯片配置方法、设备及介质。
背景技术
封装好的芯片可以有多个芯片接口,从芯片内部电路引出并通过引脚与芯片外部电路连接,用于实现芯片内部与芯片外部电路之间的数据交互,外部电路可以通过芯片接口对芯片进行配置。随着芯片的功能更强大和芯片设计复杂度提升,芯片接口的数量也越来越多,芯片接口提供的功能也更多样化。但是增加的芯片接口数量导致更大的集成难度,也使得与芯片相连的外部电路占用更多资源,并且,切换芯片工作模式时也需要对多个芯片接口的信息进行调整。
为此,本申请提供了一种芯片配置方法、设备及介质,用于应对现有技术中的技术难题。
发明内容
第一方面,本申请提供了一种芯片配置方法。所述芯片配置方法应用于第一芯片,所述第一芯片包括多个第一芯片接口,对所述第一芯片进行配置及数据交互通过所述多个第一芯片接口实现,所述芯片配置方法包括:生成与所述多个第一芯片接口中的至少一个第一芯片接口相关联的第一信号配置表,所述第一信号配置表包括与多个配置模式一一对应的多个信号配置值,所述多个配置模式中的每一个配置模式指示所述至少一个第一芯片接口之间的配置次序和所述至少一个第一芯片接口各自的接口信息配置,所述第一信号配置表被存储在所述第一芯片的第一存储模块;基于配置选择信号,从存储在所述第一芯片的所述第一存储模块中的所述第一信号配置表选择与给定配置模式对应的给定信号配置值;基于所述给定信号配置值和第一映射关系,生成与所述给定配置模式对应的给定配置码,其中,所述第一映射关系指示所述至少一个第一芯片接口与所述第一芯片的至少一个第一配置寄存器之间的映射关系;基于所述给定配置码设定所述至少一个第一配置寄存器,然后通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口。
通过本申请的第一方面,降低了芯片外部电路的资源占用,有利于降低延迟和提升响应速度,通过配置选择信号便利地实现芯片工作模式的切换,简化了与微处理器等的交互复杂度,也降低了驱动代码的编写难度,有助于提升响应速度。
在本申请的第一方面的一种可能的实现方式中,所述至少一个第一芯片接口之间的配置次序包括分别设定所述至少一个第一芯片接口各自的接口信息配置的先后次序。
在本申请的第一方面的一种可能的实现方式中,所述至少一个第一芯片接口用于设定所述第一芯片的接收端数据速率,接收端数据位宽,接收端参考时钟频率,发送端数据速率,发送端数据位宽,发送端参考时钟频率。
在本申请的第一方面的一种可能的实现方式中,所述配置选择信号由所述第一芯片生成或者来自所述第一芯片的外部。
在本申请的第一方面的一种可能的实现方式中,所述芯片配置方法还包括:基于来自所述第一芯片的外部的接口信号,配置所述多个第一芯片接口中的相对于所述至少一个第一芯片接口的其它第一芯片接口。
在本申请的第一方面的一种可能的实现方式中,所述第一芯片包括与所述多个第一芯片接口一一对应的多个第一引脚,所述多个第一引脚中的每一个第一引脚用于从所述第一芯片的外部接收接口信号从而配置与该第一引脚对应的第一芯片接口,与所述至少一个芯片接口相关联的接口信号被删减。
在本申请的第一方面的一种可能的实现方式中,所述第一芯片还包括管理模块,所述管理模块用于基于所述给定配置码设定所述至少一个第一配置寄存器然后通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器,所述管理模块与所述至少一个第一配置寄存器位于同一时钟域。
在本申请的第一方面的一种可能的实现方式中,所述第一芯片应用于用户确定的多种通信协议,所述至少一个第一芯片接口和所述多个配置模式基于所述多种通信协议确定。
在本申请的第一方面的一种可能的实现方式中,所述第一芯片应用于用户确定的多种应用场景,所述至少一个第一芯片接口和所述多个配置模式基于所述多种应用场景的响应速度和功耗要求确定。
在本申请的第一方面的一种可能的实现方式中,所述第一映射关系基于所述至少一个第一配置寄存器各自的寄存器名称、寄存器地址、域段名称、域段复位值和域段描述信息确定。
在本申请的第一方面的一种可能的实现方式中,所述至少一个第一配置寄存器各自的存储地址按照特定次序连续地分布于所述第一芯片的寄存器存储空间,其中,基于所述给定配置码设定所述至少一个第一配置寄存器包括:基于所述给定配置码和所述特定次序进行地址计算从而确定所述至少一个第一配置寄存器各自的起始地址。
在本申请的第一方面的一种可能的实现方式中,所述芯片配置方法还包括:通过改变所述接口信号从而改变所述其它第一芯片接口的接口信息配置,以及,通过改变所述配置选择信号从而改变所述至少一个第一芯片接口的接口信息配置。
在本申请的第一方面的一种可能的实现方式中,所述接口信号与所述至少一个第一配置寄存器位于不同时钟域。
第二方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第四方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第五方面,本申请实施例还提供了一种用于智能设备互联的芯片配置方法。所述芯片配置方法包括:确定需要互联的多个智能设备;确定用于所述多个智能设备之间互联的至少一种通信协议;基于所述至少一种通信协议,生成用于所述多个智能设备中的第一智能设备的第一信号配置表,其中,所述第一智能设备包括第一芯片,所述第一芯片包括多个第一芯片接口,对所述第一芯片进行配置及数据交互通过所述多个第一芯片接口实现,所述第一信号配置表与所述多个第一芯片接口中的至少一个第一芯片接口相关联的,所述第一信号配置表包括与多个配置模式一一对应的多个信号配置值,所述多个配置模式中的每一个配置模式指示所述至少一个第一芯片接口之间的配置次序和所述至少一个第一芯片接口各自的接口信息配置,所述第一信号配置表被存储在所述第一芯片的第一存储模块;基于配置选择信号,从存储在所述第一芯片的所述第一存储模块中的所述第一信号配置表选择与给定配置模式对应的给定信号配置值;基于所述给定信号配置值和第一映射关系,生成与所述给定配置模式对应的给定配置码,其中,所述第一映射关系指示所述至少一个第一芯片接口与所述第一芯片的至少一个第一配置寄存器之间的映射关系;基于所述给定配置码设定所述至少一个第一配置寄存器,然后通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口;使用已经配置的所述第一芯片,实现所述第一智能设备与所述多个智能设备中的相对于所述第一智能设备的另一智能设备的互联。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种通过接口信号配置芯片接口的示意图;
图2为本申请实施例提供的一种芯片配置方法的流程示意图;
图3为本申请实施例提供的一种通过芯片内部驱动方式来配置芯片接口的示意图;
图4为本申请实施例提供的一种通过复合驱动方式来配置芯片接口的示意图;
图5为本申请实施例提供的一种用于智能设备互联的芯片配置方法的流程示意图;
图6为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
应当理解的是,在本申请的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图1为一种通过接口信号配置芯片接口的示意图。如图1所示,第一芯片A 100包括三个芯片接口,分别是第一芯片接口A 110,第一芯片接口B 112,以及第一芯片接口C 114。三个芯片接口从第一芯片A 100的内部电路引出并通过各自的引脚与芯片外部电路连接。其中,第一芯片接口A 110与第一引脚A 130连接,第一芯片接口B 112与第一引脚B 132连接,以及第一芯片接口C 114与第一引脚C 134连接。第一芯片A 100可以有多个芯片接口,这里只是示例性的示出了第一芯片接口A 110,第一芯片接口B 112,以及第一芯片接口C114。第一芯片A 100的芯片接口的数量可以是任意数量。第一芯片A 100与芯片外部电路之间的数据交互,以及对第一芯片A 100进行配置例如切换第一芯片A 100的工作模式,是通过第一芯片A 100的芯片接口例如第一芯片接口A 110、第一芯片接口B 112及第一芯片接口C 114来实现。随着芯片功能的增加以及芯片设计复杂度的增加,也对芯片配置环节提出更多的要求。例如,第一芯片A 100可能需要同时支持多种通信协议,这些不同的通信协议可能要求通过不同的芯片接口来设定各自的通信速率、时钟频率等信息,而且随着通信协议的版本更迭、应用场景变化、用户需求等,可能需要芯片接口更改设定过的信息,例如可能需要切换芯片的工作模式。图1示出了通过接口信号配置芯片接口的方式。通过发送到第一引脚A 130的接口信号A 140来配置第一芯片接口A 110,通过发送到第一引脚B 132的接口信号B 142来配置第一芯片接口B 112,以及通过发送到第一引脚C 134的接口信号C 144来配置第一芯片接口C 114。这样通过接口信号配置芯片接口的方式,需要通过芯片外部电路例如上位机来统一管理和设定各个接口信号,包括考虑每个接口信号的电平、数据位宽等特性以便与对应的引脚和芯片接口进行适配。另外,来自芯片外部电路的接口信号,一般与第一芯片A 100的本地参考时钟信号处于不同的时钟域,因此可能还需要对接口信号与第一芯片A 100的本地参考时钟信号之间的频差和相位差进行补偿,从而避免可能发生的误码等问题。而且因为需要跨时钟域来处理接口信号,也就是从接口信号的时钟域到第一芯片A 100的内部模块、电路、器件所采用的本地时钟域,会导致更大的延迟。在一些应用场景下,例如高速数字通信等要求延迟低和响应速度快的应用场景,图1所示的通过接口信号配置芯片接口的方式难以满足这些要求。另外,在切换第一芯片A 100的工作模式时,可能需要按照不同的次序来先后对各个芯片接口进行配置。例如,在一种工作模式下,可能需要依次对第一芯片接口A 110,第一芯片接口B 112,以及第一芯片接口C 114进行配置;在另一种工作模式下,可能需要依次对第一芯片接口B 112,第一芯片接口C 114,以及第一芯片接口A 110进行配置。因此,不仅需要考虑各个芯片接口的可能的配置组合,还需要考虑各个芯片接口之间的可能的配置次序。例如,第一芯片接口A 110可能用于设定数据速率,而第一芯片接口B 112可能用于设定数据位宽;取决于具体的工作模式,可能需要先设定数据速率再设定数据位宽,或者,需要先设定数据位宽再设定数据速率。这样就意味着,在图1所示的通过接口信号配置芯片接口的方式下,需要结合各个芯片接口之间的可能的配置次序,来确定对各个接口信号进行设定的先后次序。例如,当需要依次对第一芯片接口B 112,第一芯片接口C 114,以及第一芯片接口A 110进行配置时,这意味着需要依次设定与第一芯片接口B 112对应的接口信号B 142,与第一芯片接口C 114对应的接口信号C 144,以及与第一芯片接口A 110对应的接口信号A 140,这样导致配置速度慢。随着芯片的功能越来越复杂,芯片的接口信号越来越多,集成和配置难度加大。采用图1所示的通过接口信号配置芯片接口的方式,在切换芯片的工作模式时,不仅需要通过芯片外部电路对接口信号进行设定从而导致配置速度慢,而且需要占用大量的外部电路资源,增加了芯片集成难度。并且,随着新的通信协议或者新的版本,以及用户需求变化,可能需要改变第一芯片A 100的工作模式或者说更改过去做出的对芯片接口的配置。在一些需要频繁切换芯片工作模式的应用场景,可能需要频繁地改动对芯片接口的配置。下面结合本申请具体实施例说明本申请提供的一种芯片配置方法、设备及介质,如何在满足对芯片配置要求的同时实现了低延迟、响应速度快且资源占用少。
图2为本申请实施例提供的一种芯片配置方法的流程示意图。所述芯片配置方法应用于第一芯片,所述第一芯片包括多个第一芯片接口,对所述第一芯片进行配置及数据交互通过所述多个第一芯片接口实现。如图2所示,芯片配置方法包括以下步骤。
步骤S210:生成与所述多个第一芯片接口中的至少一个第一芯片接口相关联的第一信号配置表,所述第一信号配置表包括与多个配置模式一一对应的多个信号配置值,所述多个配置模式中的每一个配置模式指示所述至少一个第一芯片接口之间的配置次序和所述至少一个第一芯片接口各自的接口信息配置,所述第一信号配置表被存储在所述第一芯片的第一存储模块。
步骤S220:基于配置选择信号,从存储在所述第一芯片的所述第一存储模块中的所述第一信号配置表选择与给定配置模式对应的给定信号配置值。
步骤S230:基于所述给定信号配置值和第一映射关系,生成与所述给定配置模式对应的给定配置码,其中,所述第一映射关系指示所述至少一个第一芯片接口与所述第一芯片的至少一个第一配置寄存器之间的映射关系。
步骤S240:基于所述给定配置码设定所述至少一个第一配置寄存器,然后通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口。
参阅上述各个步骤,通过配置选择信号来选择给定信号配置值,然后基于所述给定信号配置值和第一映射关系生成与所述给定配置模式对应的给定配置码,最后基于所述给定配置码设定所述至少一个第一配置寄存器,这样使得后续可以通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口。如此,可以通过芯片内部模块来从芯片内部去直接配置各个第一配置寄存器,还可以通过第一配置寄存器的定义来设定具体工作模式,因为是通过所述第一芯片的内部驱动方式,因此在配置速度上显著快于通过芯片外部电路和接口信号的外部驱动方式。另外,芯片工作模式的切换可以通过配置选择信号进行,这样用户无需了解各个配置寄存器的含义和配置次序,而且也节省了通过芯片外部电路来调配各个接口信号的资源消耗,有利于提升集成度。在一般情况下,可以事先明确第一芯片需要支持的通信协议、用户需求和应用场景等,进而可以确定有限的配置模式和相应的调整范围,并且为此生成第一信号配置表,将第一信号配置表存储在第一芯片的第一存储模块,例如第一芯片的双倍数据率同步动态随机存取存储器(Double Data Rate Synchronous DynamicRandom Access Memory,DDR SRAM)等。例如,通用串行总线(Universal Serial Bus,USB)协议,串行高级技术配置(Serial Advanced Technology Attachment,SATA)协议,高清多媒体接口(High Definition Multimedia Interface, HDMI)协议,还有快捷外围组件互连(Peripheral Component Interconnect Express,PCIe)协议等,可能各自对发送端信号速率、发送端数据位宽还有其它方面做出了限定。可以基于这些协议各自做出的限定,确定多个配置模式和生成第一信号配置表。多个配置模式代表了第一芯片支持的各个高速接口协议下各自对例如发送端的信号速率和数据位宽的要求。当芯片工作模式切换时,可能需要切换所支持的高速接口协议,也就需要设定相应的发送端的信号速率和数据位宽,也就是需要寻址到相应的配置寄存器和域段。这一点,通过生成与所述给定配置模式对应的给定配置码,以及基于所述给定配置码设定所述至少一个第一配置寄存器,可以便利地实现寄存器寻址和域段设定。在一些示例中,还可以结合地址计算、特定写入次序和特定读取次序等,充分利用第一芯片内部存储资源,有利于降低延迟和提升响应速度。
在一些示例中,第一芯片内部提供SRAM作为第一存储模块,其中根据第一信号配置表提供了多个配置模式。例如,结合高速接口物理层(PHY)的配置,可以支持多种通信协议,例如PCIe Ethernet协议等。当输入接口信息如发送端数据速率和发送端数据位宽等信息配置不同时,高速接口物理层可以实现不同速率的高速接口协议。例如对于发送端信号的配置,准备了从PCIE 1.0到PCIE 5.0一共五套配置模式。每一套配置模式都包括一个寄存器地址项和多个寄存器写数据项,寄存器地址项记录了相应的配置寄存器的地址,多个寄存器写数据项记录了要写入相应配置寄存器的多个域段的配置值。该SRAM还包括公共参数,一个是发送端配置在SRAM的起始地址,另一个是发送端配置对应的寄存器个数也就是每一个针对发送端配置信息的配置模式需要用到多少个寄存器写数据项。不同配置模式下个寄存器写数据项的数量是一致的,也是与上面的公共参数也就是发送端配置对应的寄存器个数一致。这样,配置选择信号用于选择配置模式,例如选择了PCIE 5.0,则基于配置选择信号以及上述的针对发送端配置的公共参数,可以便利地知道要从SRAM中的哪个位置开始读取,以及要读取多少个位置,这样后续可以进行相应的寄存器写入操作来配置相应的配置寄存器的各个域段。这里设SRAM中各个配置模式按照类似burst写的方式记录,因此可以通过简单的地址计算来获取相应的配置模式。以实现支持PCIe5协议为例,可以事先规范用户配置表格,例如通过遍历所支持的配置模式也即协议模式,将需要配置的信息如发送端数据速率和发送端数据位宽等,以如用户配置表格等形式,进行记录、整理和分析。接着,可以规范要删减的接口信号和寄存器之间的映射表,因为通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口,这意味着可以不需要借助外部的接口信号就能配置所述至少一个第一芯片接口,也就意味着可以删减原本用于配置所述至少一个第一芯片接口的接口信号。接着,可以编写配置码生成脚本,通过自动化脚本来读取用户配置表格的配置模式信息、读取信号配置表还有读取接口信号和寄存器映射表,以及读取寄存器表格。其中,用户配置表格的配置模式信息指示了第一芯片需要支持的配置模式,例如需要实现PCIE 5协议,并且需要支持的参考时钟频率为100兆赫兹(MHz)。信号配置表用于指示不同配置模式下的信号配置值,例如,从PCIE 1.0到PCIE 5.0的五套配置模式下,发送端信号速率为3,2,2,1,0,发送端数据位宽为3,3,4,4,4。接口信号和寄存器映射表用于指示接口信号与对应的配置寄存器和域段之间的映射关系,例如,用于设定发送端信号速率的接口信号对应的配置寄存器和域段,还有用于设定发送端数据位宽的接口信号对应的配置寄存器和域段。这里,在编写配置码生成脚本后,主要是利用自动化脚本或者类似的自动化工具,来便利地获取信号和对应配置寄存器的映射关系。获取映射关系的方法是多样的,比如像实施例维护信号和寄存器名称的映射表,寄存器表格,也可以只维护信号和寄存器的映射表,在映射表具体记录每个信号对应的寄存器地址和域段地址。维护信号和寄存器映射的方法是多样的,在此不做具体限定。接着,基于配置模式,信号配置值,信号和寄存器的映射关系,生成对应的配置码。由配置模式,信号配置值,信号和寄存器生成映射关系生成配置码的规则可以是任意合适的方式,在此不做具体限定,只要能确保生成配置码的规则与应用配置码来设定配置寄存器采用同一套规则。
除了针对发送端配置的情况,还可以通过配置选择信号设定其它方面,例如设定接收端配置等。还可以通过提供相应的公共参数,例如接收端配置的起始地址以及接收端配置对应的寄存器个数等。取决于第一信号配置表下有多少种不同类型的配置,在芯片内部的SRAM可以提供相应的不同类型的配置,并且每一种类型的配置下预先准备多套配置模式。例如,可以在SRAM上划定多个区域,每个区域用于一种类型的配置如发送端配置、接收端配置。再例如,可以将一部分地址段作为公共参数的部分,先读取该公共参数的部分就可以确定如何操作。应当理解的是,所述第一芯片的所述第一存储模块还有通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口,可以有多种具体实现手段,在此不做具体限定。
继续参阅图2,利用存储在所述第一芯片的所述第一存储模块中的所述第一信号配置表,可以便利地基于配置选择信号选择与给定配置模式对应的给定信号配置值,进而基于所述给定信号配置值和第一映射关系生成与所述给定配置模式对应的给定配置码,最后基于所述给定配置码设定所述至少一个第一配置寄存器,然后通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口。如此,实现了通过芯片内部去驱动配置寄存器从而配置芯片接口,相比于芯片外部电路通过接口信号来配置芯片接口,具有以下优点:可以删减接口信号并提供相应的配置寄存器从而降低了芯片外部电路的资源占用;通过所述第一芯片的内部驱动方式,可以避免从外部接口跨时钟域配置接口寄存器的难题,也不需要考虑接口信号与引脚和芯片接口在电平、位宽上的适配性问题,有利于降低延迟和提升响应速度;在需要频繁切换芯片工作模式的应用场景,可以通过配置选择信号便利地实现芯片工作模式的切换。进一步地,如上所述,在切换第一芯片的工作模式时,可能需要按照不同的次序来先后对各个芯片接口进行配置,不仅需要考虑各个芯片接口的可能的配置组合,还需要考虑各个芯片接口之间的可能的配置次序。在图1所示的通过接口信号配置芯片接口的方式下,需要结合各个芯片接口之间的可能的配置次序,来确定对各个接口信号进行设定的先后次序,这样就对芯片外部电路通过接口信号来配置芯片接口提出了更高的要求,也就意味着芯片外部电路需要占用更多的逻辑资源和存储资源。图2所示的芯片配置方法,可以在生成第一信号配置表时,就充分考虑到各个芯片接口的可能的配置组合还有各个芯片接口之间的可能的配置次序,例如在第一信号配置表里添加配置顺序从而可以实现各个芯片接口之间的任意配置次序,并且,这样可以节省芯片外部电路的资源占用。而且,通过外部的接口信号来设定配置寄存器,需要存储的配置内容受到接口信号数量、单个协议对应的配置寄存器数量、协议数量还有接口信号可能的链路组合等因素影响,因此随着第一芯片的芯片接口数量增加会占用大量芯片外部电路的存储资源。而通过图2所示的芯片配置方法,因为是通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器,因此所述第一存储模块所存储的配置内容是受到协议数量和单个协议对应的配置寄存器数量影响,因此大幅降低了对存储空间的要求。另外,通过图1所示的接口信号配置芯片接口的方式,不利于与第一芯片的内部器件如微处理器等互动,在通过外部的接口信号来改变配置寄存器后,还需要通过额外的通知机制例如额外的寄存器来通知第一芯片的微处理器。而通过图2所示的芯片配置方法,在基于所述给定配置码设定所述至少一个第一配置寄存器之后,就可以自动拉起配置完成信号,从而通知微处理器等进行后续操作。因此简化了与微处理器等的交互复杂度,也降低了驱动代码的编写难度,有助于提升响应速度。下面结合图3和图4进一步详细说明这些优点。
图3为本申请实施例提供的一种通过芯片内部驱动方式来配置芯片接口的示意图。如图3所示,第一芯片B 101包括三个芯片接口,分别是第一芯片接口A 110,第一芯片接口B 112,以及第一芯片接口C 114。三个芯片接口从第一芯片B 101的内部电路引出并通过各自的引脚与芯片外部电路连接。第一芯片接口A 110对应第一引脚A 130,第一芯片接口B112对应第一引脚B 132,以及第一芯片接口C 114对应第一引脚C 134。出于简洁目的,图3中没有用连线示出芯片接口与对应的引脚之间的连接。第一芯片B 101可以有多个芯片接口,这里只是示例性的示出了第一芯片接口A 110,第一芯片接口B 112,以及第一芯片接口C 114。第一芯片B 101的芯片接口的数量可以是任意数量。第一芯片B 101与芯片外部电路之间的数据交互,以及对第一芯片B 101进行配置例如切换第一芯片B 101的工作模式,是通过第一芯片B 101的芯片接口例如第一芯片接口A 110、第一芯片接口B 112及第一芯片接口C 114来实现。第一芯片B 101还包括三个配置寄存器,分别是与第一芯片接口A 110对应的第一配置寄存器A 120,与第一芯片接口B 112对应的第一配置寄存器B 122,以及与第一芯片接口C 114对应的第一配置寄存器C 124。图3所示的通过芯片内部驱动方式来配置芯片接口的方式,可以参考图2所示的芯片配置方式,也就是:基于配置选择信号,从存储在所述第一芯片B 101的所述第一存储模块中的所述第一信号配置表选择与给定配置模式对应的给定信号配置值;基于所述给定信号配置值和第一映射关系,生成与所述给定配置模式对应的给定配置码;基于所述给定配置码设定所述至少一个第一配置寄存器,然后通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口。这里,第一芯片B 101还包括管理模块102,管理模块102用于生成给定配置码以及基于所述给定配置码设定配置寄存器。图3中示出了,管理模块102用于设定与第一芯片接口A 110对应的第一配置寄存器A 120,与第一芯片接口B 112对应的第一配置寄存器B 122,以及与第一芯片接口C 114对应的第一配置寄存器C 124。这样,通过管理模块102,可以通过所述第一芯片B 101的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口。可以看出,图3中采用了通过芯片内部驱动方式来配置芯片接口的方式,因此不需要借助来自第一芯片B 101的外部的接口信号就实现了设定各个第一芯片接口。如此,降低了芯片外部电路的资源占用,有利于降低延迟和提升响应速度,通过配置选择信号便利地实现芯片工作模式的切换,简化了与微处理器等的交互复杂度,也降低了驱动代码的编写难度,有助于提升响应速度。
在一种可能的实施方式中,所述至少一个第一芯片接口之间的配置次序包括分别设定所述至少一个第一芯片接口各自的接口信息配置的先后次序。在一种可能的实施方式中,所述至少一个第一芯片接口用于设定所述第一芯片的接收端数据速率,接收端数据位宽,接收端参考时钟频率,发送端数据速率,发送端数据位宽,发送端参考时钟频率。如此,实现了通过第一信号配置表灵活地适配第一芯片对芯片接口进行配置的需求,可以适配各种通信协议、各种应用场景以及用户需求。
在一种可能的实施方式中,所述配置选择信号由所述第一芯片生成或者来自所述第一芯片的外部。当所述配置选择信号来自所述第一芯片的外部,可以通过统一的配置信号来进行调整,这样有利于降低芯片外部电路的规模和资源占用。
在一种可能的实施方式中,所述芯片配置方法还包括:基于来自所述第一芯片的外部的接口信号,配置所述多个第一芯片接口中的相对于所述至少一个第一芯片接口的其它第一芯片接口。这里,结合了图2所示的芯片配置方法以及通过接口信号配置芯片接口的方式。下面结合图4详细说明。
图4为本申请实施例提供的一种通过复合驱动方式来配置芯片接口的示意图。如图4所示,第一芯片C 103包括三个芯片接口,分别是第一芯片接口A 110,第一芯片接口B112,以及第一芯片接口C 114。三个芯片接口从第一芯片C 103的内部电路引出并通过各自的引脚与芯片外部电路连接。第一芯片接口A 110对应第一引脚A 130,第一芯片接口B 112对应第一引脚B 132,以及第一芯片接口C 114对应第一引脚C 134。出于简洁目的,图4中没有用连线示出第一芯片接口B 112和第一芯片接口C 114与对应的引脚之间的连接。第一芯片C 103可以有多个芯片接口,这里只是示例性的示出了第一芯片接口A 110,第一芯片接口B 112,以及第一芯片接口C 114。第一芯片C 103的芯片接口的数量可以是任意数量。第一芯片C 103与芯片外部电路之间的数据交互,以及对第一芯片C 103进行配置例如切换第一芯片C 103的工作模式,是通过第一芯片C 103的芯片接口例如第一芯片接口A 110、第一芯片接口B 112及第一芯片接口C 114来实现。第一芯片C 103还包括两个配置寄存器,分别是与第一芯片接口B 112对应的第一配置寄存器B 122,以及与第一芯片接口C 114对应的第一配置寄存器C 124。图4所示的通过芯片内部驱动方式来配置芯片接口的方式,可以参考图2所示的芯片配置方式。这里,第一芯片C 103还包括管理模块102,管理模块102用于生成给定配置码以及基于所述给定配置码设定配置寄存器。图4中示出了,管理模块102用于设定与第一芯片接口B 112对应的第一配置寄存器B 122,以及与第一芯片接口C 114对应的第一配置寄存器C 124。这样,通过管理模块102,可以通过所述第一芯片C 103的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口。可以看出,图4中采用了通过芯片内部驱动方式来配置芯片接口的方式,因此不需要借助来自第一芯片C 103的外部的接口信号就实现了设定各个第一芯片接口。如此,降低了芯片外部电路的资源占用,有利于降低延迟和提升响应速度,通过配置选择信号便利地实现芯片工作模式的切换,简化了与微处理器等的交互复杂度,也降低了驱动代码的编写难度,有助于提升响应速度。另外,图4中还示出了,通过接口信号A140对第一芯片接口A 110进行配置。这样就结合了图2所示的芯片配置方法中采用的通过芯片内部驱动的方式还有通过接口信号配置芯片接口的方式。因此图4所示的第一芯片C103可以支持芯片内部驱动和芯片外部驱动一起管理。例如,将用户需要的协议配置相关的接口信号等存入SRAM,通过芯片内部驱动,这样不需人工来干预驱动;而对于已存入的协议配置相关的接口信号,如果协议配置有更新,可以通过外部接口改写SRAM或者在内部驱动完改写寄存器。对于不存入SRAM的相关配置信息,则可以直接通过接口改写,例如通过接口信号A 140。
进一步地,在一种可能的实施方式中,所述芯片配置方法还包括:通过改变所述接口信号从而改变所述其它第一芯片接口的接口信息配置,以及,通过改变所述配置选择信号从而改变所述至少一个第一芯片接口的接口信息配置。在一些实施例中,所述接口信号与所述至少一个第一配置寄存器位于不同时钟域。如此,通过结合芯片内部驱动的方式和通过接口信号的外部驱动方式,可以分别通过改变所述接口信号从而改变所述其它第一芯片接口的接口信息配置以及通过改变所述配置选择信号从而改变所述至少一个第一芯片接口的接口信息配置。并且,可以选择性地只使用芯片内部驱动方式,只使用芯片外部驱动方式或者使用图4所示的复合驱动方式,这样在满足对芯片配置要求的同时实现了低延迟、响应速度快且资源占用少。
在一种可能的实施方式中,所述第一芯片包括与所述多个第一芯片接口一一对应的多个第一引脚,所述多个第一引脚中的每一个第一引脚用于从所述第一芯片的外部接收接口信号从而配置与该第一引脚对应的第一芯片接口,与所述至少一个芯片接口相关联的接口信号被删减。如此通过删减接口信号,减少了芯片外部电路的资源占用,也降低了配置难度。
在一种可能的实施方式中,所述第一芯片还包括管理模块,所述管理模块用于基于所述给定配置码设定所述至少一个第一配置寄存器然后通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器,所述管理模块与所述至少一个第一配置寄存器位于同一时钟域。如此,通过管理模块实现了芯片内部驱动方式,有利于降低延迟和提升响应速度,也避免了从外部接口跨时钟域配置接口寄存器。
在一种可能的实施方式中,所述第一芯片应用于用户确定的多种通信协议,所述至少一个第一芯片接口和所述多个配置模式基于所述多种通信协议确定。在一种可能的实施方式中,所述第一芯片应用于用户确定的多种应用场景,所述至少一个第一芯片接口和所述多个配置模式基于所述多种应用场景的响应速度和功耗要求确定。考虑到需要使用的协议数量有限,用内部驱动覆盖有限的协议需求;对于协议变动、协议增加等情况,则通过外部的接口信号来覆盖。例如,在车联网的应用场景下,以优先用内部驱动来满足对时间、响应速度要求高的协议如高速通信协议。另外,通过外部引脚和接口信号调节,可能存在功耗大等问题。而通过内部驱动方式可以降低功耗。例如,用于智能化可穿戴设备的芯片,其接口需求是比较固定的或者说有较强的规律性。例如,在智能家居场景下,需要互联的多个智能家居设备可能各自有协议或者接口需求,这些整体上来说是可以事先确定的。
在一种可能的实施方式中,所述第一映射关系基于所述至少一个第一配置寄存器各自的寄存器名称、寄存器地址、域段名称、域段复位值和域段描述信息确定。在一种可能的实施方式中,所述至少一个第一配置寄存器各自的存储地址按照特定次序连续地分布于所述第一芯片的寄存器存储空间,其中,基于所述给定配置码设定所述至少一个第一配置寄存器包括:基于所述给定配置码和所述特定次序进行地址计算从而确定所述至少一个第一配置寄存器各自的起始地址。这里设SRAM中各个配置模式按照类似burst写的方式记录,因此可以通过简单的地址计算来获取相应的配置模式。以实现支持PCIe5协议为例,下面以示例的方式说明如何实现。
假设SRAM的数据位宽为16比特,SRAM的深度为100,用来存储相关代码。规定芯片复位之后接收到外部配置选择请求时例如收到配置选择信号时,首先从SRAM地址0x0开始读取配置码。在SRAM地址0x0,存储发送(TX)端配置信息在SRAM的起始位置。TX端配置信息在SRAM的起始位置为0x2。在SRAM地址0x1,存储TX端配置信息对应的寄存器个数。TX端配置信息,即发送端信号速率和发送端数据位宽对应的寄存器个数为2,再假设高速接口物理层需要支持PCIe5协议,即支持从Gen1到Gen5一共5个协议,因此SRAM需要存储5套TX端配置。发送端信号速率和发送端数据位宽对应的寄存器地址是连续的,因此在SRAM内存储写寄存器相关指令的时候,可以采取类似突发(burst)写的方式:在SRAM内配置起始的第一个地址存储第一个寄存器的地址,SRAM的第二个位置存储第一个寄存器的写数据;第二个寄存器的地址为第一个寄存器地址加一;在SRAM的第三个位置存储第二个寄存器的写数据,以此类推。由于在分配寄存器地址时,较容易实现将相关的配置放在连续的地址内,因此类burst写是个易实现,占据SRAM空间小,配置寄存器速度快的一种方式。但若无法将相关配置寄存器放在连续的地址上,可采取SRAM配置起始的第一个位置存储第一个寄存器地址,第二个位置存储第一个寄存器写数据,第三个位置存储第二个寄存器地址,第四个位置存储第二个寄存器的写数据,以此类推。例如,第一套配置存储PCIe5 Gen1配置信息,对应的配置选择信号为0,SRAM起始位置从0x2地址开始,或者可以通过简单的地址计算得出,以后不再赘述。此地址存储第一个寄存器的地址,例如寄存器地址0x214c。
在SRAM地址0x3存储第一个寄存器的写数据,即发送端信号速率的配置值0x3。在SRAM地址0x4存储第二个寄存器的写数据,即发送端数据位宽的配置值0x3。此时第二个寄存器地址为第一个寄存器地址加1,即0x214d。如此,可以通过地址计算得出,第五套配置存储PCIe Gen5配置信息,对应的配置选择信号为4,SRAM起始位置也从0x2+4*3=0xe地址开始。此地址存储第一个寄存器的地址,即寄存器地址0x214c。在SRAM地址0xf存储第一个寄存器的写数据,即发送端信号速率的配置值0x0。在SRAM地址0x10存储第二个寄存器的写数据,即发送端数据位宽的配置值0x4。此时第二个寄存器地址为第一个寄存器地址加1,即0x214d。采取类似burst写的方式,也可采取分别存储各个寄存器的地址和写数据的方式,在此不赘述。在生成配置选择信号和配置模式的映射表时,由上述SRAM地址分配可知,可以基于所述给定配置码和所述特定次序进行地址计算从而确定所述至少一个第一配置寄存器各自的起始地址,进而可以读取相应配置。
图5为本申请实施例提供的一种用于智能设备互联的芯片配置方法的流程示意图。如图5所示,用于智能设备互联的芯片配置方法包括以下步骤。
步骤S502:确定需要互联的多个智能设备。
步骤S504:确定用于所述多个智能设备之间互联的至少一种通信协议。
步骤S506:基于所述至少一种通信协议,生成用于所述多个智能设备中的第一智能设备的第一信号配置表,其中,所述第一智能设备包括第一芯片,所述第一芯片包括多个第一芯片接口,对所述第一芯片进行配置及数据交互通过所述多个第一芯片接口实现,所述第一信号配置表与所述多个第一芯片接口中的至少一个第一芯片接口相关联的,所述第一信号配置表包括与多个配置模式一一对应的多个信号配置值,所述多个配置模式中的每一个配置模式指示所述至少一个第一芯片接口之间的配置次序和所述至少一个第一芯片接口各自的接口信息配置,所述第一信号配置表被存储在所述第一芯片的第一存储模块。
步骤S508:基于配置选择信号,从存储在所述第一芯片的所述第一存储模块中的所述第一信号配置表选择与给定配置模式对应的给定信号配置值。
步骤S510:基于所述给定信号配置值和第一映射关系,生成与所述给定配置模式对应的给定配置码,其中,所述第一映射关系指示所述至少一个第一芯片接口与所述第一芯片的至少一个第一配置寄存器之间的映射关系。
步骤S512:基于所述给定配置码设定所述至少一个第一配置寄存器,然后通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口。
步骤S514:使用已经配置的所述第一芯片,实现所述第一智能设备与所述多个智能设备中的相对于所述第一智能设备的另一智能设备的互联。
用于智能化可穿戴设备的芯片,其接口需求是比较固定的或者说有较强的规律性。例如,在智能家居场景下,需要互联的多个智能家居设备可能各自有协议或者接口需求,这些整体上来说是可以事先确定的。如此,对于智能设备互联这一应用场景,可以事先确定需要互联的多个智能设备以及用于所述多个智能设备之间互联的至少一种通信协议,进而可以通过图5所示的芯片配置方法,降低了芯片外部电路的资源占用,有利于降低延迟和提升响应速度,通过配置选择信号便利地实现芯片工作模式的切换,简化了与微处理器等的交互复杂度,也降低了驱动代码的编写难度,有助于提升响应速度。
图6是本申请实施例提供的一种计算设备的结构示意图,该计算设备600包括:一个或者多个处理器610、通信接口620以及存储器630。所述处理器610、通信接口620以及存储器630通过总线640相互连接。可选地,该计算设备600还可以包括输入/输出接口650,输入/输出接口650连接有输入/输出设备,用于接收用户设置的参数等。该计算设备600能够用于实现上述的本申请实施例中设备实施例或者系统实施例的部分或者全部功能;处理器610还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备600执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器610用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备600可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口620具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器610具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图6的计算设备600可以包括一个或者多个处理器610,并且多个处理器610可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器610可以构成处理器序列或者处理器阵列,或者多个处理器610之间可以分成主处理器和辅助处理器,或者多个处理器610之间可以具有不同的架构如采用异构计算架构。另外,图6所示的计算设备600,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备600可以包括比图6所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
处理器610可以有多种具体实现形式,例如处理器610可以包括中央处理器(central processing unit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-network processing unit,NPU)、张量处理器(tensor processingunit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器610还可以是单核处理器或多核处理器。处理器610可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器610也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口620可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器630可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器630也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器630也可用于存储程序代码和数据,以便于处理器610调用存储器630中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备600可能包含相比于图6展示的更多或者更少的组件,或者有不同的组件配置方式。
总线640可以是快捷外围部件互连标准(peripheral component interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线640可以分为地址总线、数据总线、控制总线等。总线640除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。本申请实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述所描述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例系统中的模块可以根据实际需要进行划分、合并或删减。如果本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (16)

1.一种芯片配置方法,其特征在于,所述芯片配置方法应用于第一芯片,所述第一芯片包括多个第一芯片接口,对所述第一芯片进行配置及数据交互通过所述多个第一芯片接口实现,所述芯片配置方法包括:
生成与所述多个第一芯片接口中的至少一个第一芯片接口相关联的第一信号配置表,所述第一信号配置表包括与多个配置模式一一对应的多个信号配置值,所述多个配置模式中的每一个配置模式指示所述至少一个第一芯片接口之间的配置次序和所述至少一个第一芯片接口各自的接口信息配置,所述第一信号配置表被存储在所述第一芯片的第一存储模块;
基于配置选择信号,从存储在所述第一芯片的所述第一存储模块中的所述第一信号配置表选择与给定配置模式对应的给定信号配置值;
基于所述给定信号配置值和第一映射关系,生成与所述给定配置模式对应的给定配置码,其中,所述第一映射关系指示所述至少一个第一芯片接口与所述第一芯片的至少一个第一配置寄存器之间的映射关系;
基于所述给定配置码设定所述至少一个第一配置寄存器,然后通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口。
2.根据权利要求1所述的芯片配置方法,其特征在于,所述至少一个第一芯片接口之间的配置次序包括分别设定所述至少一个第一芯片接口各自的接口信息配置的先后次序。
3.根据权利要求1所述的芯片配置方法,其特征在于,所述至少一个第一芯片接口用于设定所述第一芯片的接收端数据速率,接收端数据位宽,接收端参考时钟频率,发送端数据速率,发送端数据位宽,发送端参考时钟频率。
4.根据权利要求1所述的芯片配置方法,其特征在于,所述配置选择信号由所述第一芯片生成或者来自所述第一芯片的外部。
5.根据权利要求1所述的芯片配置方法,其特征在于,所述芯片配置方法还包括:基于来自所述第一芯片的外部的接口信号,配置所述多个第一芯片接口中的相对于所述至少一个第一芯片接口的其它第一芯片接口。
6.根据权利要求1所述的芯片配置方法,其特征在于,所述第一芯片包括与所述多个第一芯片接口一一对应的多个第一引脚,所述多个第一引脚中的每一个第一引脚用于从所述第一芯片的外部接收接口信号从而配置与该第一引脚对应的第一芯片接口,与所述至少一个第一芯片接口相关联的接口信号被删减。
7.根据权利要求1所述的芯片配置方法,其特征在于,所述第一芯片还包括管理模块,所述管理模块用于基于所述给定配置码设定所述至少一个第一配置寄存器然后通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器,所述管理模块与所述至少一个第一配置寄存器位于同一时钟域。
8.根据权利要求1所述的芯片配置方法,其特征在于,所述第一芯片应用于用户确定的多种通信协议,所述至少一个第一芯片接口和所述多个配置模式基于所述多种通信协议确定。
9.根据权利要求1所述的芯片配置方法,其特征在于,所述第一芯片应用于用户确定的多种应用场景,所述至少一个第一芯片接口和所述多个配置模式基于所述多种应用场景的响应速度和功耗要求确定。
10.根据权利要求1所述的芯片配置方法,其特征在于,所述第一映射关系基于所述至少一个第一配置寄存器各自的寄存器名称、寄存器地址、域段名称、域段复位值和域段描述信息确定。
11.根据权利要求1所述的芯片配置方法,其特征在于,所述至少一个第一配置寄存器各自的存储地址按照特定次序连续地分布于所述第一芯片的寄存器存储空间,其中,基于所述给定配置码设定所述至少一个第一配置寄存器包括:基于所述给定配置码和所述特定次序进行地址计算从而确定所述至少一个第一配置寄存器各自的起始地址。
12.根据权利要求5所述的芯片配置方法,其特征在于,所述芯片配置方法还包括:通过改变所述接口信号从而改变所述其它第一芯片接口的接口信息配置,以及,通过改变所述配置选择信号从而改变所述至少一个第一芯片接口的接口信息配置。
13.根据权利要求12所述的芯片配置方法,其特征在于,所述接口信号与所述至少一个第一配置寄存器位于不同时钟域。
14.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至13中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求1至13中任一项所述的方法。
16.一种用于智能设备互联的芯片配置方法,其特征在于,所述芯片配置方法包括:
确定需要互联的多个智能设备;
确定用于所述多个智能设备之间互联的至少一种通信协议;
基于所述至少一种通信协议,生成用于所述多个智能设备中的第一智能设备的第一信号配置表,其中,所述第一智能设备包括第一芯片,所述第一芯片包括多个第一芯片接口,对所述第一芯片进行配置及数据交互通过所述多个第一芯片接口实现,所述第一信号配置表与所述多个第一芯片接口中的至少一个第一芯片接口相关联的,所述第一信号配置表包括与多个配置模式一一对应的多个信号配置值,所述多个配置模式中的每一个配置模式指示所述至少一个第一芯片接口之间的配置次序和所述至少一个第一芯片接口各自的接口信息配置,所述第一信号配置表被存储在所述第一芯片的第一存储模块;
基于配置选择信号,从存储在所述第一芯片的所述第一存储模块中的所述第一信号配置表选择与给定配置模式对应的给定信号配置值;
基于所述给定信号配置值和第一映射关系 ,生成与所述给定配置模式对应的给定配置码,其中,所述第一映射关系指示所述至少一个第一芯片接口与所述第一芯片的至少一个第一配置寄存器之间的映射关系;
基于所述给定配置码设定所述至少一个第一配置寄存器,然后通过所述第一芯片的内部驱动方式驱动所述第一芯片的所述至少一个第一配置寄存器从而按照所述给定配置模式配置所述至少一个第一芯片接口;
使用已经配置的所述第一芯片,实现所述第一智能设备与所述多个智能设备中的相对于所述第一智能设备的另一智能设备的互联。
CN202311082689.2A 2023-08-28 2023-08-28 一种芯片配置方法、设备及介质 Active CN116795454B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311082689.2A CN116795454B (zh) 2023-08-28 2023-08-28 一种芯片配置方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311082689.2A CN116795454B (zh) 2023-08-28 2023-08-28 一种芯片配置方法、设备及介质

Publications (2)

Publication Number Publication Date
CN116795454A CN116795454A (zh) 2023-09-22
CN116795454B true CN116795454B (zh) 2023-11-03

Family

ID=88038822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311082689.2A Active CN116795454B (zh) 2023-08-28 2023-08-28 一种芯片配置方法、设备及介质

Country Status (1)

Country Link
CN (1) CN116795454B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117034840B (zh) * 2023-10-09 2023-12-19 芯耀辉科技有限公司 一种控制信号生成方法及电路

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736938A (zh) * 2012-06-18 2012-10-17 中国电子科技集团公司第十研究所 Fpga配置程序的烧写方法
CN111259618A (zh) * 2020-01-10 2020-06-09 何刚 一种基于寄存器流程工具的设计验证芯片方法
CN111813464A (zh) * 2020-08-31 2020-10-23 新华三半导体技术有限公司 一种芯片配置方法、监测模块及芯片
CN114356419A (zh) * 2022-03-14 2022-04-15 苏州浪潮智能科技有限公司 一种通用接口寄存器系统及快速生成方法
CN116029239A (zh) * 2022-12-30 2023-04-28 芯耀辉科技有限公司 静态时序分析方法及其系统、计算机可读取介质
CN116628770A (zh) * 2023-07-19 2023-08-22 北京芯驰半导体科技有限公司 芯片的数据保护方法、装置、芯片、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213225B2 (en) * 2004-05-28 2007-05-01 International Business Machines Corporation Method, system and program product for specifying and using register entities to configure a simulated or physical digital system
US8458446B2 (en) * 2009-09-30 2013-06-04 Oracle America, Inc. Accessing a multibank register file using a thread identifier
US9170980B2 (en) * 2013-03-15 2015-10-27 Nvidia Corporation Ground-referenced single-ended signaling connected graphics processing unit multi-chip module
US11086800B2 (en) * 2019-06-01 2021-08-10 Apple Inc. Execution space agnostic device drivers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736938A (zh) * 2012-06-18 2012-10-17 中国电子科技集团公司第十研究所 Fpga配置程序的烧写方法
CN111259618A (zh) * 2020-01-10 2020-06-09 何刚 一种基于寄存器流程工具的设计验证芯片方法
CN111813464A (zh) * 2020-08-31 2020-10-23 新华三半导体技术有限公司 一种芯片配置方法、监测模块及芯片
CN114356419A (zh) * 2022-03-14 2022-04-15 苏州浪潮智能科技有限公司 一种通用接口寄存器系统及快速生成方法
CN116029239A (zh) * 2022-12-30 2023-04-28 芯耀辉科技有限公司 静态时序分析方法及其系统、计算机可读取介质
CN116628770A (zh) * 2023-07-19 2023-08-22 北京芯驰半导体科技有限公司 芯片的数据保护方法、装置、芯片、电子设备及存储介质

Also Published As

Publication number Publication date
CN116795454A (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
CN116795454B (zh) 一种芯片配置方法、设备及介质
JP2018533120A (ja) マルチノードネットワークにおける入力/出力信号のブリッジングおよび仮想化
CN114048164B (zh) 芯片互联方法、系统、设备及可读存储介质
CN111797051B (zh) 片上系统、数据传送方法及广播模块
CN110119304B (zh) 一种中断处理方法、装置及服务器
CN112463651A (zh) Qspi控制器,图像处理器及闪存访问方法
CN113032293A (zh) 缓存管理器及控制部件
CN114925644A (zh) 在边缘系统验证逻辑系统设计的方法、边缘系统
JP2023544123A (ja) データ送信システム、データ送信方法、インテリジェント車両、及び装置
CN115934623A (zh) 一种基于远程直接内存访问的数据处理方法、设备及介质
CN110502799B (zh) 一种芯片引脚自动化配置方法与装置
CN112787955B (zh) Mac层数据报文的处理方法、设备和存储介质
CN117056249B (zh) 一种mdio到ahb的转换方法、系统、设备及介质
CN110795369B (zh) 基于gpio管脚实现mdio从机功能的方法及终端
US20210141755A1 (en) Bridge chip with function of expanding external devices and associated expansion method
CN105491082A (zh) 远程资源访问方法和交换设备
CN112235204B (zh) 一种数据上报方法、系统、电子设备和存储介质
CN102693199B (zh) Idma接口及其控制方法
CN107577438B (zh) 现场可编程门阵列中闪存的存储空间的划分方法及装置
KR100643815B1 (ko) 링크-기반 컴퓨팅 시스템 내에서의 i/o 구성 메시징
CN117724874B (zh) 用于管理共享接收队列的方法、计算机设备及介质
CN114579505A (zh) 芯片以及核间通信方法
CN115604198B (zh) 一种网卡控制器、网卡控制方法、设备及介质
CN103997469A (zh) 一种网络处理器配置方法以及网络处理器
CN118035157A (zh) 串行外设接口系统控制方法、芯片、介质以及装置

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