CN103314379A - 定制集成电路所用的架构引导式最佳系统精度定义算法 - Google Patents
定制集成电路所用的架构引导式最佳系统精度定义算法 Download PDFInfo
- Publication number
- CN103314379A CN103314379A CN2011800610365A CN201180061036A CN103314379A CN 103314379 A CN103314379 A CN 103314379A CN 2011800610365 A CN2011800610365 A CN 2011800610365A CN 201180061036 A CN201180061036 A CN 201180061036A CN 103314379 A CN103314379 A CN 103314379A
- Authority
- CN
- China
- Prior art keywords
- code
- cost
- expression way
- expression
- algorithm
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/08—HW-SW co-design, e.g. HW-SW partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Nonlinear Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种用于通过进行以下操作来针对要在定制集成电路即定制IC中实现的模型或代码自动确定最佳数字格式表达方式的系统和方法:确定所述模型或代码中的动态范围相对于静态范围的比值,并且基于所述比值来选择浮点数表达方式或定点数表达方式;基于包括与预定的位精度运算相关联的硬件面积和功率成本的成本函数来确定最佳数字表达方式格式;自动生成针对所述最佳数字表达方式格式所定制的处理器架构;以及将所生成的处理器架构综合为半导体制造所用的所述定制集成电路的计算机可读描述。
Description
技术领域
本发明涉及一种用于在定制集成电路(IC)或专用集成电路(ASIC)中自动选择定点表达方式或浮点表达方式的方法。
背景技术
随着电子装置变得更加用户友好化,附加于这些电子装置的特征已经增多。例如,在针对嵌入式应用程序的典型硬件产品开发周期中,算法专家首先进行算法开发。在实现期间,工程师使用ASIC解决方案或使用诸如数字信号处理器(DSP)核心等的可编程解决方案来将设计转译成硬件。在这成为可能的情况下,设计师使用DSP供应商所提供的工具来开发汇编代码以使DSP核心作为目标。由于性能/存储器占用空间(footprint)极为重要,因此需要采用理解算法的工程师以及目标DSP的微架构和工具来开发固件。
将浮点算法转换成定点数系统是产品、特别是涉及信号处理算法的实现的产品的开发期间面临的共同问题。不幸地,该努力通常不由数字格式表达方式的技术优点来确定,而是由处理器的可用性或感知到的实现成本来确定。良好地选择信号处理阶段所使用的数字格式由此实现系统所期望的增益很重要。已经作了很大努力致力于在现成的DSP上将浮点系统模型转换成定点系统实现。这通常是系统设计师不具有在DSP中选择ALU宽度的灵活性的情况。系统设计师不得不接受所给予的(或可利用的)情况并将系统从浮点模型转换成DSP所支持的数字表达方式。
与定点表达方式和浮点表达方式相关联的好处和权衡是许多辩论的主题。在图1A~1B所示的示例中给出定点数系统和浮点数系统相对于给定信号范围的差异并且接着将进行论述。
现在转向参考图1A,在数字格式表达方式局限于N位的情况下,系统可以进行2N个可能的表达方式。在输入处的信号功率的范围(以及因而振幅)在xdB展开的情况下、并且为了简单而在整个系统内存在均匀增益的情况下,使得输出信号展幅(以及在该系统内的任一点处的信号展幅)均处于相同的xdB。然后,2N个表达方式可以均匀地分布在x dB的整个范围内。系统的硬件成本随着N的减小而降低。然而,这导致较少的箱以及较多的量化错误。在典型的通信系统中应对该问题的一个传统方法是使用定标(scaling)。尽管输入信号的静态范围可能相当大,但相对于系统的时间常数的信号的动态范围仅是其一小部分。因此,通过采用适当定标,可以将由发明人的数字系统表示的范围限制为x dB的一小部分。由于定标除了量化噪声以外还引入了舍入噪声的可能性,因此该操作传统上由系统设计师充分考虑来进行。
图1B示出在浮点方案中使用相同的N位的示例情况。在k个位用于指数并且n-k个位用于尾数的情况下,表达方式变得相当复杂而难以在单个图中绘制(如针对定点所进行的)。然而,在良好地选择了表达方式的情况下,可以具有如下格式:尾数的2^(n-k)个位覆盖信号的任何给定动态范围,并且2^k个这种范围的箱存在于信号展幅中。例如,在信号展幅为80dB并且可以安全地将该范围划分成8个10dB的箱的情况下,3个位需用于指数并且其余的n-3个位可用于尾数。图1B示出该情况。
在开发期间,设计师精制系统模型或算法以解决特定问题。通常,以浮点表示第一系统模型以避免量化噪声和舍入噪声的问题。在开发了该系统模型之后,紧接着系统设计师将该模型、代码或算法转换成预先指定了定点/浮点特性的特定架构的实现。在系统设计师考虑定点实现的情况下,不得不手动定义定标点和定标算法。这通常是在没有这些方法的计算成本的硬件的精确想法的情况下进行的。在不同于模型的浮点表达方式是所选择的形式实现的情况下,系统设计师无法控制指数或尾数所使用的位,因而不得不应对次最佳表达方式格式。
发明内容
在一个方面中,公开了一种用于自动生成利用计算机可读代码或模型描述的定制集成电路即定制IC的系统和方法,所述IC至少具有浮点参数、性能制约、以及针对输入信号的静态范围和动态范围。这通过以下操作来进行:确定动态范围相对于静态范围的比值,并且在所述比值超过预定值的情况下,选择浮点数表达方式,否则选择定点数表达方式;基于性能制约来选择数字表达方式格式;自动生成包括针对所选择的数字表达方式格式所唯一定制的硬件的处理器架构;以及将所生成的处理器架构综合为半导体制造所用的定制集成电路的计算机可读描述。
上述方面的实现可以包括以下中的一个或多个。该方法包括利用所生成的处理器架构在定制IC上执行计算机可读代码。可以基于一个或多个IC性能要求来进一步选择数字表达方式格式,其中所述一个或多个IC性能要求包括确定数字表达方式、硬件面积和功率成本的存储器存储要求、实时性能或任意数字表达方式的性能降低。确定数字表达方式格式中所需的位数,并且该位数可以具有奇数的位数而非诸如8、16、24、32、64、128或2N位等的通常使用的位数。该过程还包括检查到所选择的数字表达方式格式为噪声下限以下。
优选实施例的优点可以包括以下中的一个或多个。该系统使评价过程自动化,以使得考虑到所有成本并且系统设计师使得对最可能的数字表达方式和位宽度候选进行评价。该方法可以以快速且自动的方式评价给定HW实现的面积、时序和功率成本。该方法用作成本计算引擎。该过程使用设计-验证-优化方法来寻找给定应用程序的最佳数字格式表达方式。该方法使得能够以最佳方式基于算法来自动进行DSP的综合。这给系统带来新的灵活度、即数字格式和ALU宽度可以是非标准的。可以进行选择以适合系统要求。然而,系统设计师无需知晓与相对于另一表达方式选择特定表达方式相关联的硬件面积、延迟和功率成本。该方法可以达成给定系统的最佳数字格式表达方式或者至少缩小系统设计师的选择集合从而使最佳系统的设计成为可能。该过程使得能够在算法评价阶段尽可能精确地对硬件面积、延迟和功率进行建模。从整体角度考虑定点表达方式和浮点表达方式。使数字精度改变处理自动化。该系统可以评价系统的性能并且测量噪声下限的增加。该系统从整体角度考虑实时性能制约而不仅仅考虑执行单元,因而整个定制IC的面积、功率和性能特性显著提高。
该系统的优选实施例的其它优点可以包括以下中的一个或多个。该系统减轻了芯片设计的问题并使芯片设计成为简单过程。这些实施例使产品开发过程的关注点从硬件实现过程转变回至产品规格和计算机可读代码或算法设计。代替束缚于特定硬件选择,可以在专门针对该应用而优化的处理器上实现计算机可读代码或算法。该优选实施例将优化后的处理器连同所有相关联的软件工具和固件应用程序一起自动生成。该过程可以在数日内完成而非如传统那样需要数年来完成。上述自动化系统消除了芯片设计的风险并使芯片设计成为自动过程,由此算法设计师本身无需具有任何芯片设计知识就可以直接制作硬件芯片,这是因为针对该系统的主要输入是计算机可读代码、模型或算法规格而非低层级基元。
附图说明
图1A~1B示出示例数字表达方式。
图2A示出用于自动生成具有自动数字表达方式格式选择的定制IC的示例系统。
图2B更详细地示出自动数字表达方式确定过程。
图2C更详细地示出自动精度确定过程。
图3示出针对无线电接收器的图2A的过程的示例应用。
图4示出用于自动生成定制IC的示例系统。
具体实施方式
图2A示出用于自动生成具有自动数字表达方式格式选择的定制IC的示例系统操作。该系统基于作为输入的算法过程或代码并且使用几乎不需要人为参与的高度自动化工具来自动设计和生成定制集成电路。
现在转向参考图2A,该过程接收和分析以诸如C或Matlab模型等的高级语言所指定的算法(10)。在一个实施例中,假定使用浮点数表达方式来开发第一版本的产品。这可以是任意类型的浮点表达方式但典型实施例可以使用32位的IEEE浮点表达方式。该过程需要利用产品的开发人员或系统架构来识别以下中的一个或多个。
需要优化的以浮点格式表示的参数。
系统的工作C代码或模型。
系统的实时性能制约。
输入信号的静态范围。
经由系统的时间常数的相同信号的动态范围。
由于舍入和量化而可接受的噪声下限的最大增加。
该过程确定动态范围相对于静态范围的比值(12)。在该比值并非接近1的情况下,优选浮点数表达方式。在该比值近似1的情况下,优选定点表达方式(14)。接着,该处理应用启发式法以确定实际数字表达方式格式(16)。确定所选择的数字表达方式格式中的精度的位数(18)。该过程将所选择的数字表达方式格式(定点格式或浮点格式)和所选择的位宽度应用于变量并且迭代地确定具有定制运算逻辑单元(ALU)的最佳处理器架构以处理所选择的数字表达方式格式和位数(20)。制造具有处理器架构的硬件的定制IC(22)。该过程还自动生成针对处理器架构而优化的固件以在定制IC上运行算法(24)。然后,与手动精制的定制芯片设计过程相对比,在定制IC上执行固件以在人为参与最少或几乎无人为参与的情况下完成从算法到定制硬件的转换。
结果是具有新的灵活度的定制芯片解决方案,即数字格式和ALU宽度可以是不标准的。可以选择数字格式和ALU以适合系统要求。然而,系统设计师并不知晓与相对于另一表达方式而选择特定表达方式相关联的硬件面积、延迟和功率成本。
图2A的系统减轻了芯片设计的问题并使芯片设计成为简单过程。该系统消除了芯片设计的风险并使芯片设计成为自动过程,由此算法设计师本身无需具有任何芯片设计知识就可以直接制作硬件芯片。针对该系统的主要输入是采用如C或Matlab那样的高级语言的计算机可读代码或算法规格。该系统可以最佳地选择具有最佳数点表达方式的最佳硬件指令集,其中该最佳硬件指令集以源自于数点选择和位精度的噪声最小的方式优化执行性能。最佳数字表达方式格式和位精度的选择通过详细模拟来进行,以展现出对IC给定一组性能制约的最佳架构并且提供显著的性能益处。作为对比,传统方法迫使设计师使用任意定点架构。一旦针对应用程序代码/算法选择了数字表达方式格式和位精度,则该系统在无需人为参与的情况下自动生成定制集成电路,由此缩短了产品开发时间并降低了成本。使用自动生成的软件开发工具包(SDK)和自动生成的固件,该定制IC可以高效地运行代码/算法。
这些实施例使产品开发过程的关注点从硬件实现过程转变回至产品规格和计算机可读代码或算法设计。代替束缚于特定硬件选择,可以在专门针对该应用而优化的处理器上实现计算机可读代码或算法。该优选实施例将优化后的处理器连同所有相关联的软件工具和固件应用程序一起自动生成。该过程可以在数日内完成而非如传统那样需要数年来完成。
使用图2A的过程应用于软件可编程DSP的开发,可以确定在该系统的所有阶段内最佳地工作的单个数字格式。在模型或代码以固定硬件为目标的情况下,独立地达成针对系统内的各阶段最佳地工作的数字格式。
接着,将论述用于生成定制硬件的图2A的示例应用。图3示出从天线(未示出)接收无线信号并且提供至模拟前端(AFE)92的通信系统接收器。无线信号由模数转换器(ADC)93获取到并且提供至执行来自存储器94的代码的数字信号处理器(DSP)95。DSP95根据图2A的过程来使用定制设计的ALU96进行数学运算。DSP95还接收来自用户界面(UI)98的命令。
在上述系统中,总是选择ADC93,以使得即使从AFE92接收到的最弱信号在试样内也将具有几位的信息。ADC93试样大小由期望系统工作的输入SNR和对试样完成的信号处理中的预期增益来确定。在上述使用情况中,利用DSP95来完成所有的信号处理。必须良好地选择信号处理阶段所使用的数字格式从而实现系统所预期的增益。传统上,系统设计师不具有在DSP中选择ALU宽度的灵活性。系统设计师不得不接受所给予的(或可利用的)情况,并且将该系统从浮点模型转换成DSP95所支持的数字表达方式。然而,使用图2A的过程,该系统可以在ALU96中自动选择最佳数字表达方式和位宽度以解决系统设计师的特殊问题。
该过程计算动态范围相对于静态范围的比值。在该比值较大的情况下,适当的表达方式有可能是浮点。在该示例中,从天线接收到的信息不太可能在信号的整个静态范围内以几个试样的跨度改变。在这些情况下,定点表达方式将需要实现显著的定标算法以确保信息不会丢失。然而,利用适当选择的浮点数格式(并且基于ADC的试样大小来选择位宽度),将消除定标或者将显著降低定标的复杂度。此外,通过各种阶段所需的位数可能更少,这是因为在大多数通信接收器应用中,仅需要几个有效位来进行处理。定点表达方式防止过溢所需的额外位由于浮点表达方式而受到限制。
假设信号的静态范围和信号的动态范围相同(典型为在图像处理中),则有可能定点表达方式将更好地工作。定点硬件在面积方面较小并且针对相同的位数消耗较少的功率。假设信号的动态范围较大,则浮点表达方式不太可能会在不会损害处理精度的情况下减少所需位数。
图2B更详细地示出自动数字表达方式确定过程。在图2B中,接收输入参数(60)。然后,进行确定处理(62)。在浮点格式或定点格式的自动选择之后,该过程确定期望的位宽度(64)。评价噪声下限(66),并且在不满足噪声制约的情况下,该处理循环返回至64以根据需要增加位宽度。从66起,该过程相对于该系统必须满足的制约或标准来评价最终数字表达方式(68)。
使用优化成本函数来达成与给定系统的优选数字格式有关的决策。该成本函数包括以下。
所估计出的由于浮点表达方式的使用所引起的存储器存储的节省。
针对两个可能的实现候选的硬件面积和功率成本的评价。
在任意情况下实时性能状况的评价。
所估计出的由于任意格式所引起的性能降低。
利用这些参数作为成本函数的输入,继续进行优化算法以达成关于该系统是否需要浮点表达方式的决策。在“否”的情况下,算法推荐定点表达方式。
一旦针对所选择的格式作出决策,则下一步骤是识别该格式所需的精确位数。
图2C更详细地示出自动精度确定过程。首先,该过程识别输入变量、位宽度和期望的信噪比(SNR)(72)。接着,该过程确定要完成的运算操作(74)。该过程确定所需精度(76)。接着,该过程评价与所需精度相关联的成本函数(78)。在成本函数为预定阈值以下的情况下,该处理退出。可选地,在成本高的情况下,该处理改变一个系统变量并且循环返回以继续精度确定过程(74)。
在一个实施例中,精度估计算法包括用以进行以下操作的代码:
1)识别所有的系统关键输入及其位宽度。这是该算法的输入其中之一;
2)识别输入SNR。这必须也是该系统的输入;
3)使用系统模型描述的静态解析来识别针对这些变量的所有运算操作集合;
4)估计使运算操作集合适合SNR的最小减小所需的精度;
5)评价成本函数;以及
6)在成本高于阈值的情况下,沿着使成本降低的各轴的其中一个前进。成本函数的结果表示前进所沿的轴。在一个示例中,这可以包括以下:插入定标阶段以减少有效位数;合并运算操作以在维持较小的输入和输出精度的同时维持较宽的内部精度;接受SNR的下降;提高系统并行进行更多较小精度运算的频率以实现较高的精度结果;降低系统内的某些阶段的精度;以及提高其它阶段的精度但降低总成本。
不同于将自身限制为16、24或32位表达方式的标准DSP,该系统评价所有的表达方式格式。前一步骤所作出的决策涉及所需位数的粗略估计。在本次操作中对此进行进一步微调。为了进行本操作,可以再次使用诸如以下等的成本函数。在一个实现中,成本函数包括涉及以下的方法:
与给定位精度运算的实现相关联的硬件面积和功率成本的评价;
针对给定位精度运算的实时性能制约的评价。由于算法可以估计实现给定位精度运算时涉及的硬件延迟,因此可以计算该实时性能制约。
由于该数字格式所引起的系统的SNR的下降的估计;以及
对确定系统性能的关键系统变量和阵列所进行的运算操作的次数。
所定义的成本函数由优化算法用来评价可能的数字格式表达方式候选并且达成最佳表达方式。该算法以系统模型中定义的精度开始,并且使用与针对任何给定变量所进行的运算操作次数有关的信息来达成针对该变量的数字格式的候选。然后,评价成本,并且在该成本可接受的情况下,保存所选择的格式。否则,通过沿着最佳可能轴前进(根据估计成本推断),来达成新格式并且重复该过程。在以下部分详细说明该算法。
使用优化后的位精度近似来自动表示代码中的变量,并且估计该系统经由各种使用方案的性能。
将结果与要求进行比较以进一步优化表达方式。在所选择的最终表达方式相对于所估计出的位精度大幅改变的情况下,基于可利用的附加信息来回到该操作并且再次运行优化处理。
上述所有步骤均是自动完成的并且无需主动人为干预。然而,该阶段的开始和结束时的输入和制约需要由精通算法的函数实现的训练有素的用户来提供。
图4示出用于自动生成定制IC的示例系统。图4的系统支持如下的自动生成,其中该自动生成用于针对所选择的目标应用程序,使用可编程硬件解决方案的指令集压缩和可变宽度编码来自动生成具有最佳指令集的架构。该目标应用程序的规格通常通过采用如C、Matlab、SystemC、Fortran、Ada或任何其它语言那样的高级语言表示为计算机可读代码的算法来实现。该规格包括对目标应用程序的描述,并且还包括诸如期望成本、面积、功率、速度、性能和硬件解决方案的其它属性等的一个或多个制约。
在图4中,定制IC生成产品规格102。通常,存在获得了期望产品的所有主要功能的初始产品规格。根据该产品,算法专家识别针对该产品所需的计算机可读代码或算法。这些算法中的一部分算法可以作为IP从第三方或标准开发委员会来获得。该算法中的一部分必须作为产品开发的一部分来开发。以这种方式,产品规格102能够进一步以可表示为诸如C程序等的程序或诸如Mathlab模型等的数学模型的计算机可读代码或算法104来进行细化。此外,产品规格102还包含诸如成本、面积、功率、工艺类型、库和存储器类型等的要求106。
将计算机可读代码或算法104和要求106提供至自动IC生成器110。仅基于该代码或算法104以及施加于芯片设计的制约,IC生成器110在人为参与较少或无需人为参与的情况下自动生成如下输出,其中该输出包括GDS文件112、用以运行IC的固件114、软件开发工具包(SDK)116和/或测试套件118。GDS文件112和固件114用于制造定制芯片120。
本系统减轻了芯片设计的问题并使芯片设计成为简单过程。该系统使产品开发过程的关注点从硬件实现过程转变回至产品规格和算法设计。代替束缚于特定硬件选择,可以总是在专门针对该应用而优化的处理器上实现算法。该系统将该优化处理器连同所有相关联的软件工具和固件应用程序一起自动生成。该整个过程可以在数日内完成而非如今需要数年来完成。简言之,该系统使产品开发的数字芯片设计部分成为黑盒子。
在一个实施例中,本系统可以采用以下作为输入。
以C/Matlab定义的计算机可读代码或算法
所需的外设
面积目标
功率目标
余量目标(内置有多少开销以用于未来的固件更新和复杂度的增加)
过程选择
标准单元库选择
测试能力扫描
该系统的输出可以是数字硬宏以及所有相关联的固件。针对该数字硬宏而优化的软件开发工具包(SDK)也是自动生成的,由此在不必改变处理器的情况下实现未来针对固件的升级。
该系统针对任何所选择的目标应用程序自动生成完整且最佳的硬件解决方案。尽管常见的目标应用程序存在于嵌入式应用程序领域,但这些目标应用程序并非必须局限于此。
例如,接着将论述支持自动芯片设计系统的计算机。该计算机优选包括通过CPU总线所连接的处理器、随机存取存储器(RAM)、程序存储器(优选为诸如闪速ROM等的可写式只读存储器(ROM))和输入/输出(I/O)控制器。该计算机可以可选地包括连接至硬盘和CPU总线的硬盘驱动器控制器。硬盘可用于存储诸如本发明等的应用程序以及数据。可选地,应用程序可以存储在RAM或ROM中。I/O控制器经由I/O总线连接至I/O接口。I/O接口经由诸如串行链路、局域网、无线链路和并行链路等的通信链路来以模拟或数字形式接收和发送数据。可选地,显示器、键盘和指示装置(鼠标)也可以连接至I/O总线。可选地,对于I/O接口、显示器、键盘和指示装置,可以使用单独的连接(单独的总线)。可以对可编程的处理系统进行预编程,或者可以通过从其它源(例如,软盘、CD-ROM或其它计算机)下载程序来对该可编程的处理系统进行编程(和重新编程)。
各计算机程序有形地存储在通用或专用的可编程计算机能够读取的机器可读存储介质或装置(例如,程序存储器或磁盘)中,用于在计算机读取该存储介质或装置以进行这里所述的过程的情况下配置和控制该计算机的操作。本发明的系统还被视为嵌入配置有计算机程序的计算机可读存储介质,其中如此配置成的存储介质使得计算机以特定和预定方式操作以进行这里所述的功能。
这里已经相当详细地说明了本发明,从而符合专利法规并且向本领域技术人员提供应用新颖原理并根据需要构造和使用这些专用组件所需的信息。然而,应当理解,可以利用具体不同的设备和装置来执行本发明,并且可以在没有背离本发明本身的范围的情况下实现针对设备细节和操作过程这两者的各种修改。
Claims (16)
1.一种用于针对要在定制集成电路即定制IC中实现的模型或代码自动确定最佳数字格式表达方式的方法,包括:
a.确定所述模型或代码中的动态范围相对于静态范围的比值,并且基于所述比值来选择浮点数表达方式或定点数表达方式;
b.基于包括与预定的位精度运算相关联的硬件面积成本和功率成本的成本函数来确定最佳数字表达方式格式;
c.自动生成针对所述最佳数字表达方式格式所定制的处理器架构;以及
d.将所生成的处理器架构综合为所述定制集成电路的计算机可读描述以用于半导体制造。
2.根据权利要求1所述的方法,其中,包括:使用数字表达方式的存储器存储要求作为优化成本。
3.根据权利要求1所述的方法,其中,包括:确定数字表达方式的实时性能作为优化成本。
4.根据权利要求1所述的方法,其中,包括:确定数字表达方式格式中所需的位数。
5.根据权利要求4所述的方法,其中,所述位数包括任意数。
6.根据权利要求1所述的方法,其中,包括:判断所选择的数字表达方式格式是否使输入信号值为噪声下限以下。
7.根据权利要求1所述的方法,其中,包括:使用成本函数来评价所述最佳数字表达方式格式,并且在成本函数的评价超过期望成本的情况下,沿着可变轴前进以满足系统成本要求。
8.根据权利要求1所述的方法,其中,包括:在所述模型或代码中插入定标操作以实现期望成本。
9.一种用于针对要在定制集成电路即定制IC中实现的模型或代码自动确定最佳数字格式表达方式的系统,所述系统包括用于进行以下操作的计算机可读代码:
a.确定所述模型或代码中的动态范围相对于静态范围的比值,并且基于所述比值来选择浮点数表达方式或定点数表达方式;
b.基于包括与预定的位精度运算相关联的硬件面积和功率成本的成本函数来确定最佳数字表达方式格式;
c.自动生成针对所述最佳数字表达方式格式所定制的处理器架构;以及
d.将所生成的处理器架构综合为所述定制集成电路的计算机可读描述以用于半导体制造。
10.根据权利要求9所述的系统,其中,包括用于使用数字表达方式的存储器存储要求作为一个优化成本的代码。
11.根据权利要求9所述的系统,其中,包括用于确定数字表达方式的实时性能作为一个优化成本的代码。
12.根据权利要求9所述的系统,其中,包括用于确定数字表达方式格式中所需的位数的代码。
13.根据权利要求12所述的系统,其中,所述位数包括任意数。
14.根据权利要求9所述的系统,其中,包括用于判断所选择的数字表达方式格式是否使所需信号为噪声下限以下的代码。
15.根据权利要求9所述的系统,其中,包括用于使用成本函数来评价所述最佳数字表达方式格式、并且在成本函数的评价超过期望成本的情况下沿着可变轴前进以满足系统成本要求的代码。
16.根据权利要求9所述的系统,其中,包括用于在所述模型或代码中插入定标操作以实现期望成本的代码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/906,804 | 2010-10-18 | ||
US12/906,804 US8418118B2 (en) | 2010-10-18 | 2010-10-18 | Architecture guided optimal system precision definition algorithm for custom integrated circuit |
PCT/US2011/051744 WO2012054154A2 (en) | 2010-10-18 | 2011-09-15 | Architecture guided optimal system precision definition algorithm for custom integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103314379A true CN103314379A (zh) | 2013-09-18 |
Family
ID=45934803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800610365A Pending CN103314379A (zh) | 2010-10-18 | 2011-09-15 | 定制集成电路所用的架构引导式最佳系统精度定义算法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8418118B2 (zh) |
EP (1) | EP2630597A2 (zh) |
JP (1) | JP5682080B2 (zh) |
KR (1) | KR20130098367A (zh) |
CN (1) | CN103314379A (zh) |
TW (1) | TW201218007A (zh) |
WO (1) | WO2012054154A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461459A (zh) * | 2013-09-23 | 2015-03-25 | 富士通株式会社 | 定点化处理方法及其装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170337319A1 (en) * | 2016-05-20 | 2017-11-23 | Ecole polytechnique fédérale de Lausanne (EPFL) | System and Method for Optimization of Digital Circuits with Timing and Behavior Co-Designed by Introduction and Exploitation of False Paths |
CN109150281B (zh) * | 2017-06-27 | 2021-12-28 | 航天恒星科技有限公司 | 卫星地面站自动化运行方法 |
JP7168382B2 (ja) | 2018-08-30 | 2022-11-09 | 三菱商事ライフサイエンス株式会社 | ヒラタケ菌糸体由来の食品素材 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1570847A (zh) * | 2003-07-23 | 2005-01-26 | 联发科技股份有限公司 | 应用跳跃式浮点数运算法的数字讯号处理器 |
US20080155498A1 (en) * | 2004-10-21 | 2008-06-26 | International Business Machines Corporation | Apparatus for Automatically Converting Numeric Data to a Processor Efficient Format for Performing Arithmetic Operations |
US20090083358A1 (en) * | 2003-09-17 | 2009-03-26 | Allen John R | Emulation of a fixed point operation using a corresponding floating point operation |
CN101782894A (zh) * | 2009-01-20 | 2010-07-21 | 索尼公司 | 算术程序转换装置、算术程序转换方法及程序 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5977983A (en) * | 1997-02-20 | 1999-11-02 | S3 Incorporated | Method and apparatus for adjusting graphics processing procedures based on a selectable speed/quality gauge |
US8423983B2 (en) * | 2008-10-14 | 2013-04-16 | International Business Machines Corporation | Generating and executing programs for a floating point single instruction multiple data instruction set architecture |
-
2010
- 2010-10-18 US US12/906,804 patent/US8418118B2/en not_active Expired - Fee Related
-
2011
- 2011-09-06 TW TW100132087A patent/TW201218007A/zh unknown
- 2011-09-15 WO PCT/US2011/051744 patent/WO2012054154A2/en active Application Filing
- 2011-09-15 JP JP2013534910A patent/JP5682080B2/ja not_active Expired - Fee Related
- 2011-09-15 KR KR1020137009795A patent/KR20130098367A/ko active IP Right Grant
- 2011-09-15 EP EP11834801.0A patent/EP2630597A2/en not_active Withdrawn
- 2011-09-15 CN CN2011800610365A patent/CN103314379A/zh active Pending
-
2013
- 2013-03-01 US US13/782,927 patent/US20140074900A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1570847A (zh) * | 2003-07-23 | 2005-01-26 | 联发科技股份有限公司 | 应用跳跃式浮点数运算法的数字讯号处理器 |
US20090083358A1 (en) * | 2003-09-17 | 2009-03-26 | Allen John R | Emulation of a fixed point operation using a corresponding floating point operation |
US20080155498A1 (en) * | 2004-10-21 | 2008-06-26 | International Business Machines Corporation | Apparatus for Automatically Converting Numeric Data to a Processor Efficient Format for Performing Arithmetic Operations |
CN101782894A (zh) * | 2009-01-20 | 2010-07-21 | 索尼公司 | 算术程序转换装置、算术程序转换方法及程序 |
Non-Patent Citations (1)
Title |
---|
ALTAF ABDUL GAFFAR等: "Unifying Bit-width Optimisation for Fixed-point and Floating-point Designs", 《FIELD-PROGRAMMABLE CUSTOM COMPUTER MACHINES》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461459A (zh) * | 2013-09-23 | 2015-03-25 | 富士通株式会社 | 定点化处理方法及其装置 |
CN104461459B (zh) * | 2013-09-23 | 2017-04-19 | 富士通株式会社 | 定点化处理方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2012054154A3 (en) | 2013-10-24 |
JP2013546059A (ja) | 2013-12-26 |
US8418118B2 (en) | 2013-04-09 |
EP2630597A2 (en) | 2013-08-28 |
US20140074900A1 (en) | 2014-03-13 |
KR20130098367A (ko) | 2013-09-04 |
JP5682080B2 (ja) | 2015-03-11 |
US20120095583A1 (en) | 2012-04-19 |
WO2012054154A2 (en) | 2012-04-26 |
TW201218007A (en) | 2012-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108139885B (zh) | 浮点数舍入 | |
CN103329132A (zh) | 架构优化器 | |
CN103959192A (zh) | 用于估算超越函数的数学电路 | |
Chang et al. | Cycle-accurate energy measurement and characterization with a case study of the ARM7TDMI [microprocessors] | |
CN103314379A (zh) | 定制集成电路所用的架构引导式最佳系统精度定义算法 | |
CN103098026A (zh) | 集成电路的系统、架构和微架构(sama)表达方式 | |
CN103097986A (zh) | 应用程序驱动的电源门控技术 | |
Vakili et al. | Enhanced precision analysis for accuracy-aware bit-width optimization using affine arithmetic | |
JP2010170196A (ja) | 演算プログラム変換装置、演算プログラム変換方法およびプログラム | |
Zoni et al. | An FPU design template to optimize the accuracy-efficiency-area trade-off | |
CN103098058A (zh) | 根据算法和规格的自动最佳集成电路生成器 | |
CN110069284B (zh) | 一种基于opu指令集的编译方法及编译器 | |
US8532974B2 (en) | Developing system and method for optimizing the energy consumption of an application program for a digital signal processor | |
KR102656567B1 (ko) | 다양한 유형의 신경망 모델을 변환 및 활용할 수 있도록 하는 방법 및 장치 | |
Conrady et al. | LCS-based automatic configuration of approximate computing parameters for fpga system designs | |
CN115454398A (zh) | 一种c语言程序验证器的浮点计算精度分析方法及系统 | |
US8843862B2 (en) | Method and apparatus for creating and changing logic representations in a logic design using arithmetic flexibility of numeric formats for data | |
WO2009017849A1 (en) | Method and system for creating fixed-point software code | |
Mallik et al. | Smart bit-width allocation for low power optimization in a systemc based ASIC design environment | |
JP5267376B2 (ja) | 動作合成装置、動作合成方法、ならびに、プログラム | |
CN115951936B (zh) | 向量化编译程序的芯片适配方法、装置、设备及介质 | |
CN111428412B (zh) | 一种消能孔板结构优化方法、存储介质及电子设备 | |
Sung | Optimization of number representations | |
Kabi et al. | An analytical framework for area and switching power optimization of a fixed-point FFT algorithm | |
CN113805844A (zh) | 一种数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130918 |