发明名称 Race Logic Synthesis for ESL-based Large-Scale Integrated Circuit Designs
摘要 Techniques for performing race logic synthesis on an integrated circuit (IC) are described herein. According to one aspect of the invention, ESL (electronic system level) and any HDL (hardware description language) design source files of an IC design are compiled into a design database. Race logic analysis is performed on the IC design to detect race logic, including race logic for IPC (inter-process communication) and IPS (inter-process synchronization) objects in the IC design, by a third-party tool and/or by the same host EDA (electronic design automation) tool that will be performing race logic synthesis on the IC design, if the latter has built-in race logic audit functions. Based on the race logic audit results, race logic synthesis is performed on the design database, and getting rid of all identified race logic in the IC design, including IPC- and IPS-related race logic. This renders the EDA tool can perform concurrent analysis of the IC design, via the race-free IC design database, using multi-CPU/core computers and the results will be the same as if the EDA tool had performed serial analysis of the IC design using a single-CPU/core computer. Another aspect of the invention is outputting the re-synthesized logic in the design database to new ESL/HDL source files. User may use these revised source files to analyze the IC design using any other third-party EDA tools.
申请公布号 US2014317582(A1) 申请公布日期 2014.10.23
申请号 US201313866815 申请日期 2013.04.19
申请人 Chan Terence Wai-Kwon 发明人 Chan Terence Wai-Kwon
分类号 G06F17/50 主分类号 G06F17/50
代理机构 代理人
主权项 1. A computer-implemented method for performing race logic synthesis on an ESL (electronic system level)-based IC (integrated circuit) design, comprises using a processor to perform one or more of the following steps: (a) Compiling, by a processor, an IC design source files, coded in any one or a combination of ESL and any HDL (hardware description language) description languages, into a design database; (b) Performing static and/or dynamic race logic analysis of the IC design, either by a host application, or by an external race logic audit tool, or the combination of both; (c) Determining the execution order of process blocks of the IC design in the design database, either using the default process block execution order by the host application and/or obtaining that order from user; (d) Executing the race logic synthesis functions to get rid of all race logic involving ESL IPC (inter-process communication) and IPS (inter-process synchronization) objects, as detected in (b), in the compiled IC design database; (e) As a user-specified option or a default action of the host application, generating updated ESL/HDL source files for the IC design, where race logic has been remedied by the race logic synthesis functions in (d). Wherein step d comprises: (f) analyzing all ESL IPC objects, including but not limited to FIFO (first-in-first-out) buffers, mailboxes and dynamic queues, in the IC design that have been determined to be involved in concurrent assignment (write) race logic, and re-synthesizing the driving process blocks of these IPC objects, to eliminate the race logic while retaining the original logic functions of the IC design; (g) analyzing all ESL IPC objects, including but not limited to dynamic queues, in the IC design that have been determined to be involved in concurrent assignment (write) and reference (read) race logic, and re-synthesizing all the driving and driven process blocks of these IPC objects, to eliminate the race logic while retaining the original logic functions of the IC design; (h) analyzing all ESL IPC objects, including but not limited to dynamic queues, in the IC design that have been determined to be involved in concurrent delete race logic, and re-synthesizing all the driving process blocks of these IPC objects, to eliminate the race logic while retaining the original logic functions of the IC design; (i) analyzing all ESL IPC objects, including but not limited to FIFO buffers and mailboxes, in the IC design that have been determined to be involved in concurrent reference (read) race logic, and re-synthesizing the driven process blocks of these IPC objects, to eliminate the race logic while retaining the original logic functions of the IC design; (j) analyzing all ESL IPS objects, including but not limited to semaphores and mutexes, in the IC design that have been determined to be involved in concurrent locking race logic, and re-synthesizing the driving process blocks of these IPS objects, to eliminate the race logic while retaining the original logic functions of the IC design.
地址 Dublin CA US