CN112948023B - 一种嵌入的可配置逻辑的实现方法 - Google Patents
一种嵌入的可配置逻辑的实现方法 Download PDFInfo
- Publication number
- CN112948023B CN112948023B CN202110308884.7A CN202110308884A CN112948023B CN 112948023 B CN112948023 B CN 112948023B CN 202110308884 A CN202110308884 A CN 202110308884A CN 112948023 B CN112948023 B CN 112948023B
- Authority
- CN
- China
- Prior art keywords
- hardware
- software
- requirement
- node
- function
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring 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)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种嵌入的可配置逻辑的实现方法,包括:步骤1:确定目标集成电路上的硬件设计节点集合以及软件设计节点集合;步骤2:获取用户的目标需求,并对目标需求进行拆分,获取硬件需求以及软件需求;步骤3:将硬件需求与硬件设计节点集合进行第一匹配,获得硬件目标节点,将软件需求与软件设计节点集合进行第二匹配,获得软件目标节点;步骤4:将与硬件需求相关的硬件功能配置到硬件目标节点上,同时,将与软件需求相关的软件功能配置到软件目标节点上,执行相应功能。通过进行硬件设计以及软件设计上有效的功能区分,可以有效降低开发周期,提高产品差异化。
Description
技术领域
本发明涉及半导体技术领域,特别涉及一种嵌入的可配置逻辑的实现方法。
背景技术
目前市面上应用专用集成电路("ASIC")或又称作集成***芯片(“SOC”)的设计可达到数十亿个晶体管(以后均简称”ASIC”),其中还包括了许多定性的功能模块(IntellectualProperties“IP”),例如,运算指令中心(“CPU”、”ARM”、”DSP”、”MCU”等),***逻辑控制器("SLC"),对外有线通讯、无线通信网络***,绘图***,显示控制***,存储***,汇流***(“BUS”),电源供应***、数字/仿真转换***(“DAC/ADC”),多个串型或并行端口(“I/O”)。
由于ASIC提供了一种真正经济高效的方法来实现大量数字逻辑电路以执行特定功能,ASIC设计人员和芯片制造商开发了某些技术,用于减少设计和侦错(Debug)ASIC以及制造ASIC所需的难度、费用和时间。其中一种促进实现ASIC的技术称为门阵列(GateArray)。使用”门阵列”时,ASIC设计仅需编程(Program)在预先指定的二维逻辑门数组中排列的单个数字逻辑电路之间的互连。或者,设计人员还可以通过在芯片制造商提供的单元库(CellLibrary)中选择标准单元、指定芯片上标准单元的位置以及指定所选标准单元之间的互连来完成ASIC设计。
由于经验已经证实ASIC具有成本效益,因此ASIC设计中包含的电路数量和复杂性会一年比一年增加。显然,ASIC设计不仅变得越来越复杂,ASIC制造技术也在一年一年地进步。在可预见的未来,ASIC几何形状将从28纳米特征尺寸(FeatureSize)减小到10纳米,7纳米甚至更小的5纳米、3纳米的特征尺寸,而用于ASIC制造厂的晶圆尺寸的直径将从8英寸到12英寸,甚至到16英寸。目前ASIC的光罩数目已超过50层以上,这让开发一个新产品的时间增加很长。而开发产品所需的非经常性费用("NRE")也变得非常昂贵。
从上述技术演进与所有设计与市场因素综合考虑,除了会增加ASIC工程的NRE,再加上新的功能或新的规格不断翻新,尤其在通信协议更迭的速度更快,这就使产品生命周期不断缩短的业务现实。一般制造ASIC工程原型(Prototype)的传统周期为8到12周,加上ASIC生产的交货期为12到16周,对于日新月异产品生命周期来说,时间太长了。与ASIC的生产周期相比,产品生命周期不断缩短,这使得ASIC库存控制更加困难。例如,特定的ASIC设计可能在尚未清光为期三个月的ASIC库存前,马上会面临过时淘汰的压力。
在某些情况下,数字逻辑设计人员可以其他方法实现ASIC。这些替代方案,其中一些称为“现场可编程门阵列”(FieldProgrammableGateArray"FPGA")、”可编程阵列逻辑”(ProgrammableArrayLogic"PAL")或“门阵列逻辑”(GateArrayLogic"GALS")。这些方法允许数字逻辑设计人员以电子方式编程芯片,以实现特定应用程序的数字逻辑功能。其中一些芯片组件是电子可编程的,这显然可以大大缩短了制造和侦错的工程原型ASIC的时间和费用。因此,与实体制造ASIC相比,仅通过编程标准芯片以电子方式创建ASIC似乎非常可取。不幸的是,在许多情况下,目前可用的可编程逻辑产品,如FPGA,PAL和GAL单价过于昂贵,特别是对于大批量产品。此外,此类芯片一般不能提供与ASIC电路密度和/或电路性能相媲美的电路密度和/或电路性能,亦即无法达到以最先进技术生产的产品所需的电路密度和/或性能水平。而且可编程序的芯片产品,一般说来只能证明功能,但无法达到ASIC所需的性能。
为避免ASIC设计中的上述困难,美国专利No.5,687,325”应用特定的领域可编程栅门阵列”("ASFPGA")披露了一个新的解决方法,该阵列在单个IC芯片中至少包括两个固定功能单元。根据ASFPGA的特定应用,固定功能单元可包括一个或多个汇流接口(BusInterfaces)、事件计时器(EventTimers)、中断控制器(InterruptController)、直接内存访问("DMA"控制器)、***计时器(SystemTimer)、实时时钟(Real-timeClock)、随机存查存储器("RAM")、时钟合成器(ClockSynthesizer)、数字到模拟转换器("DAC"),显示接口(DisplayInterface)、寄存器文件(RegisterFile)、压缩图像编码器/解码器("CODEC")、微型控制器(MCU)或类似功能单元。ASFPGA还包括一个通用场可编程栅门阵列("FPGA")。FPGA可配置,可在固定功能模块单元之间实现特定的数字逻辑电路互连。完成配置FPGA后,固定功能模块单元与FPGA一起执行所有功能。
目前ASIC的设计人员已经开始在ASIC设计中包括预先设计的功能块,或通称为”IP”。这IP功能块可用于ASIC设计,其中包括”动态随机存储”("DRAM")模块,”静态随机存储”("SRAM")模块,”电子可擦除可编程只读存储器”("EEPROM")模块、”闪存”模块、”先入先出存储”("FIFO")模块、”简化指令集计算机”("RISC"微处理器)模块、”数字信号处理器”("DSP")模块、各种”汇流接口”模块(如工业标准架构("ISA"、”EISA"、"VESA”、"PCI"、”USB”、”AMBA”、”HDMI”、”UART”、"SIO")模块等。
由于ASIC集成了大量的功能,这使得在消费性产品市场上,不容易有差异化。由于新的***规格的出现,或通讯协议的更新,例如在5G或电动车充电国际标准有所更新时,ASIC新版必须包括这些新的规格,这会使得原先的ASIC芯片变成过时。
除了市场变迁快,产品差异性不大,另外就是如今***电路复杂,芯片彼此之间的电性匹配也是不易,因此小幅度的电性调整就变得很必要。当今的ASIC芯片没有电性调整弹性,因此只能靠外加电路来实现,这会增加成本与时间。
总结现今消费市场更新速度快,芯片集成密度高,开发时间长,开发成本高,产品差异化不易,产品竞争激烈,因此如何兼顾开发时间短、价格低廉、功能与性能强大、产品有差异性、以及应付经常有新版的规格或协议,就成为ASIC开发与制造的最棘手的问题。
因此,本发明提出一种嵌入的可配置逻辑的实现方法。
发明内容
本发明提供一种嵌入的可配置逻辑的实现方法,用以通过进行硬件设计以及软件设计上有效的功能区分,可以有效降低开发周期,提高产品差异化。
本发明提供一种嵌入的可配置逻辑的实现方法,包括:
步骤1:确定目标集成电路上的硬件设计节点集合以及软件设计节点集合;
步骤2:获取用户的目标需求,并对所述目标需求进行拆分,获取硬件需求以及软件需求;
步骤3:将所述硬件需求与硬件设计节点集合进行第一匹配,获得硬件目标节点,将所述软件需求与软件设计节点集合进行第二匹配,获得软件目标节点;
步骤4:将与硬件需求相关的硬件功能配置到所述硬件目标节点上,同时,将与软件需求相关的软件功能配置到所述软件目标节点上,执行相应功能。
在一种可能实现的方式中,
步骤1中,硬件设计节点集合包括:
目标集成电路上不同的硬件块,且所述硬件块为不可编程的功能块,用于执行与硬件需求相关的第一功能;
步骤1中,软件设计节点集合包括:
目标集成电路上不同的可编程逻辑块,可进行电性编辑,用于执行与软件需求相关的第二功能,或者用于自动补充或增强现有硬件块无法执行的第三功能。
在一种可能实现的方式中,
执行与软件需求功能相关的第二功能的过程中,包括:
确定所述目标集成电路上的可编程逻辑块;
基于所述可编程逻辑块为用户提供添加特定功能的方法,从所述方法中调取与所述软件需求相关的特定指令,并按照所述特定指令进行特定功能的添加;
同时,将添加特定功能后的目标集成电路与待比较集成电路进行比对,用于区分各自集成电路的产品线中的产品,同时,对所述产品进行功能区分;
其中,添加的特定功能即为对应的要执行的第二功能。
在一种可能实现的方式中,
自动补充或增强现有硬件无法执行的第三功能的过程中,包括:
确定所述目标集成电路上的存储器,并基于所述存储器补充所述目标集成电路中硬件块现有无法执行的***功能;
其中,所述***功能即为第三功能。
在一种可能实现的方式中,
步骤3中,将所述硬件需求与硬件设计节点集合进行第一匹配,获得硬件目标节点,包括:
获取所述硬件需求,对所述硬件需求进行需求拆分,获得子需求序列,且所述子需求序列中的每个子需求都包含有对应的第一关键字;
获取所述硬件设计节点集合中每个硬件设计节点的节点基本信息,所述节点基本信息包括:对应节点执行的特定功能的特定关键字、特定关键字的类别、特定关键字的匹配组合列表;
将每个第一关键字分别与每个硬件设计节点的节点基本信息进行匹配,得到匹配映射表;
基于匹配映射表,确定在每个节点基本信息中,所包含的第一关键字的第一个数以及未包含的第一关键字的第二个数;
根据第一个数的第一关键字的关键类别以及对应的组合列表,与对应硬件设计节点中特定关键字的特定类别以及特定关键字的匹配组合列表进行匹配;
同时,确定第一个数的第一关键字的第一关键比例以及第二个数的第二关键字的第二关键比例;
标定所述第一关键比例大于第一预设比例的所有第一设计节点,同时,标定所述第二关键比例大于第二预设比例的所有第二设计节点;
若所述第一设计节点以及第二设计节点中存在重复节点,则对所述重复节点进行优先排序,获取最佳节点,并视为硬件目标节点;
若未存在重复节点,则按照所述第一关键比例以及匹配结果对所述第一设计节点进行第一最优排序,同时,按照所述第二关键比例以及匹配结果对所述第二设计节点进行第二最优排序,根据最优排序结果,获得优选节点;
确定所述优选节点的缺失功能,并从功能补充数据库中,调取与所述缺失功能相关的补充信息到所述优选节点,得到最终节点,并视为硬件目标节点。
在一种可能实现的方式中,
步骤4中,将与软件需求相关的软件功能配置到所述软件目标节点上,执行相应功能,包括:
确定将所述软件功能配置到所述软件目标节点的配置通道;
收集所述配置通道的配置任务,并对所述配置任务的配置进度进行实时监测,并基于监测结果,对所述配置任务进行动态随机验证;
当验证通过时,判定所述配置通道合格,并执行所述软件功能的配置;
否则,基于监测结果,获取所述配置任务的当前进度,并从配置数据库中,调取与所述当前进度相关的配置参数,同时,获取验证失败的验证结果;
基于验证配置数据库,将所述验证结果对应的验证参数与所述配置参数进行比较;
根据比较结果,获取易更改参数,同时,基于诊断协议,调取与所述当前进度相关的诊断方式;
建立所述软件功能的功能列表,并获取所述当前进度涉及到的子功能;
按照所述诊断方式,对所述子功能进行诊断;
根据诊断结果以及易更改参数,从安全保护数据库中,获取保护协议,将所述保护协议覆盖在所述配置通道中与当前进度对应的保护块上,并进行动态随机验证,直到验证通过。
在一种可能实现的方式中,
根据诊断结果以及易更改参数,从安全保护数据库中,获取保护协议,包括:
根据当前进度涉及到的子功能,对所述诊断结果进行对应子功能数目的结果拆分;
获取易更改参数的可改变状态,并根据如下公式,计算所述可改变状态对每条拆分结果的影响值;
其中,Zi表示所述可改变状态对第i条拆分结果的影响值;n表示可改变状态的总状态数量;χj表示第j个可改变状态的权重值,且δj(fi)表示第j个可改变状态对第i条拆分结果fi的改变值,且取值范围为[0,1];
根据如下公式,对所述影响值进行划分;
其中,a,b,c,d表示对影响值的划分边界范围值,且为常数;G表示对影响值得划分结果;
按照划分结果G,获取每条拆分结果对应的待保护等级;
从安全保护数据库中,分别获取与每个待保护等级相应的待使用协议;
对所述待使用协议进行独立筛选,根据独立筛选结果,获得保护协议。
在一种可能实现的方式中,
步骤2中,获取用户的目标需求,并对所述目标需求进行拆分,获取硬件需求以及软件需求,包括:
获取所述目标需求,并对目标需求进行第一拆分,得到若干个子信息段;
基于信息转换数据库,将每个子信息段转换为序列段;
获取每个序列段的序列标志,确定所述序列标志是否为第一标志;
若是,将所述第一标志的序列段与对应的第一标准序列进行比较;
否则,将第二标志的序列段与对应的第二标准序列进行比较;
若都比较通过,则获取到对应的硬件需求以及软件需求;
否则,调取比较失败的序列段,判断所述序列段是否为无效序列,若是,进行剔除,否则,将所述序列段进行标定提醒。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中USB汇流接口逻辑控制芯片的结构图;
图2为本发明实施例中智能卡控制芯片的结构图;
图3为本发明实施例中射频数据通讯逻辑控制芯片的结构图;
图4为本发明实施例中一种嵌入的可配置逻辑的实现方法的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1:
本发明提供一种嵌入的可配置逻辑的实现方法,如图4所示,包括:
步骤1:确定目标集成电路上的硬件设计节点集合以及软件设计节点集合;
步骤2:获取用户的目标需求,并对所述目标需求进行拆分,获取硬件需求以及软件需求;
步骤3:将所述硬件需求与硬件设计节点集合进行第一匹配,获得硬件目标节点,将所述软件需求与软件设计节点集合进行第二匹配,获得软件目标节点;
步骤4:将与硬件需求相关的硬件功能配置到所述硬件目标节点上,同时,将与软件需求相关的软件功能配置到所述软件目标节点上,执行相应功能。
针对上述步骤1-4的具体实施例如下,参见图1-3所示:
图1,描述的是USB汇流接口逻辑控制器(USBBusController"USBBC"ASIC)的框图。USBBC中包含的传统功能块,例如SRAM模块、EEPROM或FLASH闪存模块、FIFO模块、RISC处理器或DSP模块,以及USB汇流接口块。原则上,RISC处理器或DSP模块可以是任何类型的中央处理单元("CPU"),包括DSP、MCU微控制器、RISC或复杂指令集计算机("CISC")。USB汇流接口模块亦可以替换为其他汇流接口模块,例如PCI、HDMI、UART等连接口。只要定义与选择好数据交换所需的汇流接口种类,一般ASIC设计领域的普通技能执行者,都能将所有功能块整合到一块集成电路中。
除了上述USBBC中标识的常规功能块外,符合本发明的USBBC还包括PLB。在根据本发明,USBBC中的PLB使***构建者有机会通过向USBBC中添加特定功能来轻松区分其产品线,并在功能上区分竞争对手提供的各种产品。也就是说,USBBC中存在的PLB,使***构建器能够以硬件方式,提升***功能,并使得产品功能区分变得容易。
例如,在USBBC的示例中,***构建器可以对PLB进行编程,针对周边特别器件进行解码的操作,而不是在操作***软件中执行此类器件解码。如上所述,在硬件中解码的速度,远快于***软件解码,而且使破解译码器变得非常困难。显而易见的是,USBBC中的PLB使***设计者能够利用编程的特定特性,对***进行功能调整,而不是在软件中执行该功能。
更具体地说,USBBC中包含的客制化逻辑(CustomizedLogic)在某些应用程序(如媒体控制器(MediaAccessController"MAC")、地址解析逻辑(AddressResolutionLogic"ARL")或DMA控制器(用于管理数据传输)之间互动。此种客制化的互动的应用例子,如在计算机***中的USBBC允许RISC处理器或DSP模块能接收来自调制解调器(MODEM)、电话线、区域网络(LocalAreaNetwork"LAN")或任何音频或数字信号输入的信号。然后,RISC处理器或DSP模块可以解码(Decode)或处理接收到的信号,以将它们转换为指定的格式(Format)或序列(Sequence)。在解码或处理后,RISC处理器或DSP模块将结果存储到FIFO模块中,或存储到位于SRAM模块中的队列(Queue)中。
除了为队列(Queue)提供存储外,SRAM块还可以为RISC处理器或DSP模块提供暂存垫存储(ScratchPadStorage)。在计算机***中的CPU(图中未绘出通过USB汇流接口模块与RISC处理器或DSP模块通信。EEPROM或FLASH闪存模块提供非挥发性内存储,可以存储配置数据(ConfigurationData)。在这样的***中,设计人员可以有利地使用PLB提供独特的TCP/IP处理。PLB中包含***内编程("ISP")一个端口,通过该端口可以对PLB进行编程。
根据本发明的另一应用,图2描述了智能卡控制器(SmartCardController"SCC")ASIC。图2中描绘的SCC与图1的USBBC有许多相同功能的模块,但常规功能SIO模块取代了FIFO模块。在PLB模块中,添加硬件加密/解密功能,提供传统功能块新的特性。
SIO模块提供了一个”串行数据链路物理接口”(SerialDataLinkPhysicalInterface),如箭头线所示,可适用于网通协议,如令牌环(TokenRing),SDLC/HDLC等。在SCC智能卡控制器中,RISC处理器或DSP模块处理通过SIO模块接收到的协议、指令或数据流(DataStream)。客制化逻辑处理特定任务。SRAM模块可用于临时存储或作为暂存垫存储(ScratchPadStorage)。EEPROM或FLASH闪存模块用于存储配置数据(ConfigurationData)。PLB允许***构建者可以按自己的方式提供ASIC新的客制化功能。
PLB模块可用于加密或解密算法、管理各种汇流接口或设备或显示***状态。以PLB来做加密/解密,不但增加安全性与破解的困难,同时能给予不同客户有不同的加密/解密的钥匙。
如USBBC所述,PLB中包含***内编程("ISP")一个端口,通过该端口可以对PLB进行编程。
根据本发明的另一应用,图2描述了智能卡控制器(SmartCardController"SCC")ASIC。图2中描绘的SCC与图1的USBBC有许多相同功能的模块,但常规功能SIO模块取代了FIFO模块。在PLB模块中,添加硬件加密/解密功能,提供传统功能块新的特性。
SIO模块提供了一个“串行数据链路物理接口”(SerialDataLinkPhysicalInterface),如箭头线所示,可适用于网通协议,如令牌环(TokenRing),SDLC/HDLC等。在SCC智能卡控制器中,RISC处理器或DSP模块处理通过SIO模块接收到的协议、指令或数据流(DataStream)。客制化逻辑处理特定任务。SRAM模块可用于临时存储或作为暂存垫存储(ScratchPadStorage)。EEPROM或FLASH闪存模块用于存储配置数据(ConfigurationData)。PLB允许***构建者可以按自己的方式提供ASIC新的客制化功能。
PLB模块可用于加密或解密算法、管理各种汇流接口或设备或显示***状态。以PLB来做加密/解密,不但增加安全性与破解的困难,同时能给予不同客户有不同的加密/解密的钥匙。
如USBBC所述,PLB中包含***内编程("ISP")一个端口,通过该端口可以对PLB进行编程。
上述技术方案的有益效果是:通过进行硬件设计以及软件设计上有效的功能区分,可以有效降低开发周期,提高产品差异化。
实施例2:
基于实施例1的基础上,步骤1中,硬件设计节点集合包括:
目标集成电路上不同的硬件块,且所述硬件块为不可编程的功能块,用于执行与硬件需求相关的第一功能;
步骤1中,软件设计节点集合包括:
目标集成电路上不同的可编程逻辑块,可进行电性编辑,用于执行与软件需求相关的第二功能,或者用于自动补充或增强现有硬件块无法执行的第三功能。
上述技术方案的有益效果是:通过对硬件设计节点集合以及软件设计节点集合进行确定,便于有效的执行相应的功能,且还便于补充或增强其他功能,且通过软件硬件设计的功能的有效区分,便于提高产品差异化。
实施例3:
基于实施例2的基础上,执行与软件需求功能相关的第二功能的过程中,包括:
确定所述目标集成电路上的可编程逻辑块;
基于所述可编程逻辑块为用户提供添加特定功能的方法,从所述方法中调取与所述软件需求相关的特定指令,并按照所述特定指令进行特定功能的添加;
同时,将添加特定功能后的目标集成电路与待比较集成电路进行比对,用于区分各自集成电路的产品线中的产品,同时,对所述产品进行功能区分;
其中,添加的特定功能即为对应的要执行的第二功能。
该实施例中,特定指令是为了调取对应的方法,来实现功能的添加,其中,特定功能、特征指令与消费性产品有关。
上述技术方案的有益效果是:通过调取特定指令,进行特定功能添加,便于保证目标集成电路的特殊性,且通过比对,便于对产品进行有效区分,进而实现对功能的有效区分,进一步提高产品的差异化。
实施例4:
基于实施例2的基础上,自动补充或增强现有硬件无法执行的第三功能的过程中,包括:
确定所述目标集成电路上的存储器,并基于所述存储器补充所述目标集成电路中硬件块现有无法执行的***功能;
其中,所述***功能即为第三功能。
上述技术方案的有益效果是:通过存储器,便于预先存储有效的功能,且通过补充,便于保证硬件块在执行原有的功能的基础上,还可以执行新的功能。
实施例5:
基于实施例1的基础上,步骤3中,将所述硬件需求与硬件设计节点集合进行第一匹配,获得硬件目标节点,包括:
获取所述硬件需求,对所述硬件需求进行需求拆分,获得子需求,且每个子需求都包含有对应的第一关键字;
获取所述硬件设计节点集合中每个硬件设计节点的节点基本信息,所述节点基本信息包括:对应节点执行的特定功能的特定关键字、特定关键字的类别、特定关键字的匹配组合列表;
将每个第一关键字分别与每个硬件设计节点的节点基本信息进行匹配,得到匹配映射表;
基于匹配映射表,确定在每个节点基本信息中,所包含的第一关键字的第一个数以及未包含的第一关键字的第二个数;
根据第一个数的第一关键字的关键类别以及对应的组合列表,与对应硬件设计节点中特定关键字的特定类别以及特定关键字的匹配组合列表进行匹配;
同时,确定第一个数的第一关键字的第一关键比例以及第二个数的第二关键字的第二关键比例;
标定所述第一关键比例大于第一预设比例的所有第一设计节点,同时,标定所述第二关键比例大于第二预设比例的所有第二设计节点;
若所述第一设计节点以及第二设计节点中存在重复节点,则对所述重复节点进行优先排序,获取最佳节点,并视为硬件目标节点;
若未存在重复节点,则按照所述第一关键比例以及匹配结果对所述第一设计节点进行第一最优排序,同时,按照所述第二关键比例以及匹配结果对所述第二设计节点进行第二最优排序,根据最优排序结果,获得优选节点;
确定所述优选节点的缺失功能,并从功能补充数据库中,调取与所述缺失功能相关的补充信息到所述优选节点,得到最终节点,并视为硬件目标节点。
该实施例中,功能缺失指的是缺少与某个需求相关的功能,此时需要将其进行补充到最后节点。
该实施例中,硬件需求,例如是指定某个硬件或者需要执行的某个功能,都需要对应的硬件可以实现,例如硬件需求是与导航相关的,此时,对应的子需求就会包括:交通堵塞情况、天气情况、红绿灯情况、路面平缓情况等需求且对应的第一关键字例如,交通堵塞情况的是包括:交通、堵塞在内的,天气情况是包括天气在内的等。
该实施例中,特定关键字是表示包含其特殊功能的词汇,且类别,例如是包括:交通、天气等类别在内。
该实施例中,匹配组合列表,例如是:堵塞、路面凹凸不平、红绿灯中的任一个或多个自由组合后构成的。
该实施例中,匹配映射表指的是,一个第一关键字可以与不同的硬件设计节点的节点基本信息进行匹配获得的。
该实施例中,例如,第一关键字为“堵塞”,其堵塞可以与硬件设计节点1,2,4匹配,此时即为获取的一条映射关系,获取每个第一关键字对应的所有条映射关系后,即可获得匹配映射表,其中,第一关键字的个数可以不止一个;
该实施例中,假设第一关键字为“01,02,03,04”,此时,其中一个节点基本信息可以是包括“01,04”在内的,此时,所含的第一关键字的第一个数为2,未包含的第一关键字的第二个数未2,且对应的关键比例,除了与个数比例如1/2有关之外,还与关键字本身对用执行的功能有关,功能越强大,对关键比例的影响越大。
该实施例中,第一预设比例以及第二预设比例是预先设定好的。
该实施例中,优先排序是按照其节点的处理能力以及功能来综合确定的,其最佳节点,即为对应的由大到小优先排序后的最大值所对应的。
上述技术方案的有益效果是:通过对硬件需求进行拆分,来获取每个子需求包含的关键字,通过进行匹配,获取映射表,便于明确关键字可匹配的节点,通过确定关键比例,来筛选设计节点,方便后续确定是否存在重复节点,进而根据确定的结果来分别采用不同的执行手段进行操作,保证获取硬件目标节点的有效性,为实现产品的差异化,提供技术基础。
实施例6:
基于实施例1的基础上行,步骤4中,将与软件需求相关的软件功能配置到所述软件目标节点上,执行相应功能,包括:
确定将所述软件功能配置到所述软件目标节点的配置通道;
收集所述配置通道的配置任务,并对所述配置任务的配置进度进行实时监测,并基于监测结果,对所述配置任务进行动态随机验证;
当验证通过时,判定所述配置通道合格,并执行所述软件功能的配置;
否则,基于监测结果,获取所述配置任务的当前进度,并从配置数据库中,调取与所述当前进度相关的配置参数,同时,获取验证失败的验证结果;
基于验证配置数据库,将所述验证结果对应的验证参数与所述配置参数进行比较;
根据比较结果,获取易更改参数,同时,基于诊断协议,调取与所述当前进度相关的诊断方式;
建立所述软件功能的功能列表,并获取所述当前进度涉及到的子功能;
按照所述诊断方式,对所述子功能进行诊断;
根据诊断结果以及易更改参数,从安全保护数据库中,获取保护协议,将所述保护协议覆盖在所述配置通道中与当前进度对应的保护块上,并进行动态随机验证,直到验证通过。
该实施例中,配置通道,是将软件功能配置到软件目标节点上的配置过程;
该实施例中,配置任务,是包括多项子项目在内的,如格式配置,参数配置等,进行动态随机验证,是为了保证配置任务在执行过程的有效性以及准确性,当验证失败时,获取异常提醒信息,该信息可以是包括产生该异常的原因在内的,且对应的验证参数,是包括:数字配置、格式配置、代码配置等的。
该实施例中,监测结果是包括各种进度对应的进度日志或者是配置日志在内的。
该实施例中,配置参数,例如是包括:数字配置、格式配置、代码配置等有关的。
该实施例中,易更改参数,例如与代码配置相关的参数容易被病毒或者外界干扰程序导致变化,则成为易更改参数。
该实施例中,诊断协议是预先设置好的,诊断方式因为是预先设定好的,例如全面扫描诊断,或者只对当前进度进行扫描诊断等。
该实施例中,保护协议是为了对执行的配置过程进行保护,确保其配置的有效性。
该实施例中,保护块,例如是在某个部件上执行的当前进度所对应的配置过程中,则该部件可以视为保护块。
上述技术方案的有益效果是:通过对配置进度进行监测,并进行动态随机验证,保证其当前配置是准确的,避免因为错误,导致配置结束才被发现,可有效节省对配置的检查时间,通过调取配置参数并与验证参数进行比较,便于有效确定出现问题的参数,便于针对性解决,通过调取诊断方式,便于对子功能诊断,进而有效获取保护协议,来进行保护,避免配置过程中因为干扰导致出现错误,为保证产品差异性提供基础。
实施例7:
基于实施例6的基础上,根据诊断结果以及易更改参数,从安全保护数据库中,获取保护协议,包括:
根据当前进度涉及到的子功能,对所述诊断结果进行对应子功能数目的结果拆分;
获取易更改参数的可改变状态,并根据如下公式,计算所述可改变状态对每条拆分结果的影响值;
其中,Zi表示所述可改变状态对第i条拆分结果的影响值;n表示可改变状态的总状态数量;χj表示第j个可改变状态的权重值,且δj(fi)表示第j个可改变状态对第i条拆分结果fi的改变值,且取值范围为[0,1];
根据如下公式,对所述影响值进行划分;
其中,a,b,c,d表示对影响值的划分边界范围值,且为常数;G表示对影响值得划分结果;
按照划分结果G,获取每条拆分结果对应的待保护等级;
该实施例中,当前进度涉及到的子功能都是与配置相关的,且有几个子功能,对应的拆分结果就有几条。
该实施例中,易更改参数的可改变状态,指的是容易被影响进而改变的影响等级,影响等级越高对应的影响值越大。
该实施例中,由于每条拆分结果的待保护等级不一样,因此,对应的待使用协议也是不一样的,通过独立筛选,最后来获得保护协议。
从安全保护数据库中,分别获取与每个待保护等级相应的待使用协议;
对所述待使用协议进行独立筛选,根据独立筛选结果,获得保护协议。
上述技术方案的有益效果是:首先确定子功能,进而进行结果拆分,通过可改变状态以及公式,计算ui每条拆分结果的影响值,保证计算的有效性,通过对影响值进行划分,有效的确定待保护等级,进而通过独立筛选最后获得保护协议,便于保证保护的针对性以及可靠性,避免配置过程中因为干扰导致出现错误提供有效参考,进一步保证了产品的差异性。
实施例8:
基于实施例1的基础上,步骤2中,获取用户的目标需求,并对所述目标需求进行拆分,获取硬件需求以及软件需求,包括:
获取所述目标需求,并对目标需求进行第一拆分,得到若干个子信息段;
基于信息转换数据库,将每个子信息段转换为序列段;
获取每个序列段的序列标志,确定所述序列标志是否为第一标志;
若是,将所述第一标志的序列段与对应的第一标准序列进行比较;
否则,将第二标志的序列段与对应的第二标准序列进行比较;
若都比较通过,则获取到对应的硬件需求以及软件需求;
否则,调取比较失败的序列段,判断所述序列段是否为无效序列,若是,进行剔除,否则,将所述序列段进行标定提醒。
该实施例中,对目标需求进行拆分得到的多段信息,转换为序列段,是为了方便比较,例如将“堵塞”转换为“1111”。
该实施例中,第一标准序列以及第二标注序列是预先设定好的。
该实施例中,无效序列,例如是,1111与标准的1110比较失败,此时,1111即为无效序列。
该实施例中,第一标准序列以及第一标志的序列段与硬件有关;第二标准序列以及第二标志的序列段与软件有关;且序列标志是为了区分是硬件还是软件。
上述技术方案的有益效果是:通过对目标序列进行拆分,并进行序列段的转换,方便后续进行比较,通过比较结果,来有效确定是否为无效序列,保证获取硬件需求以及软件需求的可靠性,为后续实现产品的差异化,提供基础。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种嵌入的可配置逻辑的实现方法,其特征在于,包括:
步骤1:确定目标集成电路上的硬件设计节点集合以及软件设计节点集合;
步骤2:获取用户的目标需求,并对所述目标需求进行拆分,获取硬件需求以及软件需求;
步骤3:将所述硬件需求与硬件设计节点集合进行第一匹配,获得硬件目标节点,将所述软件需求与软件设计节点集合进行第二匹配,获得软件目标节点;
步骤4:将与硬件需求相关的硬件功能配置到所述硬件目标节点上,同时,将与软件需求相关的软件功能配置到所述软件目标节点上,执行相应功能;
获取所述硬件需求,对所述硬件需求进行需求拆分,获得子需求序列,且所述子需求序列中的每个子需求都包含有对应的第一关键字;
获取所述硬件设计节点集合中每个硬件设计节点的节点基本信息,所述节点基本信息包括:对应节点执行的特定功能的特定关键字、特定关键字的类别、特定关键字的匹配组合列表;
将每个第一关键字分别与每个硬件设计节点的节点基本信息进行匹配,得到匹配映射表;
基于匹配映射表,确定在每个节点基本信息中,所包含的第一关键字的第一个数以及未包含的第一关键字的第二个数;
根据第一个数的第一关键字的关键类别以及对应的组合列表,与对应硬件设计节点中特定关键字的特定类别以及特定关键字的匹配组合列表进行匹配;
同时,确定第一个数的第一关键字的第一关键比例以及第二个数的第二关键字的第二关键比例;
标定所述第一关键比例大于第一预设比例的所有第一设计节点,同时,标定所述第二关键比例大于第二预设比例的所有第二设计节点;
若所述第一设计节点以及第二设计节点中存在重复节点,则对所述重复节点进行优先排序,获取最佳节点,并视为硬件目标节点;
若未存在重复节点,则按照所述第一关键比例以及匹配结果对所述第一设计节点进行第一最优排序,同时,按照所述第二关键比例以及匹配结果对所述第二设计节点进行第二最优排序,根据最优排序结果,获得优选节点;
确定所述优选节点的缺失功能,并从功能补充数据库中,调取与所述缺失功能相关的补充信息到所述优选节点,得到最终节点,并视为硬件目标节点。
2.如权利要求1所述的实现方法,其特征在于,
步骤1中,硬件设计节点集合包括:
目标集成电路上不同的硬件块,且所述硬件块为不可编程的功能块,用于执行与硬件需求相关的第一功能;
步骤1中,软件设计节点集合包括:
目标集成电路上不同的可编程逻辑块,可进行电性编辑,用于执行与软件需求相关的第二功能,或者用于自动补充或增强现有硬件块无法执行的第三功能。
3.如权利要求1所述的实现方法,其特征在于,执行与软件需求功能相关的第二功能的过程中,包括:
确定所述目标集成电路上的可编程逻辑块;
基于所述可编程逻辑块为用户提供添加特定功能的方法,从所述方法中调取与所述软件需求相关的特定指令,并按照所述特定指令进行特定功能的添加;
同时,将添加特定功能后的目标集成电路与待比较集成电路进行比对,用于区分各自集成电路的产品线中的产品,同时,对所述产品进行功能区分;
其中,添加的特定功能即为对应的要执行的第二功能。
4.如权利要求1所述的实现方法,其特征在于,自动补充或增强现有硬件无法执行的第三功能的过程中,包括:
确定所述目标集成电路上的存储器,并基于所述存储器补充所述目标集成电路中硬件块现有无法执行的***功能;
其中,所述***功能即为第三功能。
5.如权利要求1所述的实现方法,其特征在于,步骤4中,将与软件需求相关的软件功能配置到所述软件目标节点上,执行相应功能,包括:
确定将所述软件功能配置到所述软件目标节点的配置通道;
收集所述配置通道的配置任务,并对所述配置任务的配置进度进行实时监测,并基于监测结果,对所述配置任务进行动态随机验证;
当验证通过时,判定所述配置通道合格,并执行所述软件功能的配置;
否则,基于监测结果,获取所述配置任务的当前进度,并从配置数据库中,调取与所述当前进度相关的配置参数,同时,获取验证失败的验证结果;
基于验证配置数据库,将所述验证结果对应的验证参数与所述配置参数进行比较;
根据比较结果,获取易更改参数,同时,基于诊断协议,调取与所述当前进度相关的诊断方式;
建立所述软件功能的功能列表,并获取所述当前进度涉及到的子功能;
按照所述诊断方式,对所述子功能进行诊断;
根据诊断结果以及易更改参数,从安全保护数据库中,获取保护协议,将所述保护协议覆盖在所述配置通道中与当前进度对应的保护块上,并进行动态随机验证,直到验证通过。
6.如权利要求5所述的实现方法,其特征在于,根据诊断结果以及易更改参数,从安全保护数据库中,获取保护协议,包括:
根据当前进度涉及到的子功能,对所述诊断结果进行对应子功能数目的结果拆分;
获取易更改参数的可改变状态,并根据如下公式,计算所述可改变状态对每条拆分结果的影响值;
其中,Zi表示所述可改变状态对第i条拆分结果的影响值;n表示可改变状态的总状态数量;χj表示第j个可改变状态的权重值,且δj(fi)表示第j个可改变状态对第i条拆分结果fi的改变值,且取值范围为[0,1];
根据如下公式,对所述影响值进行划分;
其中,a,b,c,d表示对影响值的划分边界范围值,且为常数;G表示对影响值得划分结果;
按照划分结果G,获取每条拆分结果对应的待保护等级;
从安全保护数据库中,分别获取与每个待保护等级相应的待使用协议;
对所述待使用协议进行独立筛选,根据独立筛选结果,获得保护协议。
7.如权利要求1所述的实现方法,其特征在于,步骤2中,获取用户的目标需求,并对所述目标需求进行拆分,获取硬件需求以及软件需求,包括:
获取所述目标需求,并对目标需求进行第一拆分,得到若干个子信息段;
基于信息转换数据库,将每个子信息段转换为序列段;
获取每个序列段的序列标志,确定所述序列标志是否为第一标志;
若是,将所述第一标志的序列段与对应的第一标准序列进行比较;
否则,将第二标志的序列段与对应的第二标准序列进行比较;
若都比较通过,则获取到对应的硬件需求以及软件需求;
否则,调取比较失败的序列段,判断所述序列段是否为无效序列,若是,进行剔除,否则,将所述序列段进行标定提醒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110308884.7A CN112948023B (zh) | 2021-03-23 | 2021-03-23 | 一种嵌入的可配置逻辑的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110308884.7A CN112948023B (zh) | 2021-03-23 | 2021-03-23 | 一种嵌入的可配置逻辑的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948023A CN112948023A (zh) | 2021-06-11 |
CN112948023B true CN112948023B (zh) | 2021-10-26 |
Family
ID=76228475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110308884.7A Active CN112948023B (zh) | 2021-03-23 | 2021-03-23 | 一种嵌入的可配置逻辑的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948023B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117311207A (zh) * | 2022-06-24 | 2023-12-29 | 比亚迪股份有限公司 | 嵌入式软件模型架构、电池管理***控制器和车辆 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159977A (zh) * | 2015-08-27 | 2015-12-16 | 百度在线网络技术(北京)有限公司 | 信息交互处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6260087B1 (en) * | 1999-03-03 | 2001-07-10 | Web Chang | Embedded configurable logic ASIC |
JP2002007560A (ja) * | 2000-06-19 | 2002-01-11 | Az-Navi:Kk | 回想データベースシステム及び回想支援プログラムを記録した媒体 |
CN101571861B (zh) * | 2008-04-29 | 2012-02-29 | 阿里巴巴集团控股有限公司 | 一种对数据表进行转换的方法及装置 |
CN105981393B (zh) * | 2014-02-10 | 2019-08-09 | Lg 电子株式会社 | 发送广播信号的装置、接收广播信号的装置、发送广播信号的方法以及接收广播信号的方法 |
CN107220120A (zh) * | 2016-03-21 | 2017-09-29 | 伊姆西公司 | 用于递送软件解决方案的方法和装置 |
-
2021
- 2021-03-23 CN CN202110308884.7A patent/CN112948023B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159977A (zh) * | 2015-08-27 | 2015-12-16 | 百度在线网络技术(北京)有限公司 | 信息交互处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112948023A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6754881B2 (en) | Field programmable network processor and method for customizing a network processor | |
CN1991768B (zh) | 与不同种类的资源通信的基于指令***结构的内定序器 | |
US7058921B1 (en) | Method and system for resource allocation in FPGA-based system-on-chip (SoC) | |
EP2891052B1 (en) | Instruction insertion in state machine engines | |
US10923463B2 (en) | Method and machine-readable medium for configuring processors with base dies having landing slots | |
TWI569206B (zh) | 用於狀態機引擎之結果產生 | |
US8683191B2 (en) | Reconfiguring a secure system | |
US7752592B2 (en) | Scheduler design to optimize system performance using configurable acceleration engines | |
CN112948023B (zh) | 一种嵌入的可配置逻辑的实现方法 | |
Gokhale et al. | High level compilation for fine grained FPGAs | |
US20080122482A1 (en) | Data Processing System | |
Givargis et al. | Parameterized system design | |
US20200218674A1 (en) | Sorting memory address requests for parallel memory access using input address match masks | |
US20220156211A1 (en) | Dynamic provisioning of pcie devices at run time for bare metal servers | |
US20210326135A1 (en) | Programmable Fabric-Based Instruction Set Architecture for a Processor | |
CN115858439A (zh) | 三维堆叠式可编程逻辑架构和处理器设计体系结构 | |
US10831938B1 (en) | Parallel power down processing of integrated circuit design | |
CN107766286A (zh) | 一种基于fpga的板上***实现方法 | |
WO2017184265A1 (en) | Apparatus and method for performing trace/debug data compression | |
US20090106532A1 (en) | Rapid creation and configuration of microcontroller products with configurable logic devices | |
WO2009004628A2 (en) | Multi-core cpu | |
Isaacson et al. | The Task-Resource Matrix: Control for a Distributed Reconfigurable Multi-Processor Hardware RTOS. | |
US20230052788A1 (en) | Software-Defined Synthesizable Testbench | |
US11342922B1 (en) | Direct bi-directional gray code counter | |
EP4156518A1 (en) | Clock synchronization process and circuitry |
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 |