CN112148650B - 一种存储控制器的设计方法、装置、设备以及存储介质 - Google Patents

一种存储控制器的设计方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN112148650B
CN112148650B CN202011065880.2A CN202011065880A CN112148650B CN 112148650 B CN112148650 B CN 112148650B CN 202011065880 A CN202011065880 A CN 202011065880A CN 112148650 B CN112148650 B CN 112148650B
Authority
CN
China
Prior art keywords
storage controller
preset
library
design
hardware
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
CN202011065880.2A
Other languages
English (en)
Other versions
CN112148650A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202011065880.2A priority Critical patent/CN112148650B/zh
Publication of CN112148650A publication Critical patent/CN112148650A/zh
Application granted granted Critical
Publication of CN112148650B publication Critical patent/CN112148650B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请实施例公开了一种存储控制器的设计方法、装置、设备以及存储介质,该方法包括:确定目标存储控制器的特性需求信息;根据所确定的特性需求信息,在预设软件库的界面中声明对象;其中,所述预设软件库与预设存储控制器硬件库的名称保持一致,且所述预设存储控制器硬件库包括多个集成有不同特性的存储控制器;在所述预设软件库调用所述对象时,从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,得到所述目标存储控制器。这样,采用面向对象的设计思路,可以减少总体投入,而且所设计的存储控制器具有易维护、可继承、易扩展等优点,提高了存储控制器的设计质量。

Description

