CN112948022B - 一种软性逻辑硬件的实现方法 - Google Patents
一种软性逻辑硬件的实现方法 Download PDFInfo
- Publication number
- CN112948022B CN112948022B CN202110304046.2A CN202110304046A CN112948022B CN 112948022 B CN112948022 B CN 112948022B CN 202110304046 A CN202110304046 A CN 202110304046A CN 112948022 B CN112948022 B CN 112948022B
- Authority
- CN
- China
- Prior art keywords
- information
- target
- determining
- configuration
- logic
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
本发明提供了一种软性逻辑硬件的实现方法,步骤1:确定目标芯片中存在的至少两个固定功能单元,并确定每个固定功能单元含有的子单元;步骤2:确定目标芯片的目标编程器,并向目标编程器配置目标资料;步骤3:控制固定功能单元之间互连,并监测互联过程,同时,控制子单元按照配置的目标资料执行相应的目标功能操作,并监测操作过程;步骤4:对互连过程以及操作过程的监测结果进行验证,确定配置是否合格,若合格,判定配置后的目标芯片有效。通过向目标编程器配置资料,且通过与固定功能单元以及子单元相关,便于以软件方式更改逻辑电路,节省时间,且还保证处理效率,进而通过验证,保证处理的有效性。
Description
技术领域
本发明涉及半导体技术领域,特别涉及一种软性逻辑硬件的实现方法。
背景技术
目前市面上应用专用集成电路("ASIC")或又称作集成系统芯片(“SOC”)的设计可达到数十亿个晶体管(以后均简称”SOC”),其中还包括了许多IP,例如,运算指令中心(“CPU”、”ARM”、”DSP”、”MCU”等),系统逻辑控制器("SLC"),对外有线通讯、无线通信网络系统,绘图系统,显示控制系统,存储系统,汇流系统(“BUS”),电源供应系统、数字/仿真转换系统(“DAC/ADC”),多个串型或并行端口(“I/O”)。
由于SOC提供了一种真正经济高效的方法来实现大量数字逻辑电路以执行特定功能,SOC设计人员和IC制造商开发了某些技术,用于减少设计和侦测(Debug)SOC以及制造SOC所需的难度、费用和时间。其中一种促进实现SOC的技术称为门阵列(GateArray)。使用门阵列,SOC设计仅指定在预先指定的二维逻辑门数组中排列的单个数字逻辑电路之间的互连。或者,设计人员还可以通过在IC制造商提供的单元库中选择标准单元、指定IC芯片上标准单元的位置以及指定所选标准单元之间的互连来完成SOC设计。
由于经验已经证实SOC具有成本效益,因此SOC设计中包含的电路数量和复杂性会一年比一年增加。显然,SOC复杂性的增加增加了工程原型中设计错误的可能性。并且增加了获得商业上实用的设计所需的试错与修改次数(iteration)。
此外,SOC设计不仅变得越来越复杂,SOC制造技术也在一年一年地进步。在可预见的未来,SOC几何形状将从28纳米特征尺寸减小到10纳米,7纳米甚至更小的5纳米、3纳米特征尺寸,而用于SOC制造厂的IC晶圆尺寸的直径将从8英寸到12英寸,甚至到16英寸。更复杂的ASIC设计还需要将金属化层的数量从目前使用的10层或15层增加至20层或更多层。制造每一层金属化需要不同的IC光罩。目前SOC的光罩数目已超过50层以上。在具有越来越多的金属化层的更大直径IC晶圆上使用更小的特征尺寸的复合效应将显着增加SOC设计、侦错和开发,因此开发产品所需的非经常性费用("NRE")变得非常昂贵。
将上述所有技术考虑与上述所有因素综合考虑,这肯定会增加SOC工程的NRE,再加上新的功能或新的规格不断翻新,尤其在通信协议更迭的速度更快,这就是产品生命周期不断缩短的业务现实。一般制造SOC工程原型的传统8到12周周期,加上SOC生产的12到16周交货期,对于产品生命周期来说,时间太长。与SOC的生产周期相比,产品生命周期不断缩短,这使得SOC库存控制更加困难。例如,特定的SOC设计可能在尚未清光为期三个月的SOC库存前,马上会面临过时的压力。
在某些情况下,数字逻辑设计人员可以其他方法替代SOC。这些替代方案,其中一些称为现场可编程门阵列(FieldProgrammableGateArray"FPGA")、可编程阵列逻辑(ProgrammableArrayLogic"PAL")或门阵列逻辑(GateArrayLogic"GALS")。这些方法允许数字逻辑设计人员以电子方式编程IC,以实现特定应用程序的数字逻辑功能。其中一些芯片组件是电子可编程的,这显然大大缩短了制造和侦错的工程原型SOC的时间和费用。因此,与实体制造SOC相比,仅通过编程标准IC以电子方式创建SOC似乎非常可取。不幸的是,在许多情况下,目前可用的可编程逻辑产品,如FPGA,PAL和GAL单价过于昂贵,特别是对于大批量产品。此外,此类IC一般不能提供与SOC的电路密度和/或电路性能相媲美的电路密度和/或电路性能,亦即生产技术最先进的产品所需的电路密度和/或性能水平。而且可编程序的IC产品,一般说来只能证明功能,无法达到SOC所需的性能。
加上SOC集成了大量的功能,这使得在消费性产品市场上,不容易有差异化。另外由于有大量的电路,在侦错(Debug)所面临的时间与困难度会大大的增加。如果产品已经设计入客户系统中才发现问题,如何在不改变客户设计的情况下,能修复错误,变成了另一挑战。目前客户要求远程侦错与修复也成为新的趋势,这也是对SOC设计工程师另一个新的挑战。
为了解决SOC原型制造中的上述困难,市场上曾经有开发出激光可编程门阵列("LPGA"),允许在一天内对SOC进行原型设计。然而,LPGA仅适用于低容量SOC生产,而大规模生产需要传统的SOC制造。此外,由于LPGA是门阵列,它不能提供传统SOC的电路密度,也不能实现SOC的电气性能。此外,激光SOC原型设计似乎需要复杂、昂贵、高精度的原型设计设备,这些设备必须位于用于原型制造的集中设施中。最后,激光原型设计似乎很难有效和充分利用可预见的SOC将采用的较小功能尺寸,或此类IC将提供的大量元件。
因此,虽然使用LPPGA的SOC原型制造在某些情况下比传统的SOC原型制造提供了改进,但与直接重新编程的FPGA相比,NRE仍然成本高昂。对于IC设计人员来说,使用LPGA实现SOC和实现SOC对直接可编程设备来说仍然不太方便、更不透明。
其次许多需要高性能的功能,均需要以硬件方式实现,一般俗称加速器(Accelerator)。软件实现的功能是具备弹性的,在性能要求不高时,以软件方式实施此功能,能减少硬件的面积,这也导致芯片的价格可以较低。但在5G或人工智能等高性能要求下,只能以硬件逻辑来实现。如果在原先设计时有些功能没考虑进去,要在SOC芯片制造出来后再改进,就无法实现了。
针对上述SOC的挑战还不只于此;由于新的系统规格的出现,或通讯协议的更新,例如在5G或电动车充电国际标准有所更新时,SOC必须包括这些新的规格,会使得原先的SOC芯片变成过时。
因此如何兼顾开发时间短、价格低廉、功能与性能强大、产品有差异性、以及应付经常有新版的规格或协议,就成为SOC开发与制造的最棘手的问题。
因此,本发明提出一种软性逻辑硬件的实现方法。
发明内容
本发明提供一种软性逻辑硬件的实现方法,用以通过向目标编程器配置资料,且通过与固定功能单元以及子单元相关,便于以软件方式更改逻辑电路,节省时间,且还保证处理效率,进而通过验证,保证处理的有效性。
本发明提供一种软性逻辑硬件的实现方法,包括:
步骤1:确定目标芯片中存在的至少两个固定功能单元,并确定每个所述固定功能单元含有的子单元;
步骤2:确定所述目标芯片的目标编程器,并向所述目标编程器配置目标资料;
步骤3:控制所述固定功能单元之间互连,并监测互连过程,同时,控制所述子单元按照配置的目标资料执行相应的目标功能操作,并监测操作过程;
步骤4:对互连过程以及操作过程的监测结果进行验证,确定配置是否合格,若合格,判定配置后的目标芯片有效。
在一种可能实现的方式中,
步骤2中,向所述目标编程器配置目标资料,包括:
确定所述目标编程器的可配置资料,同时,确定用户的执行需求;
匹配所述可配置资料以及执行需求,筛选得到目标资料;
向所述编程器配置所述目标资料,且所述目标资料根据所述执行需求实时变化。
在一种可能实现的方式中,
步骤3中,控制所述子单元按照配置的目标资料执行相应的目标功能操作,包括:
配置后的目标编程器通过汇流接口与外部设备连接,并接收基于汇流接口传输的基于外部设备的外部指令;
基于配置后的目标编程器对所述外部指令进行解析处理,并将解析处理结果传输到对应子单元,控制所述子单元执行对应的目标功能操作。
在一种可能实现的方式中,
配置后的目标编程器通过汇流接口与外部设备连接的过程中,包括:
确定所述汇流接口上的所有第一端口;
获取所述外部指令对应的指令信息,并基于所述指令信息,从所有第一端口中筛选第二端口,并将所述第二端口作为与所述外部设备连接的端口;
配置交换集线器,并基于所述第二端口与配置后的交换集线器连接,且基于配置后的交换集线器收集网络活动以及网络状态,并进行分析;
根据分析结果,判断通过所述汇流接口与所述外部设备连接之后的数据传输过程中是否存在网络异常;
若存在,进行异常提醒。
在一种可能实现的方式中,
所述交换集线器包括多个相同的交换集线器端口,每个所述交换集线器端口分别由汇流耦合到目标编程器;
其中,每个交换集线器端口还包含有交换引擎,基于指令信息以及指令传输规则,从所述交换引擎中对应的数据包中包含的设备地址启动表查找,识别最佳交换集线器端口;
同时,基于汇流优先规则,识别汇流优先级,并将所述指令信息对应的传输数据按照汇流优先级从所述最佳交换集线器端口传输到缓冲区存储。
在一种可能实现的方式中,
每个交换集线器端口都包含有控制器,与交换集线器端口或目标编程器连接。
在一种可能实现的方式中,
步骤3中,控制所述固定功能单元之间互连,并监测互连过程,同时,控制所述子单元按照配置的目标资料执行相应的目标功能操作,并监测操作过程,还包括:
基于所述目标编程器建立扫描侦测程序,并基于扫描侦测程度对监测互连的每个固定功能单元进行单独的第一扫描,同时,对两两固定功能单元的硬件线路进行第二扫描以及传输链路进行第三扫描;
对所述目标功能操作进行监测,并捕获所述子单元每执行一步子操作时的数据变化;
将扫描结果以及数据变化进行远程传输。
在一种可能实现的方式中,
步骤4,对互连过程的监测结果进行验证,还包括:
基于监测结果,获取互连过程中固定功能单元执行的第一动态操作以及第一静态操作;
按照第一预设方式对所述第一动态操作进行动态解析以及对所述第一静态操作进行静态解析;
基于解析结果,确定互连过程中固定功能单元的第一执行集;
确定所述第一执行集中针对所述固定功能单元在不同时段的逻辑信息流,对所述逻辑信息流进行拆分,获得当前公用信息以及当前特定信息;
将所述当前公用信息以及当前特定信息与对应时段的预设公用信息以及预设特定信息进行重合比较,并判断是否存在未重叠部分;
若存在,根据如下公式,计算所述未重叠部分的逻辑量以及逻辑信息的偏差值P;
其中,A表示当前公共信息的占据内存;B表示当前特定信息的占据内存;n1表示未重叠部分中存在与当前公共信息相关的第一占据位置总量;n2表示未重叠部分中存在与当前特定信息相关的第二占据位置总量;表示第i个第一占据位置对应的逻辑信息的逻辑量;表示第j个第二占据位置对应的逻辑信息的逻辑量;表示与当前公共信息相关的权重值;表示与当前特定信息相关的权重值;表示第i个第一占据位置对应的逻辑信息;表示第i个第一占据位置对应的标准信息;表示第i个第一占据位置处的逻辑信息与标准信息的信息偏差,当两者完全一致时,取值为0,否则,取值为1;表示第j个第二占据位置对应的逻辑信息;表示第j个第二占据位置对应的标准信息;表示第j个第二占据位置处的逻辑信息与标准信息的信息偏差,当两者完全一致时,取值为0,否则,取值为1;
当所述偏差值小于预设值时,将所述未重叠部分保留,并进行第一标定;
否则,提取所述未重叠部分中与当前特定信息相关的第一部分,并获取第一部分中每个位置处的逻辑信息基于标准信息的差异信息,并基于差异信息,判断对应位置处的逻辑信息是否剔除;
若是,进行剔除;
否则,确定待替换位置处的逻辑信息所占据的第一地址以及第二地址,同时,获取所述待替换位置的第三地址以及第四地址;
根据所述第一地址与第三地址的差距以及第二地址与第四地址的差距,向所述标准信息进行空白信息的对齐补充,并对对应位置处的逻辑信息进行替换,当全部替换完成后,获得新的特定信息;
根据新的特定信息以及当偏差值小于预设值时所保留的未重叠部分的信息,从修正数据库中,获取待更新配置信息,对所述固定功能单元进行配置更新。
在一种可能实现的方式中,
对操作过程的监测结果进行验证,还包括:
基于监测结果,获取操作过程中子单元执行的第二动态操作以及第二静态操作;
按照第二预设方式对所述第二动态操作进行动态解析以及对所述第二静态操作进行静态解析;
基于解析结果,确定操作过程中子单元的第二执行集;
确定所述第二执行集中针对子单元的每个子项目的当前配置资源;
获取每个子单元的预设配置资源,并获取所述当前配置资源与预设配置资源之间的差异配置资源;
从配置数据库中,调取修正所述差异配置资源的修正参数,同时,确定所述修正参数的组合排列;
获取每个修正参数的参数宽度以及参数深度,并基于组合排列获取每种组合排列的配置结果;
将每种配置结果与差异配置资源进行修正处理;
基于修正处理结果筛选最佳配置组合,并确定执行筛选操作的执行端;
基于执行端按照所述最佳配置组合,对所述当前配置资源进行修正,并将修正后的资源传输到对应子单元。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中ASFPGA逻辑系统控制芯片的结构图;
图2为本发明实施例中ASFPGA绘制芯片的结构图;
图3为本发明实施例中ASFPGA网络芯片的结构图;
图4为本发明实施例中一种软性逻辑硬件的实现方法的流程图;
图5为本发明实施例中待替换位置的地址结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1中:
本发明提供一种软性逻辑硬件的实现方法,包括:
步骤1:确定目标芯片中存在的至少两个固定功能单元,并确定每个所述固定功能单元含有的子单元;
步骤2:确定所述目标芯片的目标编程器,并向所述目标编程器配置目标资料;
步骤3:控制所述固定功能单元之间互连,并监测互连过程,同时,控制所述子单元按照配置的目标资料执行相应的目标功能操作,并监测操作过程;
步骤4:对互连过程以及操作过程的监测结果进行验证,确定配置是否合格,若合格,判定配置后的目标芯片有效。
该实施例中,目标芯片可以实施为IC芯片;
该实施例中,本发明是一种应用特定的场可编程栅门阵列(ASFPGA),单个IC芯片中至少包括两个固定功能单元,根据ASFPGA的特定应用,固定功能单元包括的子单元,例如是:一个或多个汇流(BUS)接口、中心处理器(CPU)、事件计时器、中断控制器、直接内存控制器(DMA)控制器、系统计时器、实时时钟、随机存查存储器(RAM),时钟合成器、数字到模拟转换器(DAC)、显示接口、寄存器(RegisterFile)、压缩图像编码器/解码器(CODEC),或类似功能单元。
该实施例中,目标编程器,可以实施为通用场可编程栅门阵列(FPGA)。
该实施例中,FPGA可配置(Configurable),可在固定功能单元之间实现特定的数字逻辑电路互连,配置FPGA后,固定功能单元和FPGA执行为特定SOC设计指定的所有功能,即子单元按照配置的目标资料执行相应的目标功能操作。
由于ASFPGA包括一个通用FPGA,该FPGA在ASFPGA中包含的固定功能单元之间互连,因此只需将适当的FPGA配置资料加载到FPGA中,才能将ASFPGA定义成特定功能的SOC。将ASFPGA配置为客制化的SOC,其简单性和速度与使用多种传统集成电路光罩和传统集成电路制造技术制造SOC所需的漫长而昂贵的程序明显不同。此外,一旦将ASFPGA配置到特定的SOC中,只需将一组不同的配置资料加载到FPGA中,它几乎可以瞬间地重新配置到不同的SOC中。这些和其他特性特征、方块图和优点将进行如下解释,参见图1-3:
参考图1,它描述的是有一个应用特定的场可编程门阵列(ASFPGA)。根据本发明实现ASFPGA逻辑系统控制器的SOC芯片。此ASFPGA逻辑系统控制器的SOC芯片包括微处理器中央处理单元(CPU),动态随机存储器(DRAM),I/O控制器等。透过汇流接口(BusInterface),与外在图形控制器IC,键盘控制器IC等,以提供个人计算机系统。
汇流接口允许ASFPGA逻辑系统控制SOC芯片与数字计算机系统中交换数据。汇流接口包括如行业标准架构(ISA)汇流、扩展行业标准架构(ESA)汇流、视频电子标准协会(VESA)汇流、外围组件互连(PCI)汇流或其他VME、AMBA、USB等汇流。
通用场可编程栅门阵列(GeneralPurposeFPGA)可透过汇流接口与外界器件联接,根据客户的需求,例如在在车辆自动导航时,计算本身车速、周围车辆行径情况、道路拥挤情况、突发状况,计算出新路径,或换道、加速、减速、刹车等的客制演算法。此客制的算法可以配置于通用场可编程栅门阵列。FPGA配置期间,配置时钟信号线存在由FPGA或FPGA外部设备生成的时钟信号。将配置资料加载到FPGA后,FPGA将执行启动序列,确保从FPGA配置有序地过渡到其作为自定义LSI电路的预期操作。
参考图2,这描述一个图形控制器,使用ASFPGA来实现客制化功能。图2中描述的图形控制器的元素包括一个透过汇流接口,利用外在时钟合成器,用于为显示设备的水平扫描线间隔生成定时信号和垂直扫描间隔。
图形控制器还包括一个RAMDAC,该数字数据值指定要在显示设备上显示的图像转换为能够在显示设备上生成图像的模拟信号。RAMDAC包括RAM,其中加载了颜色查找表的数据("CLUT")。随后,在图像中指定每个连续图片元素的数据将呈现给RAMDAC,最后该DAC将CLUT数据值转换为模拟信号,用于在显示设备上生成图像。
图形控制器中包含的档案暂存处(RegisterFile),用于接收并存储经由汇流接口传来的外在指令,再经由CPU执行的计算机程序计算出的数据。然后这些数据例显示于LED,LCD或是OLED。图形控制器还可能接收包括压缩图像。如果CODEC作为解码器运行,CODEC接收压缩的数字视频数据,并将此类数据转换为未压缩的数字视频数据。如果CODEC作为编码器运行,它将接收未压缩的数字视频数据并将此类数据转换为压缩的数字视频数据。压缩图像CODEC可根据联合摄影专家组("JPEG")标准、移动图像专家组("MPEG")标准(MPEG-I或MPEG-II)或其他已知或将来可能开发的数字图像压缩技术进行压缩和/或解压缩。
通用现场可编程栅门阵列(GeneralPurposeFPGA)可透过汇流接口与外界器件联接,根据客户的需求,例如在在车辆导航时,利用自家演算或显示方式,显示周围车辆位置、距离、速度,周围道路状况,与目的地距离、时间,多媒体显示,电话接听显示,外围温度,空气质量等。此客制的算法可以配置于通用场可编程栅门阵列。FPGA配置期间,配置时钟信号线由FPGA或FPGA外部组件生成的时钟信号。将配置资料加载到FPGA后,FPGA将执行启动序列,确保从FPGA配置有序地过渡到其作为自定义LSI电路的预期操作。
参考图3,描述的是使用ASFPGA实现的智能网络交换集线(SwitchingHub)芯片的功能框图。汇流接口提供一个端口进入交换集线器,它允许外部CPU执行的计算机程序来配置交换集线器,并收集有关网络活动和状态的数据,然后可以分析这些数据,以便为管理网络提供统计信息。
上述技术方案的有益效果是:通过向目标编程器配置资料,且通过与固定功能单元以及子单元相关,便于以软件方式更改逻辑电路,节省时间,且还保证处理效率,进而通过验证,保证处理的有效性。
实施例2:
基于实施例1的基础上,步骤2中,向所述目标编程器配置目标资料,包括:
确定所述目标编程器的可配置资料,同时,确定用户的执行需求;
匹配所述可配置资料以及执行需求,筛选得到目标资料;
向所述编程器配置所述目标资料,且所述目标资料根据所述执行需求实时变化。
上述技术方案的有益效果是:通过确定用户需求,便于保证配置资料的有效性,且通过更改目标资料,可以基于软件实现对逻辑电路的更改。
实施例3:
基于实施例1的基础上,步骤3中,控制所述子单元按照配置的目标资料执行相应的目标功能操作,包括:
配置后的目标编程器通过汇流接口与外部设备连接,并接收基于汇流接口传输的基于外部设备的外部指令;
基于配置后的目标编程器对所述外部指令进行解析处理,并将解析处理结果传输到对应子单元,控制所述子单元执行对应的目标功能操作。
该实施例中,外部设备,例如是,手机、笔记本等电子设备。
该实施例中,外部指令,例如是用户输入的需要执行某种功能的指令,如导航指令等,例如,根据客户的需求,例如在在车辆使用时,利用自家演算或显示方式,显示每一零件工作状况,周围车辆互相信息交换,对外语音通讯、多媒串流、图档接收等。
上述技术方案的有益效果是:便于控制子单元执行有效操作,满足用户需求。
实施例4:
基于实施例3的基础上,配置后的目标编程器通过汇流接口与外部设备连接的过程中,包括:
确定所述汇流接口上的所有第一端口;
获取所述外部指令对应的指令信息,并基于所述指令信息,从所有第一端口中筛选第二端口,并将所述第二端口作为与所述外部设备连接的端口;
配置交换集线器,并基于所述第二端口与配置后的交换集线器连接,且基于配置后的交换集线器收集网络活动以及网络状态,并进行分析;
根据分析结果,判断通过所述汇流接口与所述外部设备连接之后的数据传输过程中是否存在网络异常;
若存在,进行异常提醒。
上述技术方案的有益效果是:便于为管理网络提供统计信息,保证资料配置的有效性以及子单元执行相应功能的可靠性。
实施例5:
基于实施例4的基础上,所述交换集线器包括多个相同的交换集线器端口,每个所述交换集线器端口分别由汇流耦合到目标编程器;
其中,每个交换集线器端口还包含有交换引擎,基于指令信息以及指令传输规则,从所述交换引擎中对应的数据包中包含的设备地址启动表查找,识别有效端口;
同时,基于汇流优先规则,确定汇流优先级,并将所述指令信息对应的传输数据按照汇流优先级从所述有效端口传输到缓冲区存储。
每个交换集线器端口都包含有控制器,与交换集线器端口或目标编程器连接。
该实施例中,有效端口包括至少两个端口。
上述技术方案的有益效果是:便于通过内存汇流对缓存区存储进行数据传输,且通过设置汇流优先规则,是为了解决交换集线器端口之间的争端。
实施例6:
基于实施例1的基础上,步骤3中,控制所述固定功能单元之间互连,并监测互连过程,同时,控制所述子单元按照配置的目标资料执行相应的目标功能操作,并监测操作过程,还包括:
基于所述目标编程器建立扫描侦测程序,并基于扫描侦测程度对监测互连的每个固定功能单元进行单独的第一扫描,同时,对两两固定功能单元的硬件线路进行第二扫描以及传输链路进行第三扫描;
对所述目标功能操作进行监测,并捕获所述子单元每执行一步子操作时的数据变化;
将扫描结果以及数据变化进行远程传输。
该实施例中,对固定功能单元进行的第一扫描,可以是其单元本身的数据处理等进行的扫描。
硬件线路即为相关的集成电路等,传输链路即为数据传输通道,如网络等。
该实施例中,第三扫描即为对子单元本身的数据处理等进行的扫描。
上述技术方案的有益效果是:通过建立扫描侦测程度,便于对固定功能单元进行扫描且还基于步骤数据变化,便于有效监测,且通过远程传输,方便管理。
实施例7:
基于实施例1的基础上,步骤4,对互连过程的监测结果进行验证,还包括:
基于监测结果,获取互连过程中固定功能单元执行的第一动态操作以及第一静态操作;
按照第一预设方式对所述第一动态操作进行动态解析以及对所述第一静态操作进行静态解析;
基于解析结果,确定互连过程中固定功能单元的第一执行集;
确定所述第一执行集中针对所述固定功能单元在不同时段的逻辑信息流,对所述逻辑信息流进行拆分,获得当前公用信息以及当前特定信息;
将所述当前公用信息以及当前特定信息与对应时段的预设公用信息以及预设特定信息进行重合比较,并判断是否存在未重叠部分;
若存在,根据如下公式,计算所述未重叠部分的逻辑量以及逻辑信息的偏差值P;
其中,A表示当前公共信息的占据内存;B表示当前特定信息的占据内存;n1表示未重叠部分中存在与当前公共信息相关的第一占据位置总量;n2表示未重叠部分中存在与当前特定信息相关的第二占据位置总量;表示第i个第一占据位置对应的逻辑信息的逻辑量;表示第j个第二占据位置对应的逻辑信息的逻辑量;表示与当前公共信息相关的权重值;表示与当前特定信息相关的权重值;表示第i个第一占据位置对应的逻辑信息;表示第i个第一占据位置对应的标准信息;表示第i个第一占据位置处的逻辑信息与标准信息的信息偏差,当两者完全一致时,取值为0,否则,取值为1;表示第j个第二占据位置对应的逻辑信息;表示第j个第二占据位置对应的标准信息;表示第j个第二占据位置处的逻辑信息与标准信息的信息偏差,当两者完全一致时,取值为0,否则,取值为1;
当所述偏差值小于预设值时,将所述未重叠部分保留,并进行第一标定;
否则,提取所述未重叠部分中与当前特定信息相关的第一部分,并获取第一部分中每个位置处的逻辑信息基于标准信息的差异信息,并基于差异信息,判断对应位置处的逻辑信息是否剔除;
若是,进行剔除;
否则,确定待替换位置处的逻辑信息所占据的第一地址以及第二地址,同时,获取所述待替换位置的第三地址以及第四地址;
根据所述第一地址与第三地址的差距以及第二地址与第四地址的差距,向所述标准信息进行空白信息的对齐补充,并对对应位置处的逻辑信息进行替换,当全部替换完成后,获得新的特定信息;
根据新的特定信息以及当偏差值小于预设值时所保留的未重叠部分的信息,从修正数据库中,获取待更新配置信息,对所述固定功能单元进行配置更新。
该实施例中,第一预设方式是预先设定好的,且对动态操作进行动态解析以及静态解释,是为了获取互连过程中的有效信息,如网络信息、数据传输信息等。
该实施例中,第一执行集是包括执行不同功能的各种数字逻辑在内的。
该实施例中,逻辑信息流指的是数字逻辑,获取的公共信息,是普遍适用于每个时段的信息,特定信息,是具备自身特性的信息。
该实施例中,预设公共信息以及预设特定信息都是预先设定好的。
该实施例中,如图5所示,例如,逻辑信息占据的第一地址为a1,第二地址为a2,待替换位置的本身的第一地址为a3,第四地址为a4,且a1,a2是包含在a3-a4地址之间的。
该实施例中,空白信息进行补齐是为了方便进行比较以及替换,降低失误率;
该实施例中,修正数据库是预先设定好的,其包括各种配置信息以及各种标准的逻辑信息在内。
上述技术方案的有益效果是:通过获取互连过程中的静态以及动态操作,并进行解析,获得第一执行集,同过确定不同时段的逻辑信息流,并进行拆分且重合比较,便于根据公式计算为重叠部分的偏差值,提高计算的精准度,通过对逻辑信息的删除与否进行判断,便于后续的有效使用,通过按照进行地址对比以及对齐补充,便于进行有效替换,最后通过获取配置信息,来对固定功能单元进行更新。
实施例8:
基于实施例1的基础上,对操作过程的监测结果进行验证,还包括:
基于监测结果,获取操作过程中子单元执行的第二动态操作以及第二静态操作;
按照第二预设方式对所述第二动态操作进行动态解析以及对所述第二静态操作进行静态解析;
基于解析结果,确定操作过程中子单元的第二执行集;
确定所述第二执行集中针对子单元的每个子项目的当前配置资源;
获取每个子单元的预设配置资源,并获取所述当前配置资源与预设配置资源之间的差异配置资源;
从配置数据库中,调取修正所述差异配置资源的修正参数,同时,确定所述修正参数的组合排列;
获取每个修正参数的参数宽度以及参数深度,并基于组合排列获取每种组合排列的配置结果;
将每种配置结果与差异配置资源进行修正处理;
基于修正处理结果筛选最佳配置组合,并确定执行筛选操作的执行端;
基于执行端按照所述最佳配置组合,对所述当前配置资源进行修正,并将修正后的资源传输到对应子单元。
该实施例中,参数宽度以及参数深度指的是参数本身所包含的信息的有效性,有效性越高,对应的宽度和深度越大。
该实施例中,修正参数包括:配置参数、资源调整参数等在内的。
该实施例中,由于获取的修正参数并未需要全部使用,所以,对其进行排列组合,来筛选最佳配置组合,一是为了能够减小工作量,二是能够有效的完完成修正。
该实施例中,第二执行集与对应的逻辑信息、逻辑功能有关,当逻辑功能出现错误时,就需要进行修正。
该实施例中,预设配置资源是预先设置好的。
该实施例中,执行端可以为远程端。
上述技术方案的有益效果是:通过确定子单元中每个子项目的配置资源的差异,来从数据库中获取修正参数,通过组合排列以及按照参数深度以及宽度,来筛选最佳配置组合,便于有效修正,不仅提高修正效率,还提高修正准确性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种软性逻辑硬件的实现方法,其特征在于,
步骤1:确定目标芯片中存在的至少两个固定功能单元,并确定每个所述固定功能单元含有的子单元;
步骤2:确定所述目标芯片的目标编程器,并向所述目标编程器配置目标资料;
步骤3:控制所述固定功能单元之间互连,并监测互连过程,同时,控制所述子单元按照配置的目标资料执行相应的目标功能操作,并监测操作过程;
步骤4:对互连过程以及操作过程的监测结果进行验证,确定配置是否合格,若合格,判定配置后的目标芯片有效;
对操作过程的监测结果进行验证,还包括:
基于监测结果,获取操作过程中子单元执行的第二动态操作以及第二静态操作;
按照第二预设方式对所述第二动态操作进行动态解析以及对所述第二静态操作进行静态解析;
基于解析结果,确定操作过程中子单元的第二执行集;
确定所述第二执行集中针对子单元的每个子项目的当前配置资源;
获取每个子单元的预设配置资源,并获取所述当前配置资源与预设配置资源之间的差异配置资源;
从配置数据库中,调取修正所述差异配置资源的修正参数,同时,确定所述修正参数的组合排列;
获取每个修正参数的参数宽度以及参数深度,并基于组合排列获取每种组合排列的配置结果;
将每种配置结果与差异配置资源进行修正处理;
基于修正处理结果筛选最佳配置组合,并确定执行筛选操作的执行端;
基于执行端按照所述最佳配置组合,对所述当前配置资源进行修正,并将修正后的资源传输到对应子单元。
2.如权利要求1所述的实现方法,其特征在于,步骤2中,向所述目标编程器配置目标资料,包括:
确定所述目标编程器的可配置资料,同时,确定用户的执行需求;
匹配所述可配置资料以及执行需求,筛选得到目标资料;
向所述编程器配置所述目标资料。
3.如权利要求1所述的实现方法,其特征在于,步骤3中,控制所述子单元按照配置的目标资料执行相应的目标功能操作,包括:
配置后的目标编程器通过汇流接口与外部设备连接,并接收基于汇流接口传输的基于外部设备的外部指令;
基于配置后的目标编程器对所述外部指令进行解析处理,并将解析处理结果传输到对应子单元,控制所述子单元执行对应的目标功能操作。
4.如权利要求3所述的实现方法,其特征在于,配置后的目标编程器通过汇流接口与外部设备连接的过程中,包括:
确定所述汇流接口上的所有第一端口;
获取所述外部指令对应的指令信息,并基于所述指令信息,从所有第一端口中筛选第二端口,并将所述第二端口作为与所述外部设备连接的端口;
配置交换集线器,并基于所述第二端口与配置后的交换集线器连接,且基于配置后的交换集线器收集网络活动以及网络状态,并进行分析;
根据分析结果,判断通过所述汇流接口与所述外部设备连接之后的数据传输过程中是否存在网络异常;
若存在,进行异常提醒。
5.如权利要求4所述的实现方法,其特征在于,
所述交换集线器包括多个相同的交换集线器端口,每个所述交换集线器端口分别由汇流耦合到目标编程器;
其中,每个交换集线器端口还包含有交换引擎,基于指令信息以及指令传输规则,从所述交换引擎中对应的数据包中包含的设备地址启动表查找,识别最佳交换集线器端口;
同时,基于汇流优先规则,识别汇流优先级,并将所述指令信息对应的传输数据按照汇流优先级从所述最佳交换集线器端口传输到缓冲区存储。
6.如权利要求1所述的实现方法,其特征在于,
每个交换集线器端口都包含有控制器,与交换集线器端口或目标编程器连接。
7.如权利要求1所述的实现方法,其特征在于,步骤3中,控制所述固定功能单元之间互连,并监测互连过程,同时,控制所述子单元按照配置的目标资料执行相应的目标功能操作,并监测操作过程,还包括:
基于所述目标编程器建立扫描侦测程序,并基于扫描侦测程度对监测互连的每个固定功能单元进行单独的第一扫描,同时,对两两固定功能单元的硬件线路进行第二扫描以及传输链路进行第三扫描;
对所述目标功能操作进行监测,并捕获所述子单元每执行一步子操作时的数据变化;
将扫描结果以及数据变化进行远程传输。
8.如权利要求1所述的实现方法,其特征在于,步骤4,对互连过程的监测结果进行验证,还包括:
基于监测结果,获取互连过程中固定功能单元执行的第一动态操作以及第一静态操作;
按照第一预设方式对所述第一动态操作进行动态解析以及对所述第一静态操作进行静态解析;
基于解析结果,确定互连过程中固定功能单元的第一执行集;
确定所述第一执行集中针对所述固定功能单元在不同时段的逻辑信息流,对所述逻辑信息流进行拆分,获得当前公用信息以及当前特定信息;
将所述当前公用信息以及当前特定信息与对应时段的预设公用信息以及预设特定信息进行重合比较,并判断是否存在未重叠部分;
若存在,根据如下公式,计算所述未重叠部分的逻辑量以及逻辑信息的偏差值P;
其中,A表示当前公共信息的占据内存;B表示当前特定信息的占据内存;n1表示未重叠部分中存在与当前公共信息相关的第一占据位置总量;n2表示未重叠部分中存在与当前特定信息相关的第二占据位置总量;表示第i个第一占据位置对应的逻辑信息的逻辑量;表示第j个第二占据位置对应的逻辑信息的逻辑量;表示与当前公共信息相关的权重值;表示与当前特定信息相关的权重值;表示第i个第一占据位置对应的逻辑信息;表示第i个第一占据位置对应的标准信息;表示第i个第一占据位置处的逻辑信息与标准信息的信息偏差,当两者完全一致时,取值为0,否则,取值为1;表示第j个第二占据位置对应的逻辑信息;表示第j个第二占据位置对应的标准信息;表示第j个第二占据位置处的逻辑信息与标准信息的信息偏差,当两者完全一致时,取值为0,否则,取值为1;
当所述偏差值小于预设值时,将所述未重叠部分保留,并进行第一标定;
否则,提取所述未重叠部分中与当前特定信息相关的第一部分,并获取第一部分中每个位置处的逻辑信息基于标准信息的差异信息,并基于差异信息,判断对应位置处的逻辑信息是否剔除;
若是,进行剔除;
否则,确定待替换位置处的逻辑信息所占据的第一地址以及第二地址,同时,获取所述待替换位置的第三地址以及第四地址;
根据所述第一地址与第三地址的差距以及第二地址与第四地址的差距,向所述标准信息进行空白信息的对齐补充,并对对应位置处的逻辑信息进行替换,当全部替换完成后,获得新的特定信息;
根据新的特定信息以及当偏差值小于预设值时所保留的未重叠部分的信息,从修正数据库中,获取待更新配置信息,对所述固定功能单元进行配置更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110304046.2A CN112948022B (zh) | 2021-03-22 | 2021-03-22 | 一种软性逻辑硬件的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110304046.2A CN112948022B (zh) | 2021-03-22 | 2021-03-22 | 一种软性逻辑硬件的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948022A CN112948022A (zh) | 2021-06-11 |
CN112948022B true CN112948022B (zh) | 2021-11-16 |
Family
ID=76228473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110304046.2A Active CN112948022B (zh) | 2021-03-22 | 2021-03-22 | 一种软性逻辑硬件的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948022B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5687325A (en) * | 1996-04-19 | 1997-11-11 | Chang; Web | Application specific field programmable gate array |
US6829751B1 (en) * | 2000-10-06 | 2004-12-07 | Lsi Logic Corporation | Diagnostic architecture using FPGA core in system on a chip design |
US6760898B1 (en) * | 2002-02-22 | 2004-07-06 | Xilinx, Inc. | Method and system for inserting probe points in FPGA-based system-on-chip (SoC) |
WO2018004590A1 (en) * | 2016-06-30 | 2018-01-04 | Intel Corporation | Method and apparatus for remote field programmable gate array processing |
US11099894B2 (en) * | 2016-09-28 | 2021-08-24 | Amazon Technologies, Inc. | Intermediate host integrated circuit between virtual machine instance and customer programmable logic |
US10955461B2 (en) * | 2018-05-16 | 2021-03-23 | Advantest Corporation | Smart and efficient protocol logic analyzer configured within automated test equipment (ATE) hardware |
-
2021
- 2021-03-22 CN CN202110304046.2A patent/CN112948022B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112948022A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6754881B2 (en) | Field programmable network processor and method for customizing a network processor | |
US9111060B2 (en) | Partitioning designs to facilitate certification | |
US9270279B2 (en) | Apparatus and methods for time-multiplex field-programmable gate arrays | |
Doumar et al. | Defect and fault tolerance FPGAs by shifting the configuration data | |
US7584456B1 (en) | Method and apparatus for debugging embedded systems having read only memory | |
US20100169896A1 (en) | Electronic device and method of controlling a communication | |
US8106679B2 (en) | Data processing system | |
TW202304184A (zh) | 用於連接基於小晶片的設計之可擴充式封裝級網路 | |
EP4020214A1 (en) | Modular error correction code circuitry | |
JP4001584B2 (ja) | シミュレーション装置 | |
CN109992811B (zh) | 电路设计方法及相关的计算机程序产品 | |
CN112948022B (zh) | 一种软性逻辑硬件的实现方法 | |
US9378027B2 (en) | Field-programmable module for interface bridging and input/output expansion | |
US20230334003A1 (en) | Transaction Generator for On-chip Interconnect Fabric | |
CN112948023B (zh) | 一种嵌入的可配置逻辑的实现方法 | |
Vahid et al. | The case for a configure-and-execute paradigm | |
CN115549672A (zh) | 一种适用于片上集成的可编程逻辑阵列 | |
US11901896B2 (en) | Soft network-on-chip overlay through a partial reconfiguration region | |
US7594212B1 (en) | Automatic pin placement for integrated circuits to aid circuit board design | |
JP2008522314A (ja) | 回路モデリングによるデータ処理 | |
US20040204928A1 (en) | Simulator apparatus and related technology | |
US20190066626A1 (en) | Automatic multi-clock circuit generation | |
US20240137026A1 (en) | Techniques For Storing States Of Signals In Configurable Storage Circuits | |
US20240020449A1 (en) | Fast CAD Compilation Through Coarse Macro Lowering | |
JP4573328B2 (ja) | 半導体デバイス、半導体設計装置および半導体設計方法 |
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 |