WO2004034290A2 - Method of using clock cycle-time in determining loop schedules during circuit design - Google Patents

Method of using clock cycle-time in determining loop schedules during circuit design Download PDF

Info

Publication number
WO2004034290A2
WO2004034290A2 PCT/US2003/031618 US0331618W WO2004034290A2 WO 2004034290 A2 WO2004034290 A2 WO 2004034290A2 US 0331618 W US0331618 W US 0331618W WO 2004034290 A2 WO2004034290 A2 WO 2004034290A2
Authority
WO
WIPO (PCT)
Prior art keywords
clock cycle
boundaries
cycle
dependence graph
recurrence
Prior art date
Application number
PCT/US2003/031618
Other languages
French (fr)
Other versions
WO2004034290A3 (en
WO2004034290A9 (en
Inventor
Mukund Sivaraman
Shail A. Gupta
Original Assignee
Hewlett-Packard Development Company L. P.
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 Hewlett-Packard Development Company L. P. filed Critical Hewlett-Packard Development Company L. P.
Priority to JP2004543398A priority Critical patent/JP2006502501A/en
Priority to EP03774592A priority patent/EP1550058A2/en
Priority to AU2003282707A priority patent/AU2003282707A1/en
Publication of WO2004034290A2 publication Critical patent/WO2004034290A2/en
Publication of WO2004034290A3 publication Critical patent/WO2004034290A3/en
Publication of WO2004034290A9 publication Critical patent/WO2004034290A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Abstract

A method for determining validity of a proposed loop iteration schedule comprising the steps of receiving a dependence graph including operations and edges between said operations (201); receiving a performance specification; receiving an assignment of latencies to operations of said dependence graph; and determing existence of a placement clock cycle-boundaries in said dependence graph such that all dependence and timing constraints are satisfied for the performance specification (206, 207).

Claims

CLAIMS What is claimed is:
1. A method for determining validity of a proposed loop iteration schedule comprising: receiving a dependence graph including operations and edges between said operations (201); receiving a performance specification; receiving an assignment of latencies to operations of said dependence graph; and determining existence of a placement of clock cycle-boundaries in said dependence graph such that all dependence and timing constraints are satisfied for said performance specification (206, 207).
2. The method of claim 1 further including: receiving a macrocell library; and assigning latencies to operations of said dependence graph.
3. The method of claim 1 further including: receiving a proposed loop iteration scheduling vector; and calculating omegas for edges included in said dependence graph.
4. The method of claim 3 wherein the existence of a placement of clock cycle-boundaries in said dependence graph is done such that: for every recurrence cycle in said dependence graph, the total number of clock cycle-boundaries so placed equals the said proposed initiation interval multiplied by the sum of the omegas for the edges belonging to said recurrence cycle, and the maximum delay between successive clock cycle-boundaries so placed is no greater than the said proposed clock cycle-time.
5. The method of claim 4 wherein said existence is determined by: enumerating all recurrence cycles in said dependence graph; for each such recurrence cycle, determining a placement of clock cycle- boundaries along said recurrence cycle such that: the total number of clock cycle-boundaries so placed equals the said proposed initiation interval multiplied by the sum of the omegas for the edges belonging to said recurrence cycle; the maximum delay between successive clock cycle-boundaries so placed is no greater than the said proposed clock cycle-time; and deriving said existence to be existence of a placement of clock cycle- boundaries along each said recurrence cycle.
6. An apparatus for validating a proposed loop iteration schedule comprising: means for assigning latency to dependence graph operations; means for calculating omegas for each of edge associated with said dependence graph operations; means for determining existence of placement of clock cycle boundaries in said dependence graph; and means for determining a validity of proposed iteration schedule vectors.
7. The apparatus of claim 6 further including: means for determining said placement of said clock cycle boundaries.
8. The apparatus of claim 6 further including means for determining a comparative cost of said proposed loop iteration schedule as a function of said placement of said clock cycle boundaries in said dependence graph.
9. The apparatus of claim 6 wherein said means for determining existence of said placement of clock cycle-boundaries includes: for every recurrence cycle in said dependence graph, the total number of clock cycle-boundaries so placed equals a proposed initiation interval multiplied by a sum of the omegas for the edges belonging to the associated recurrence cycle of said dependence graph; and the maximum delay between successive clock cycle-boundaries so placed is no greater than a proposed clock cycle-time.
10. The apparatus of claim 9 wherein said means for determining existence includes: enumerating all recurrence cycles in said dependence graph; for each such recurrence cycle, determining a placement of clock cycle- boundaries along said recurrence cycle such that: the total number of clock cycle-boundaries so placed equals the said proposed initiation interval multiplied by the sum of the omegas for the edges belonging to said recurrence cycle; the maximum delay between successive clock cycle-boundaries so placed is no greater than the said proposed clock cycle-time; and deriving said existence to be existence of a placement of clock cycle- boundaries along each said recurrence cycle.
PCT/US2003/031618 2002-10-07 2003-10-03 Method of using clock cycle-time in determining loop schedules during circuit design WO2004034290A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004543398A JP2006502501A (en) 2002-10-07 2003-10-03 How to use clock cycle time when determining loop schedule during circuit design
EP03774592A EP1550058A2 (en) 2002-10-07 2003-10-03 Method of using clock cycle-time in determining loop schedules during circuit design
AU2003282707A AU2003282707A1 (en) 2002-10-07 2003-10-03 Method of using clock cycle-time in determining loop schedules during circuit design

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/266,826 US7096438B2 (en) 2002-10-07 2002-10-07 Method of using clock cycle-time in determining loop schedules during circuit design
US10/266,826 2002-10-07

Publications (3)

Publication Number Publication Date
WO2004034290A2 true WO2004034290A2 (en) 2004-04-22
WO2004034290A3 WO2004034290A3 (en) 2004-12-02
WO2004034290A9 WO2004034290A9 (en) 2005-08-25

Family

ID=32042727

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/031618 WO2004034290A2 (en) 2002-10-07 2003-10-03 Method of using clock cycle-time in determining loop schedules during circuit design

Country Status (5)

Country Link
US (1) US7096438B2 (en)
EP (1) EP1550058A2 (en)
JP (1) JP2006502501A (en)
AU (1) AU2003282707A1 (en)
WO (1) WO2004034290A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150040663A (en) * 2013-10-07 2015-04-15 삼성전자주식회사 Method and Apparatus for instruction scheduling using software pipelining

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952816B2 (en) * 2002-10-07 2005-10-04 Hewlett-Packard Development Company, L.P. Methods and apparatus for digital circuit design generation
US6966043B2 (en) * 2002-10-07 2005-11-15 Hewlett-Packard Development Company, L.P. Method for designing minimal cost, timing correct hardware during circuit synthesis
US7162704B2 (en) * 2003-05-09 2007-01-09 Synplicity, Inc. Method and apparatus for circuit design and retiming
CA2439137A1 (en) * 2003-08-08 2005-02-08 Ibm Canada Limited - Ibm Canada Limitee Improved scheduling technique for software pipelining
US7120888B2 (en) * 2004-07-12 2006-10-10 International Business Machines Corporation Method, system and storage medium for determining circuit placement
US7356793B2 (en) * 2004-07-12 2008-04-08 International Business Machines Corporation Genie: a method for classification and graphical display of negative slack timing test failures
US20060048123A1 (en) * 2004-08-30 2006-03-02 International Business Machines Corporation Modification of swing modulo scheduling to reduce register usage
US7444628B2 (en) * 2004-08-30 2008-10-28 International Business Machines Corporation Extension of swing modulo scheduling to evenly distribute uniform strongly connected components
US7774766B2 (en) * 2005-09-29 2010-08-10 Intel Corporation Method and system for performing reassociation in software loops
US7712091B2 (en) * 2005-09-30 2010-05-04 Intel Corporation Method for predicate promotion in a software loop
US8291396B1 (en) * 2006-01-17 2012-10-16 Altera Corporation Scheduling optimization of aliased pointers for implementation on programmable chips
US20080092113A1 (en) * 2006-10-12 2008-04-17 Weinstein Randall K System and method for configuring a programmable electronic device to include an execution engine
JP4272687B2 (en) * 2006-10-24 2009-06-03 パナソニック株式会社 Simulation device
JP5207125B2 (en) * 2008-03-28 2013-06-12 日本電気株式会社 Schedulability determination system, scheduling possibility determination method, and program
JP5009243B2 (en) * 2008-07-02 2012-08-22 シャープ株式会社 Behavioral synthesis apparatus, behavioral synthesis method, program, recording medium, and semiconductor integrated circuit manufacturing method
US8843862B2 (en) * 2008-12-16 2014-09-23 Synopsys, Inc. Method and apparatus for creating and changing logic representations in a logic design using arithmetic flexibility of numeric formats for data
US9063735B2 (en) * 2010-10-19 2015-06-23 Samsung Electronics Co., Ltd. Reconfigurable processor and method for processing loop having memory dependency
KR101722695B1 (en) * 2010-10-19 2017-04-04 삼성전자주식회사 Reconfigurable processor and method for processing loop having memory dependency
US8694943B1 (en) * 2011-12-30 2014-04-08 Cadence Design Systems, Inc. Methods, systems, and computer program product for implementing electronic designs with connectivity and constraint awareness
US8595662B1 (en) 2011-12-30 2013-11-26 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for implementing a physical design of an electronic circuit with automatic snapping
US9064063B1 (en) 2011-12-30 2015-06-23 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for implementing interactive, real-time checking or verification of complex constraints
US8645902B1 (en) 2011-12-30 2014-02-04 Cadence Design Systems, Inc. Methods, systems, and computer program products for implementing interactive coloring of physical design components in a physical electronic design with multiple-patterning techniques awareness
US9053289B1 (en) 2012-04-12 2015-06-09 Cadence Design Systems, Inc. Method and system for implementing an improved interface for designing electronic layouts
KR20150040662A (en) * 2013-10-07 2015-04-15 삼성전자주식회사 Method and Apparatus for instruction scheduling using software pipelining

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764951A (en) * 1995-05-12 1998-06-09 Synopsys, Inc. Methods for automatically pipelining loops

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870308A (en) 1990-04-06 1999-02-09 Lsi Logic Corporation Method and system for creating and validating low-level description of electronic design
US5555201A (en) 1990-04-06 1996-09-10 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information
US5553002A (en) 1990-04-06 1996-09-03 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface
US5598344A (en) 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
US5963730A (en) 1995-09-26 1999-10-05 Matsushita Electric Industrial Co., Ltd. Method for automating top-down design processing for the design of LSI functions and LSI mask layouts
US5930510A (en) * 1996-11-19 1999-07-27 Sun Microsystems, Inc. Method and apparatus for an improved code optimizer for pipelined computers
US6684376B1 (en) 1997-01-27 2004-01-27 Unisys Corporation Method and apparatus for selecting components within a circuit design database
US6096092A (en) 1997-04-07 2000-08-01 Matsushita Electric Industrial Co., Ltd. Automatic synthesizing method for logic circuits
US6341370B1 (en) * 1998-04-24 2002-01-22 Sun Microsystems, Inc. Integration of data prefetching and modulo scheduling using postpass prefetch insertion
US6105139A (en) * 1998-06-03 2000-08-15 Nec Usa, Inc. Controller-based power management for low-power sequential circuits
US6457159B1 (en) 1998-12-29 2002-09-24 Cadence Design Systems, Inc. Functional timing analysis for characterization of virtual component blocks
JP3304912B2 (en) 1999-03-24 2002-07-22 日本電気株式会社 ASIC design method and ASIC design device
US6374403B1 (en) 1999-08-20 2002-04-16 Hewlett-Packard Company Programmatic method for reducing cost of control in parallel processes
US6507947B1 (en) * 1999-08-20 2003-01-14 Hewlett-Packard Company Programmatic synthesis of processor element arrays
US6460173B1 (en) 1999-08-20 2002-10-01 Hewlett-Packard Company Function unit allocation in processor design
US6438747B1 (en) 1999-08-20 2002-08-20 Hewlett-Packard Company Programmatic iteration scheduling for parallel processors
JP2001142922A (en) 1999-11-15 2001-05-25 Matsushita Electric Ind Co Ltd Design method for semiconductor integrated circuit device
US6625797B1 (en) 2000-02-10 2003-09-23 Xilinx, Inc. Means and method for compiling high level software languages into algorithmically equivalent hardware representations
US6958627B2 (en) * 2000-10-23 2005-10-25 Trustees Of Columbia University In The City Of New York Asynchronous pipeline with latch controllers
JP4031905B2 (en) * 2000-11-09 2008-01-09 富士通株式会社 Circuit design apparatus and circuit design method
US6662271B2 (en) * 2001-06-27 2003-12-09 Intel Corporation Cache architecture with redundant sub array
US6941541B2 (en) * 2002-07-19 2005-09-06 Hewlett-Packard Development Company, L.P. Efficient pipelining of synthesized synchronous circuits
US7107568B2 (en) 2002-10-07 2006-09-12 Hewlett-Packard Development Company, Lp. System and method for reducing wire delay or congestion during synthesis of hardware solvers
US7086038B2 (en) 2002-10-07 2006-08-01 Hewlett-Packard Development Company, L.P. System and method for creating systolic solvers
US6952816B2 (en) 2002-10-07 2005-10-04 Hewlett-Packard Development Company, L.P. Methods and apparatus for digital circuit design generation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764951A (en) * 1995-05-12 1998-06-09 Synopsys, Inc. Methods for automatically pipelining loops

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHENG-TSUNG HWANG ET AL: "A FORMAL APPROACH TO THE SCHEDULING PROBLEM IN HIGH LEVEL SYNTHESIS" IEEE TRANSACTIONS ON COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, IEEE INC. NEW YORK, US, vol. 10, no. 4, 1 April 1991 (1991-04-01), pages 464-475, XP000219191 ISSN: 0278-0070 *
GOOSSENS G ET AL: "LOOP OPTIMIZATION IN REGISTER-TRANSFER SCHEDULING FOR DSP-SYSTEMS*" PROCEEDINGS OF THE DESIGN AUTOMATION CONFERENCE. LAS VEGAS, JUNE 25 - 29, 1989, PROCEEDINGS OF THE DESIGN AUTOMATION CONFERENCE (DAC), NEW YORK, IEEE, US, vol. CONF. 26, 25 June 1989 (1989-06-25), pages 826-831, XP000145908 ISBN: 0-89791-310-8 *
GOVINDARAJAN R ET AL: "A novel framework for multi-rate scheduling in DSP applications" APPLICATION-SPECIFIC ARRAY PROCESSORS, 1993. PROCEEDINGS., INTERNATIONAL CONFERENCE ON VENICE, ITALY 25-27 OCT. 1993, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 25 October 1993 (1993-10-25), pages 77-88, XP010136775 ISBN: 0-8186-3492-8 *
PUGH W: "A PRACTICAL ALGORITHM FOR EXACT ARRAY DEPENDENCE ANALYSIS" COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, ASSOCIATION FOR COMPUTING MACHINERY. NEW YORK, US, vol. 35, no. 8, 1 August 1992 (1992-08-01), pages 102-114, XP000331496 ISSN: 0001-0782 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150040663A (en) * 2013-10-07 2015-04-15 삼성전자주식회사 Method and Apparatus for instruction scheduling using software pipelining
KR102161055B1 (en) 2013-10-07 2020-09-29 삼성전자주식회사 Method and Apparatus for instruction scheduling using software pipelining

Also Published As

Publication number Publication date
US7096438B2 (en) 2006-08-22
AU2003282707A1 (en) 2004-05-04
US20040068708A1 (en) 2004-04-08
EP1550058A2 (en) 2005-07-06
WO2004034290A3 (en) 2004-12-02
JP2006502501A (en) 2006-01-19
WO2004034290A9 (en) 2005-08-25

Similar Documents

Publication Publication Date Title
EP1550058A2 (en) Method of using clock cycle-time in determining loop schedules during circuit design
US8526965B2 (en) Distributed micro instructions set processor architecture for high-efficiency signal processing
Yen et al. Performance estimation for real-time distributed embedded systems
US5696942A (en) Cycle-based event-driven simulator for hardware designs
JP2017509059A (en) Synchronize interrupt handling to reduce power consumption
Ito et al. Ilp-based cost-optimal dsp synthesis with module selection and data format conversion
US10956225B2 (en) Scalable computation and communication methods for domain decomposition of large-scale numerical simulations
Radetzki et al. Accuracy-adaptive simulation of transaction level models
JP4082653B2 (en) High level synthesis method and high level synthesis apparatus
Kohútka et al. ASIC architecture and implementation of RED scheduler for mixed-criticality real-time systems
Salunkhe et al. Mode-controlled dataflow based modeling & analysis of a 4g-lte receiver
WO2011137751A1 (en) Method and device for enabling hardware controlling based on task process table
WO2004034289A3 (en) Method for designing minimal cost, timing correct hardware during circuit synthesis
Hsiung et al. Hardware task scheduling and placement in operating systems for dynamically reconfigurable SoC
US7275168B2 (en) System and method for providing clock signals based on control signals from functional units and on a hibernate signal
CN104767544B (en) A kind of method and vector arithmetic unit for realizing descrambling and de-spreading
Poornachandran et al. Energy-efficient task scheduling for wireless sensor nodes with multiple sensing units
Hassan et al. Enabling RTOS simulation modeling in a system level design language
Wang et al. Resource budgeting for multiprocess high-level synthesis
Kovac Asynchronous Microcontroller Simulation Model in VHDL
Tay et al. Performance optimization of throttled time-warp simulation
Schirner et al. Accurate yet fast modeling of real-time communication
CN112764889A (en) Process scheduling method, device, equipment and storage medium
Hamada et al. A behavioral synthesis method for asynchronous circuits with bundled-data implementation (tool paper)
Jalloul et al. Multichannel baseband processor for wideband CDMA

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2003774592

Country of ref document: EP

Ref document number: 2004543398

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 2003774592

Country of ref document: EP

COP Corrected version of pamphlet

Free format text: PAGE 1, DESCRIPTION, ADDED