一种存储控制器的设计方法、装置、设备以及存储介质
技术领域
本申请涉及硬件开发技术领域,尤其涉及一种存储控制器的设计方法、装置、设备以及存储介质。
背景技术
面向对象(Object Oriented)是软件开发方法,其编程方式已经在软件行业被广泛应用。另外,面向对象拥有易维护、可继承、易扩展等诸多特点,助力了软件行业近年来的飞速发展。
然而,目前的硬件电路设计方案,包括存储控制器的设计,通常是采用传统的设计思路,即将硬件电路进行模块化,这样为后续同类产品的衍进提供了可重用的模块,但是采用这种传统的设计思路来设计存储控制器,将会带来一些问题。一方面,针对每一个存储控制器,都需要投入人力重新设计,具有高投入问题;另一方面,存储控制器的设计一旦定型,如果需要对其功能进行修改或者扩展,一般都需要重新设计存储控制器,使得修改困难;再一方面,由于一个存储控制器深度绑定产品,导致这个硬件存储控制器的设计时间和优化时间仅仅到产品发布为止,不利于持续优化。
发明内容
本申请提出一种存储控制器的设计方法、装置、设备以及存储介质,采用面向对象的设计思路,可以减少总体投入,简化修改流程,而且还能够对存储控制器进行持续优化,从而提高存储控制器的设计质量。
为达到上述目的,本申请的技术方案是这样实现的:
第一方面,本申请实施例提供了一种存储控制器的设计方法,该方法包括:
确定目标存储控制器的特性需求信息;
根据所确定的特性需求信息,在预设软件库的界面中声明对象;其中,所述预设软件库与预设存储控制器硬件库的名称保持一致,且所述预设存储控制器硬件库包括多个集成有不同特性的存储控制器;
在所述预设软件库调用所述对象时,从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,得到所述目标存储控制器。
第二方面,本申请实施例提供了一种存储控制器的设计装置,该存储控制器的设计装置包括:确定单元、声明单元和例化单元;其中,
所述确定单元,配置为确定目标存储控制器的特性需求信息;
所述声明元,配置为根据所确定的特性需求信息,在预设软件库的界面中声明对象;其中,所述预设软件库与预设存储控制器硬件库的名称保持一致,且所述预设存储控制器硬件库包括多个集成有不同特性的存储控制器;
所述例化单元,配置为在所述预设软件库调用所述对象时,从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,得到所述目标存储控制器。
第三方面,本申请实施例提供了一种存储控制器的设计设备,该存储控制器的设计设备包括:存储器和处理器;其中,
所述存储器,用于存储能够在所述处理器上运行的可执行指令;
所述处理器,用于在运行所述可执行指令时,执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有存储控制器的设计程序,所述存储控制器的设计程序被至少一个处理器执行时实现如第一方面所述的方法。
本申请实施例所提供的一种存储控制器的设计方法、装置、设备以及存储介质,通过确定目标存储控制器的特性需求信息;根据所确定的特性需求信息,在预设软件库的界面中声明对象;其中,所述预设软件库与预设存储控制器硬件库的名称保持一致,且所述预设存储控制器硬件库包括多个集成有不同特性的存储控制器;在所述预设软件库调用所述对象时,从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,得到所述目标存储控制器。这样,采用面向对象的设计思路,可以减少总体投入,简化修改流程,而且还能够对存储控制器进行持续优化,同时所设计的存储控制器具有易维护、可继承、易扩展等优点,提高了存储控制器的设计质量。
附图说明
图1为本申请实施例提供的一种存储控制器的设计方法的流程示意图;
图2为相关技术方案提供的一种传统存储控制器设计流程的框架示意图;
图3为本申请实施例提供的一种存储控制器设计流程的框架示意图;
图4为本申请实施例提供的另一种存储控制器的设计方法的流程示意图;
图5为本申请实施例提供的又一种存储控制器设计流程的框架示意图;
图6为相关技术方案提供的一种集成有安全权限检查和行列转置特性需求的传统存储系统的结构示意图;
图7为本申请实施例提供的一种集成有安全权限检查特性需求的存储控制器的结构示意图;
图8为本申请实施例提供的一种集成有行列转置特性需求的存储控制器的结构示意图;
图9为本申请实施例提供的一种集成有安全权限检查及行列转置特性需求的存储控制器的结构示意图;
图10为本申请实施例提供的一种存储控制器的设计装置的组成结构示意图;
图11为本申请实施例提供的一种存储控制器的设计设备的硬件结构示意图;
图12为本申请实施例提供的一种芯片系统的组成结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
应理解,面向对象是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、计算机辅助设计(Computer Aided Design,CAD)技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
面向对象是相对于面向过程来讲的。其中,面向过程是用来分析出解决问题所需要的步骤,然后利用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;而面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。这里,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。也就是说,面向对象是一种软件编程的概念与技巧,每一个被定义的对象都拥有专属于这个对象的数据和程序。另外,由于拥有易维护、可继承、易扩展等诸多特点,使得面向对象助力了软件行业近年来的飞速发展。
然而,目前的硬件电路设计方案,包括存储控制器的设计,大多数是将硬件电路进行模块化,为后续同类产品的衍进提供了可重用的模块,并不会采用面向对象的设计思路。这里,存储控制器的模块化,仅仅是为了后续衍进产品的重复利用,并不会将存储控制器独立出来,以作为单独的模块或对象提供给各个产品线。如此,采用传统的设计思路来设计存储控制器,将会带来以下几个问题:
(1)高投入问题。对于每一个存储控制器,都需要投入人力重新设计;这样,对于如今产品更迭速度非常快的半导体行业,这是个不小的投入。
(2)修改困难问题。存储控制器的设计一旦定型,如果需要对其功能进行修改或者扩展,一般都需要重新设计存储控制器,这时候需要人力投入并且还会影响导产品上线时间。
(3)优化困难问题。由于一个存储控制器深度绑定产品,导致这个存储控制器的设计时间和优化时间仅仅到产品发布为止。也就是说,目前没有足够的驱动力和经济效益去推动持续优化存储控制器。
基于此,本申请实施例提供了一种存储控制器的设计方法,该方法的基本思想是:确定目标存储控制器的特性需求信息;根据所确定的特性需求信息,在预设软件库的界面中声明对象;其中,所述预设软件库与预设存储控制器硬件库的名称保持一致,且所述预设存储控制器硬件库包括多个集成有不同特性的存储控制器;在所述预设软件库调用所述对象时,从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,得到所述目标存储控制器。这样,采用面向对象的设计思路,可以减少总体投入,简化修改流程,而且还能够对存储控制器进行持续优化,同时所设计的存储控制器具有易维护、可继承、易扩展等优点,提高了存储控制器的设计质量。
下面将结合附图对本申请各实施例进行详细说明。
本申请的一实施例中,参见图1,其示出了本申请实施例提供的一种存储控制器的设计方法的流程示意图。如图1所示,该方法可以包括:
S101:确定目标存储控制器的特性需求信息。
需要说明的是,本申请实施例的方法主要应用于基于面向对象的存储控制器的设计。这里,硬件存储器通常可以包括存储阵列和存储控制器,其中,存储阵列是实际用于存储数据的集成电路,而存储控制器是位于存储阵列外围的电路,用于控制外部对于存储阵列的访问。
随着半导体芯片技术的飞速发展,对于存储控制器的设计提出了很多要求。存储控制器的设计要求,不再局限于对存储阵列的读写,还提出了诸如数据行列转置和访问安全性控制等特性需求,这对存储控制器的设计带来了新的挑战。
实际应用中,存储控制器的特性需求主要有两个特点:①存储控制器的特性需求有很多个;②每一个特性需求的功能基本固定。传统的存储控制器的设计并没有考虑到这两个特点,采用对应需求重新设计存储控制器的方案,从而造成投入高,而且存储控制器的设计定型后,修改困难。但是在本申请实施例中,通过采用面向对象的存储控制器设计思想,充分利用了这两个特点,可以针对各种特性需求的存储控制器进行一次性设计与验证,使得存储控制器的设计更加高效。
换句话说,本申请实施例需要预先建立一个存储控制器硬件库。在该预设存储控制器硬件库中,可以遵循面向对象的思想,将对应各种功能的不同特性直接集成到每一个存储控制器内部。这样,该预设存储控制器硬件库可以包括有多个存储控制器,而且每一个存储控制器内集成有不同特性。
这样,在项目设计的开始阶段,针对所需求的目标存储控制器,首先可以确定出特性需求信息,比如目标存储控制器所定义的规格和功能。这里,规格可以包括长、宽等,功能可以包括安全权限检查功能、行列转置功能、或者安全权限检查及行列转置功能等,用以得到目标存储控制器的特性需求信息。
S102:根据所确定的特性需求信息,在预设软件库的界面中声明对象;其中,所述预设软件库与预设存储控制器硬件库的名称保持一致,且所述预设存储控制器硬件库包括多个集成有不同特性的存储控制器。
需要说明的是,本申请实施例还需要预先建立一个软件库。这里,该预设软件库中,可以将存储控制器的不同特性需求(或者称为功能配置)作为被声明对象在预设软件库中加以声明。另外,预设软件库与预设存储控制器硬件库的名称还需要保持一致,该名称可以用于选定包括有多个集成有不同特性的存储控制器的硬件库。
这样,在确定出特性需求信息之后,可以在预设软件库的界面中声明对象,以便通过调用对象来实现目标存储控制器的设计。
S103:在所述预设软件库调用所述对象时,从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,得到所述目标存储控制器。
还需要说明的是,在确定出特性需求信息后,可以在预设软件库调用对象时,能够从预设存储控制器硬件库中例化出符合特性需求信息的存储控制器,并将所例化的存储控制器确定为目标存储控制器,即可迅速完成目标存储控制器的设计。
示例性地,图2示出了相关技术方案提供的一种传统存储控制器设计流程的框架示意图。如图2所示,以三个项目(包括项目1、项目2和项目3)为例,在项目1中,针对存储控制器,需要遵循“定义规格与功能”->“硬件前端设计”->“硬件前端验证”->“硬件后端实现”的传统设计原则;在项目2中,还需要遵循“定义规格与功能”->“硬件前端设计”->“硬件前端验证”->“硬件后端实现”的传统设计原则;在项目3中,也需要遵循“定义规格与功能”->“硬件前端设计”->“硬件前端验证”->“硬件后端实现”的传统设计原则;即针对不同的项目特性需求需要重新设计存储控制器。这样,对于每一个存储控制器,都需要投入人力重新设计,使得总体投入高;而且存储控制器的设计一旦定型,如果需要对其功能进行修改或者扩展,一般都需要重新设计存储控制器,造成修改困难;另外,由于一个存储控制器深度绑定产品,导致这个存储控制器的设计时间和优化时间仅仅到产品发布为止,持续优化困难。
本申请实施例采用面向对象的设计思路,图3示出了本申请实施例提供的一种存储控制器设计流程的框架示意图。如图3所示,无论是项目1、项目2,还是项目3,这时候仅需要针对各个规格与功能的存储控制器进行一次性的设计和验证,然后在软件界面下进行声明对象和调用对象的方式即可迅速完成存储控制器的设计。
简言之,本申请实施例采用面向对象的设计方法,可以将存储控制器的特性需求直接集成到存储控制器自身内部,从而能够产生一系列带有不同功能的存储控制器,用以组成存储控制器硬件库。然后,当某一个项目需要使用到存储控制器,并且对这个存储控制器有一些特定需求的时候,这时候只需要直接例化满足这个特定需求的存储控制器,即调用对象,而不再需要在通用存储控制器外部增加专门电路来满足该项目需求。
本申请实施例提供了一种存储控制器的设计方法,通过确定目标存储控制器的特性需求信息;根据所确定的特性需求信息,在预设软件库的界面中声明对象;其中,所述预设软件库与预设存储控制器硬件库的名称保持一致,且所述预设存储控制器硬件库包括多个集成有不同特性的存储控制器;在所述预设软件库调用所述对象时,从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,以得到所述目标存储控制器。这样,采用面向对象的设计思路,可以减少总体投入,简化修改流程,而且还能够对存储控制器进行持续优化,同时所设计的存储控制器具有易维护、可继承、易扩展等优点,提高了存储控制器的设计质量。
本申请的另一实施例中,参见图4,其示出了本申请实施例提供的另一种存储控制器的设计方法的流程示意图。如图4所示,该方法可以包括:
S401:获取存储控制器的多个特性需求;其中,不同的特性需求对应不同的规格和功能。
S402:针对所述多个特性需求,根据预设设计规则得到多个集成有不同特性的存储控制器。
S403:基于所得到的多个存储控制器,建立所述预设存储控制器硬件库。
需要说明的是,预设设计规则可以是指传统设计规则,比如遵循“定义规格与功能”->“硬件前端设计”->“硬件前端验证”->“硬件后端实现”的传统设计原则。
还需要说明的是,针对预设存储控制器硬件库中存储控制器的设计,首先,针对每一个特性需求,均需要遵循“定义规格与功能”->“硬件前端设计”->“硬件前端验证”->“硬件后端实现”的传统设计原则,而且在这个库中的存储控制器会在后续作为对象被调用;其次,这个库中存储控制器的设计,还需要遵循面向对象的特点,将各个特性需求(特定功能)直接集成到不同的存储控制器内部。这样,本申请实施例所采用面向对象的存储控制器设计思想,充分利用了其特性需求,使得存储控制器的设计更加高效。
在一些实施例中,对于S403来说,在建立预设存储控制器硬件库之后,该方法还可以包括:
更新所述预设存储控制器硬件库。
进一步地,在一些实施例中,所述更新所述预设存储控制器硬件库,可以包括:
当存储控制器增加新的特性需求时,根据预设设计规则得到集成有新特性的新存储控制器;
将所述新存储控制器添加至所述预设存储控制器硬件库中,以更新所述预设存储控制器硬件库。
需要说明的是,针对新的特性需求,仍然可以遵循“定义规格与功能”->“硬件前端设计”->“硬件前端验证”->“硬件后端实现”的传统设计原则,得到集成有新特性的新存储控制器;然后将新存储控制器添加至预设存储控制器硬件库中,用以更新该预设存储控制器硬件库。
还需要说明的是,在确定出目标存储控制器的特性需求信息之后,该方法还可以包括:
若在预设存储控制器硬件库中无法例化出符合所述特性需求信息的存储控制器,则基于所述特性需求信息,根据预设设计规则得到集成有所述特性需求信息的新存储控制器;
将所述新存储控制器更新至所述预设存储控制器硬件库中,执行从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,得到所述目标存储控制器的步骤。
也就是说,如果在预设存储控制器硬件库中无法调用符合该特性需求信息的存储控制器,即该预设存储控制器硬件库中不存在符合该特性需求信息的存储控制器,说明了该特性需求信息为一个新的特性需求;那么基于所述特性需求信息,根据预设设计规则可以得到集成有该特性需求信息的新存储控制器;将所述新存储控制器添加至预设存储控制器硬件库中,然后从所述预设存储控制器硬件库中例化出符合所述特性需求信息的存储控制器,可以得到目标存储控制器。
进一步地,在一些实施例中,所述更新所述预设存储控制器硬件库,可以包括:
对所述预设存储控制器硬件库内的至少一个存储控制器进行优化,以更新所述预设存储控制器硬件库。
需要说明的是,在存储控制器设计定型后,如果需要对其特性功能进行修改、扩展或者升级,这时候可以不再需要重新设计存储控制器,只需要对这个硬件库中的该存储控制器内部进行优化。另外,由于带有特定需求功能的存储控制器已经从产品本身独立出来,所以其优化需求时期能够拉长,鼓励了对存储控制器的持续优化。这样,通过对预设存储控制器硬件库内的至少一个存储控制器进行优化,也能够实现更新预设存储控制器硬件库的目的,同时还能够提高存储控制器的设计质量。
本申请实施例提供了一种存储控制器的设计方法,通过上述实施例对前述实施例的具体实现进行了详细阐述,从中可以看出,采用面向对象的设计思路,可以减少总体投入,简化修改流程,而且还能够对存储控制器进行持续优化,同时所设计的存储控制器具有易维护、可继承、易扩展等优点,提高了存储控制器的设计质量。
本申请的又一实施例中,参见图5,其示出了本申请实施例提供的一种存储控制器设计的应用场景示意图。在图5中,51为构建预设软件库和预设存储控制器硬件库(可简称为预设硬件库)的框图示例,52为在项目中使用预设软件库以及预设硬件库的框图示例。
在51框图中,预设软件库与预设硬件库的名称(或称之为名字)需要一致。具体可以包括以下步骤:
S511:选定预设软件库的名称,该名称用于选定包含多个集成有不同特性的存储控制器的集合(即预设硬件库)。
S512:将存储控制器的特性需求作为变量在预设软件库中加以声明。
S513:将每个集成有不同特性的存储控制器,作为函数在预设软件库中加以声明。这里,存储控制器的输入与输出将作为函数的输入与输出。
S514:选定预设硬件库的名称,该预设硬件库包括多个集成有不同特性的硬件存储控制器。
S515:通过逻辑设计和版图设计,设计各个集成有不同特性的硬件存储控制器的硬件电路。
S516:对硬件电路进行测试以及持续优化,保证预设硬件库中的所有存储控制器都是高效可靠的。
S517:将预设软件库中的各个函数与预设硬件库中的集成有不同特性的硬件存储控制器一一对应起来,用以保证在使用预设软件库中的函数的时候,相应的硬件存储控制器可以被例化。
需要说明的是,步骤S511~S513为预设软件库的构建流程,步骤S514~S516为预设硬件库搜网构建流程;这样,在构建出预设软件库和预设硬件库之后,可以将预设软件库中的各个函数与预设硬件库中的集成有不同特性的硬件存储控制器一一对应起来,用以保证在使用预设软件库中的函数的时候,相应的硬件存储控制器可以被例化。
也就是说,在一些实施例中,在确定目标存储控制器的特性需求信息之前,该方法还可以包括:
建立预设软件库;
在所述预设软件库中,将所述存储控制器的多个特性需求作为被声明对象在所述预设软件库中进行声明;其中,所述预设软件库中不同的被声明对象与所述预设存储控制器硬件库中集成有不同特性的存储控制器之间具有对应关系。
需要说明的是,本申请实施例还需要建立预设软件库,用于将存储控制器的不同特性需求(或者称为规格配置)作为被声明对象在预设软件库中加以声明;而且预设软件库中不同的被声明对象与预设存储控制器硬件库(即预设硬件库)中集成有不同特性的存储控制器之间具有一一对应关系。
还需要说明的是,预设软件库与预设存储控制器硬件库的名称还需要保持一致,该名称可以用于选定包括有多个集成有不同特性的存储控制器的硬件库。这样,由于预设软件库中不同的被声明对象与预设存储控制器硬件库中集成有不同特性的存储控制器之间是一一对应的,当在预设软件库中调用对象时,相应地可以从预设存储控制器硬件库中将符合该特性需求信息的存储控制器被例化出来,用以得到目标存储控制器。
具体来讲,基于面向对象的设计思路,预设存储控制器硬件库中的存储控制器即可以看作对象。这里,在软件界面中声明对象,表示软件语法上的重命名或者重定义。示例性地,如果针对分别集成有安全权限检查功能、行列转置功能、安全权限检查及行列转置功能的存储控制器,其声明如下,
mem_controller_security_control=MemoryController.security_control
mem_controller_transpose=MemoryController.Transpose
mem_controller_security_and_transpose=MemoryController.security_and_transpose
如此,根据所声明的对象,可以从预设存储控制器硬件库中将对象例化出来(即调用对象),从而能够得到符合特性需求信息的目标存储控制器。
进一步地,在52框图中,可以在项目中使用预设软件库以及预设硬件库。具体可以包括以下步骤:
S521:定义项目中使用的存储控制器的规格与功能。
S522:在项目环境中,根据规格与功能,调用预设软件库,并使用该预设软件库中含有相应功能的函数。
S523:将使用的预设软件库中函数的输入与输出,与其他模块的输入输出相连接。
S524:通过后端工具,将硬件存储控制器与被连接模块的输入与输出的连接变为物理层面的金属片连接。
S525:通过后端工具,将硬件存储控制器的硬件电路与存储控制器及周边模块的物理连接整合到一起,形成一个完成的硬件设计。
S526:生产出目标硬件电路,以完成项目。
需要说明的是,步骤S522的过程中,需要通过在项目中调用预设软件库的函数,以例化对应的硬件存储控制器;而且在步骤S525的过程中,还需要从预设存储控制器硬件库(即预设硬件库)中得到所需要的硬件存储控制器,并且最终生产出目标硬件电路。
也就是说,在一些实施例中,对于预设软件库,在所述预设软件库调用所述对象时,该方法还可以包括:
对所述对象的输入信号和输出信号分别进行赋值;
基于所述赋值,将所述目标存储控制器与被连接模块的输入和输出进行物理连接,以完成所述目标存储控制器的输入连接和输出连接。
需要说明的是,在步骤S523中,可以对该对象的输入信号和输出信号分别进行赋值,以实现该对象的输入连接和输出连接;然后根据该对象的输入连接和输出连接,可以通过后端工具,比如绘图工具、电子设计自动化(Electronics Design Automation,EDA)工具、计算机辅助设计(Computer Aided Design,CAD)工具等,从而将所述目标存储控制器与被连接模块的输入和输出进行物理连接,以完成所述目标存储控制器的输入连接和输出连接。
示例性地,如果在某项目的芯片系统上其他模块也支持面向对象的设计方案,那么可以通过软件界面的连接来完成目标存储控制器的集成。例如,
project1.input.address=cpu0.output.mem_addr
cpu0.input.rd_data=project1.output.data_out
如果在某项目的芯片系统上其他模块不支持面向对象的设计方案,那么需要在软件界面直接把信号名罗列出来进行连接来完成目标存储控制器的集成。
例如,
project1.input.address=cpu0_mem_addr
cpu0_rd_data=project1.output.data_out
这样,在建立出预设软件库和预设存储控制器硬件库之后,然后在软件界面中进行声明对象和调用对象的方式,即可迅速完成目标存储控制器的设计。
简言之,基于硬件单元的模块化,目前在业界已经是一个成熟的课题,然而并没有采用面向对象的设计思路。对此,本申请实施例提出了一种面向对象的设计思路,可以更进一步地将各种各样的特性需求融入到存储控制器模块内部。这里,存储控制器是一种常用的硬件模块,并且其本身有着各种特性需求持续增加而需求内容大体不变的特点。本申请实施例就是抓住了存储控制器的这种特点,将面向对象的设计理念应用于其中,使得存储控制器的设计,同样拥有了可继承性,易维护性,易扩展性等特性。
本申请实施例提供了一种存储控制器的设计方法,通过上述实施例对前述实施例的具体实现进行了详细阐述,从中可以看出,采用面向对象的设计思路,可以减少总体投入,简化修改流程,而且还能够对存储控制器进行持续优化,同时所设计的存储控制器具有易维护、可继承、易扩展等优点,提高了存储控制器的设计质量。
本申请的再一实施例中,以多个项目使用集成有安全权限检查和行列转置特性需求的存储控制器设计场景为例进行说明。
图6示出了相关技术方案提供的一种集成有安全权限检查和行列转置特性需求的传统存储系统示意图。如图6所示,该传统存储系统60可以包括安全权限判断器601和存储控制器602。其中,安全权限判断器601用于执行安全权限检查功能,可以基于存储器访问请求,确定是属于非安全空间地址,还是属于安全空间地址。存储控制器602为硬件存储控制器,其内可包括有地址译码单元和块0~块7,用于实现行列转置功能。需要注意的是,本申请实施例中,如无特殊说明,存储控制器即为硬件存储控制器。
在图6所示的传统存储系统中,对于安全权限检查的需求,将会根据该传统存储系统的安全设置,这里具有专门的电路(即安全权限判断器601)进行安全权限检查。对于行列转置的需求,假定每笔访问有8个元素,每个元素有32比特。那么,存储控制器602中存储阵列就会被分为8块,即块0~块7。第1笔8个元素会进入块0,第2笔8个元素会进入块1,第3笔8个元素会进入块2,…,当8笔共计64个元素进入块0到块7时,就可以从每个块中各读出1个元素,总共有8路输出以组合成一个8元素的数据,从而完成行列转置功能。
这里,存储控制器的特性需求主要有两个特点,①对存储控制器的特性需求很多;②每一个特性需求所要求的功能基本固定。传统的存储控制器设计并没有考虑到这两个特点,采用对应需求重新设计硬件存储控制器的方案。而在本申请实施例中,所阐述的面向对象的存储控制器设计思想,则充分利用了这两个特点,使得存储控制器的设计更加高效。
具体过程如下,
第一,需要预先建立一个包含多个不同特性功能的存储控制器库。
其中,在完成这个存储控制器库中存储控制器的设计时,需要注意:
(1)仍需要遵循“定义规格与功能”->“硬件前端设计”->“硬件前端验证”->“硬件后端实现”的传统设计原则,而且这个存储控制器库中的存储控制器会在后续作为对象被调用。
(2)这个存储控制器库中存储控制器的设计,需要遵循面向对象的特点,将各个特性功能直接集成到存储控制器内部。
与图6所示的传统存储系统相比,本申请实施例采用面向对象的设计方法,可以将存储控制器的特性需求直接集成到存储控制器自身内部,用来产生一系列带有特定需求功能的存储控制器,也即组成存储控制器库。然后,当一个芯片系统需要使用到存储控制器,并且对这个存储控制器有一些特定需求的时候,只需要直接例化满足这个特定需求的存储控制器,而不再需要如图6所示的在通用存储控制器外部增加专门电路来满足该芯片系统的需求。
示例性地,在本申请实施例中,图7示出了一个集成有安全权限检查特性需求的存储控制器70示例,图8示出了一个集成有行列转置特性需求的存储控制器80示例,图9示出了一个集成有安全权限检查及行列转置特性需求的存储控制器90示例。也就是说,图7、图8和图9分别为:i)带有安全权限检查特性需求的存储控制器,ii)带有行列转置特性需求的存储控制器,iii)带有安全权限检查及行列转置特性需求的存储控制器。这样,每一个存储控制器均可以看作存储控制器库中独立的对象。当芯片系统中需要相应的存储控制器时,这时候可以从存储控制器库中直接调用。
第二,在定义好规格和功能后,需要在软件界面中声明对象。
其中,根据存储控制器的特性需求,可以定义出对应的规格(parameter)和功能(function)。这里,存储控制器软件库的界面大致如下,
Class MemoryController
{
Parameter height;
parameter width;
parameter port_type;
parameter inputs;
parameter outputs;
parameter…
function security_control;
function transpose;
function security_and_transpose;
function column_extraction;
function…
}
那么,如果有三个项目希望分别产生带有安全权限检查(security_control)特性功能、行列转置(transpose)特性功能、安全权限检查及行列转置(security_and_transpose)特性功能的存储控制器时,这时候的声明如下,
MemoryController project1.security_control(<height>,<width>,…)
MemoryController project2.transpose(<height>,<width>,…)
MemoryController project3.security_and_transpose(<height>,<width>,…)
第三,通过给对象的输入输出信号进行赋值,来完成存储控制器的集成。
其中,如果在芯片系统上的其他模块也支持面向对象的设计方案,那么可以通过软件界面的连接来完成存储控制器的集成。例如,
project1.input.address=cpu0.output.mem_addr
cpu0.input.rd_data=project1.output.data_out
如果在芯片系统上的其他模块不支持面向对象的设计方案,那么需要在软件界面直接把信号名罗列出来,以完成目标存储控制器的集成。例如,project1.input.address=cpu0_mem_addr
cpu0_rd_data=project1.output.data_out
第四,通过简易的脚本文件,可以例化存储控制器的对象。
其中,脚本文件的描述具体如下,
Figure BDA0002713746920000171
Figure BDA0002713746920000181
这样,由于对象的类型(即规格和功能)和输入输出已经在第一至第三这三个步骤中指定,所以第四步骤中的脚本文件很容易实现。而且通过以上四个步骤的软硬件协同,使得设计人员可以快速高效的例化和使用存储控制器。
简言之,本申请实施例提供了一种存储控制器的设计方法,其采用面向对象的设计思路,使得设计好的存储控制器,能够深度耦合数据行列转置和访问安全权限控制等诸多特性需求。在满足预设特性需求的前提下,设计好的存储控制器同时还拥有易维护、可继承、易扩展等诸多优点。
这里,采用面向对象的思路来设计存储控制器,具有以下几个优点:
(1)总体投入减少。对象化的存储控制器,只需要一次设计投入,就可以用在各个产品项目上;这样,免去了设计存储控制器的重复投入,减少了在此硬件单元上的总体投入。
(2)修改简单。由于存储控制器的需求与控制器本身紧耦合,任何功能的修改和升级都只需要在该存储控制器内部进行,简化了修改流程。
(3)鼓励持续优化。由于带有特定需求功能的存储控制器,已经从产品本身独立出来,所以其优化需求时期大大拉长,鼓励了对存储控制器的持续优化,提高了存储控制器的设计质量。
本申请实施例提供了一种存储控制器的设计方法,通过上述实施例对前述实施例的具体实现进行了详细阐述,从中可以看出,采用面向对象的设计思路,可以减少总体投入,简化修改流程,而且还能够对存储控制器进行持续优化,同时所设计的存储控制器具有易维护、可继承、易扩展等优点,提高了存储控制器的设计质量。
本申请的再一实施例中,基于前述实施例相同的发明构思,参见图10,其示出了本申请实施例提供的一种存储控制器的设计装置100的组成结构示意图。如图10所示,存储控制器的设计装置100可以包括:确定单元1001、声明单元1002和例化单元1003;其中,
确定单元1001,配置为确定目标存储控制器的特性需求信息;
声明单元1002,配置为根据所确定的特性需求信息,在预设软件库的界面中声明对象;其中,所述预设软件库与预设存储控制器硬件库的名称保持一致,且所述预设存储控制器硬件库包括多个集成有不同特性的存储控制器;
例化单元1003,配置为在所述预设软件库调用所述对象时,从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,得到所述目标存储控制器。
在一些实施例中,参见图10,存储控制器的设计装置100还可以包括设计单元1004和建立单元1005;其中,
设计单元1004,配置为获取存储控制器的多个特性需求;其中,不同的特性需求对应不同的规格和功能;以及针对所述多个特性需求,根据预设设计规则得到多个集成有不同特性的存储控制器;
建立单元1005,配置为基于所得到的多个存储控制器,建立所述预设存储控制器硬件库。
在一些实施例中,参见图10,存储控制器的设计装置100还可以包括更新单元1006,配置为更新所述预设存储控制器硬件库。
在一些实施例中,设计单元1004,还配置为当存储控制器增加新的特性需求时,根据预设设计规则得到集成有新特性的新存储控制器;
更新单元1006,具体配置为将所述新存储控制器添加至所述预设存储控制器硬件库中,以更新所述预设存储控制器硬件库。
在一些实施例中,更新单元1006,具体配置为对所述预设存储控制器硬件库内的至少一个存储控制器进行优化,以更新所述预设存储控制器硬件库。
在一些实施例中,建立单元1005,还配置为建立预设软件库;
声明单元1002,还配置为在所述预设软件库中,将所述存储控制器的多个特性需求作为被声明对象在所述预设软件库中进行声明;其中,所述预设软件库中不同的被声明对象与所述预设存储控制器硬件库中集成有不同特性的存储控制器之间具有对应关系。
在一些实施例中,参见图10,存储控制器的设计装置100还可以包括连接单元1007,配置为对所述对象的输入信号和输出信号分别进行赋值;以及基于所述赋值,将所述目标存储控制器与被连接模块的输入和输出进行物理连接,以完成所述目标存储控制器的输入连接和输出连接。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有存储控制器的设计程序,所述存储控制器的设计程序被至少一个处理器执行时实现前述实施例中任一项所述的方法的步骤。
基于上述存储控制器的设计装置100的组成以及计算机存储介质,参见图11,其示出了本申请实施例提供的存储控制器的设计设备110的硬件结构示意图。如图11所示,可以包括:通信接口1101、存储器1102和处理器1103;各个组件通过总线系统1104耦合在一起。可理解,总线系统1104用于实现这些组件之间的连接通信。总线系统1104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统1104。其中,通信接口1101,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
存储器1102,用于存储能够在处理器1103上运行的计算机程序;
处理器1103,用于在运行所述计算机程序时,执行:
确定目标存储控制器的特性需求信息;
根据所确定的特性需求信息,在预设软件库的界面中声明对象;其中,所述预设软件库与预设存储控制器硬件库的名称保持一致,且所述预设存储控制器硬件库包括多个集成有不同特性的存储控制器;
在所述预设软件库调用所述对象时,从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,得到所述目标存储控制器。
可以理解,本申请实施例中的存储器1102可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步链动态随机存取存储器(Synchronous link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的存储器1102旨在包括但不限于这些和任意其它适合类型的存储器。
而处理器1103可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1103中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1103可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1102,处理器1103读取存储器1102中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital SignalProcessing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,处理器1103还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法的步骤。
在本申请实施例中,无论是存储控制器的设计装置100还是存储控制器的设计设备110,通过上述实施例对前述实施例的具体实现进行了详细阐述,从中可以看出,采用面向对象的设计思路,可以减少总体投入,简化修改流程,而且还能够对存储控制器进行持续优化,同时所设计的存储控制器具有易维护、可继承、易扩展等优点,提高了存储控制器的设计质量。
本申请的再一实施例中,参见图12,其示出了本申请实施例提供的一种芯片系统的组成结构示意图。如图12所示,芯片系统120至少可包括有存储控制器1201。其中,存储控制器1201采用面向对象的设计思路,而且存储控制器1201可以是基于前述实施例所述的存储控制器的设计装置100或者存储控制器的设计设备110进行设计得到的。
这样,在该芯片系统120中,存储控制器1201的设计可以减少总体投入,可以简化存储控制器1201的修改流程,而且还能够对存储控制器1201进行持续优化,同时所设计的存储控制器1201还具有易维护、可继承、易扩展等优点,从而提高了存储控制器1201的设计质量。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种存储控制器的设计方法,其特征在于,所述方法包括:
确定目标存储控制器的特性需求信息;
根据所确定的特性需求信息,在预设软件库的界面中声明对象;其中,所述预设软件库与预设存储控制器硬件库的名称保持一致,且所述预设存储控制器硬件库包括多个集成有不同特性的存储控制器;
在所述预设软件库调用所述对象时,从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,得到所述目标存储控制器。
2.根据权利要求1所述的方法,其特征在于,在所述确定目标存储控制器的特性需求信息之前,所述方法还包括:
获取存储控制器的多个特性需求;其中,不同的特性需求对应不同的规格和功能;
针对所述存储控制器的多个特性需求,根据预设设计规则得到多个集成有不同特性的存储控制器;
基于所得到的多个存储控制器,建立所述预设存储控制器硬件库。
3.根据权利要求2所述的方法,其特征在于,在建立所述预设存储控制器硬件库之后,所述方法还包括:
更新所述预设存储控制器硬件库。
4.根据权利要求3所述的方法,其特征在于,所述更新所述预设存储控制器硬件库,包括:
当存储控制器增加新的特性需求时,根据预设设计规则得到集成有新特性的新存储控制器;
将所述新存储控制器添加至所述预设存储控制器硬件库中,以更新所述预设存储控制器硬件库。
5.根据权利要求3所述的方法,其特征在于,所述更新所述预设存储控制器硬件库,包括:
对所述预设存储控制器硬件库内的至少一个存储控制器进行优化,以更新所述预设存储控制器硬件库。
6.根据权利要求2所述的方法,其特征在于,在所述确定目标存储控制器的特性需求信息之前,所述方法还包括:
建立预设软件库;
在所述预设软件库中,将所述存储控制器的多个特性需求作为被声明对象在所述预设软件库中进行声明;其中,所述预设软件库中不同的被声明对象与所述预设存储控制器硬件库中集成有不同特性的存储控制器之间具有对应关系。
7.根据权利要求1至6任一项所述的方法,其特征在于,在所述预设软件库调用所述对象时,所述方法还包括:
对所述对象的输入信号和输出信号分别进行赋值;
基于所述赋值,将所述目标存储控制器与被连接模块的输入和输出进行物理连接,以完成所述目标存储控制器的输入连接和输出连接。
8.一种存储控制器的设计装置,其特征在于,所述存储控制器的设计装置包括:确定单元、声明单元和例化单元;其中,
所述确定单元,配置为确定目标存储控制器的特性需求信息;
所述声明单元,配置为根据所确定的特性需求信息,在预设软件库的界面中声明对象;其中,所述预设软件库与预设存储控制器硬件库的名称保持一致,且所述预设存储控制器硬件库包括多个集成有不同特性的存储控制器;
所述例化单元,配置为在所述预设软件库调用所述对象时,从所述预设存储控制器硬件库中例化符合所述特性需求信息的存储控制器,得到所述目标存储控制器。
9.一种存储控制器的设计设备,其特征在于,所述存储控制器的设计设备包括:存储器和处理器;其中,
所述存储器,用于存储能够在所述处理器上运行的可执行指令;
所述处理器,用于在运行所述可执行指令时,执行如权利要求1至7任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有存储控制器的设计程序,所述存储控制器的设计程序被至少一个处理器执行时实现如权利要求1至7任一项所述的方法。
CN202011065880.2A 2020-09-30 2020-09-30 一种存储控制器的设计方法、装置、设备以及存储介质 Active CN112148650B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011065880.2A CN112148650B (zh) 2020-09-30 2020-09-30 一种存储控制器的设计方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011065880.2A CN112148650B (zh) 2020-09-30 2020-09-30 一种存储控制器的设计方法、装置、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN112148650A CN112148650A (zh) 2020-12-29
CN112148650B true CN112148650B (zh) 2022-07-19

Family

ID=73951875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011065880.2A Active CN112148650B (zh) 2020-09-30 2020-09-30 一种存储控制器的设计方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN112148650B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1125991A (zh) * 1993-06-23 1996-07-03 艾利森电话股份有限公司 一种对基于主存储器的数据库进行数据访问的方法
CN101587491A (zh) * 2008-04-15 2009-11-25 Sap股份公司 使用运行时可重配置硬件的混合数据库系统
CN102375764A (zh) * 2010-08-13 2012-03-14 国际商业机器公司 在软件部署中进行故障管理的方法和系统
CN106095459A (zh) * 2016-06-21 2016-11-09 林添孝 一种自动完成嵌入式软件库的挑选与特化的实现方法
CN106326248A (zh) * 2015-06-23 2017-01-11 阿里巴巴集团控股有限公司 数据库数据的存储方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567837B1 (en) * 1997-01-29 2003-05-20 Iq Systems Object oriented processor arrays
US9244822B2 (en) * 2013-12-16 2016-01-26 Netapp Inc. Automatic object model generation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1125991A (zh) * 1993-06-23 1996-07-03 艾利森电话股份有限公司 一种对基于主存储器的数据库进行数据访问的方法
CN101587491A (zh) * 2008-04-15 2009-11-25 Sap股份公司 使用运行时可重配置硬件的混合数据库系统
CN102375764A (zh) * 2010-08-13 2012-03-14 国际商业机器公司 在软件部署中进行故障管理的方法和系统
CN106326248A (zh) * 2015-06-23 2017-01-11 阿里巴巴集团控股有限公司 数据库数据的存储方法和装置
CN106095459A (zh) * 2016-06-21 2016-11-09 林添孝 一种自动完成嵌入式软件库的挑选与特化的实现方法

Also Published As

Publication number Publication date
CN112148650A (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN110869905B (zh) 用于将高级脚本语言编译为区块链固有脚本语言的方法
CN1885295B (zh) 使用逻辑单元建置集成电路
US8103987B2 (en) System and method for managing the design and configuration of an integrated circuit semiconductor design
US7774723B2 (en) Protecting trade secrets during the design and configuration of an integrated circuit semiconductor design
CN102902839A (zh) 管理集成电路设计的装置和方法
US20170139685A1 (en) Visual software modeling method to construct software views based on a software meta view
CN116501305B (zh) 用于寄存器代码自动生成的方法、设备、介质及系统
CN113408222B (zh) 文件生成方法、装置、电子设备及存储介质
CN114598631B (zh) 面向神经网络计算的分布式数据路由的建模方法和装置
Givon et al. Neurokernel: an open source platform for emulating the fruit fly brain
CN112269836A (zh) 一种区块链智能合约生成与管理系统及其实现机制
US20170139684A1 (en) General modeling method to construct system models based on a system meta model
CN102289367B (zh) 根据模式的命令行外壳命令生成
Konur et al. kPWorkbench: A software suit for membrane systems
US20150088483A1 (en) Simulated component connector definition and connection process
CN112148650B (zh) 一种存储控制器的设计方法、装置、设备以及存储介质
US10606843B2 (en) Irreducible modules
Reid et al. History of coarrays and SPMD parallelism in Fortran
US20170199858A1 (en) Form management system and method
CN111506362B (zh) 用于游戏的配置表格的处理方法、装置、存储介质和系统
US8453081B2 (en) Electrical design space exploration
Corre et al. Fast template-based heterogeneous mpsoc synthesis on fpga
CN116976252A (zh) 一种回归仿真方法、装置、设备、介质及程序产品
US20210240469A1 (en) Method and apparatus for managing modules
CN107808031B (zh) 一种基于fpga的可重构计算系统实现方法

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