Work group computing for electronic design automation
First Claim
1. A work group computing system for facilitating an electronic design by a plurality of users, said work group computing system comprising:
- a global work space located on a computer of said computing system, said global work space including a plurality of project source files specifying said electronic design and a global basis specifying compilation results from a compilation of said project source files;
an incremental compiler for compiling incremental changes to said electronic design;
a first user work space located on a first computer of said computing system, said first user work space includinga first file copy of a first one of said project source files, said first file specifying a first portion of said electronic design and being modifiable by a first user to produce a modified first file in said first user work space, said modified first file being transferable back to said global work space to overwrite said first one of said project source files in said global work space, anda local basis specifying compilation results from a compilation of said project source files of said global work space and said modified first file, said local basis being produced by said incremental compiler and being transferable to said global work space to overwrite said global basis; and
a second user work space located on a second computer of said computing system, said second user work space includinga second file copy of a second one of said project source files, said second file specifying a second portion of said electronic design and being modifiable by a second user to produce a modified second file in said second user work space, said modified second file being transferable back to said global work space to overwrite said second one of said project source files in said global work space, such that said project source files may be simultaneously modified by said first and said second users, whereby said project source files may be used to program said electronic design.
1 Assignment
0 Petitions
Accused Products
Abstract
A work group computing system for facilitating programmable logic device design among multiple engineers has a global work space including design project source files, a compilation basis, a compilation report text file, a binary assignments database and a user-readable assignments text file. Any number of local work spaces contain downloaded versions of any of the project source files, local compilation processing results for that user and a local assignment database containing records of downloaded assignments. Downloaded project source files or assignments are assigned states by the user such as default, locked, owned-write, owned-read only to facilitate coordination amongst the user engineers. The system controls editing of files so that two engineers may not inadvertently edit the same global source file at the same time. Individual engineers receive automatic updates of new versions of source files; files that are being edited are locked, and an isolation mode allows an engineer to work with source files in an unchanging state. Each engineer incrementally compiles local changes made to source files in his own user work space to produce a local set of compilation and processing results. Incremental compilation uses unedited source files, the basis from the global work space, and the user'"'"'s edited local files to produce the local processing results. Upon satisfactory results, edited source files and local processing results may replace and overwrite global files and results. Multiple engineers are allowed to work on complex logic design that can be implemented on a single, large capacity device.
325 Citations
38 Claims
-
1. A work group computing system for facilitating an electronic design by a plurality of users, said work group computing system comprising:
-
a global work space located on a computer of said computing system, said global work space including a plurality of project source files specifying said electronic design and a global basis specifying compilation results from a compilation of said project source files; an incremental compiler for compiling incremental changes to said electronic design; a first user work space located on a first computer of said computing system, said first user work space including a first file copy of a first one of said project source files, said first file specifying a first portion of said electronic design and being modifiable by a first user to produce a modified first file in said first user work space, said modified first file being transferable back to said global work space to overwrite said first one of said project source files in said global work space, and a local basis specifying compilation results from a compilation of said project source files of said global work space and said modified first file, said local basis being produced by said incremental compiler and being transferable to said global work space to overwrite said global basis; and a second user work space located on a second computer of said computing system, said second user work space including a second file copy of a second one of said project source files, said second file specifying a second portion of said electronic design and being modifiable by a second user to produce a modified second file in said second user work space, said modified second file being transferable back to said global work space to overwrite said second one of said project source files in said global work space, such that said project source files may be simultaneously modified by said first and said second users, whereby said project source files may be used to program said electronic design. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method of facilitating an electronic design by a plurality of users in a work group computing system, said method comprising:
-
storing in a global work space on a computer of said computing system a plurality of project source files specifying said electronic design and a global basis specifying compilation results from a compilation of said project source files; transferring a first file of said plurality of project source files to a first user work space on a first computer such that said first file may be modified by said first user, said first file specifying a first portion of said electronic design; incrementally compiling a subset of said project source files from said global work space along with said modified first file to produce a local basis specifying compilation results, said local basis being produced by an incremental compiler and being transferable to said global work space to overwrite said global basis; and transferring a second file of said plurality of project source files to a second user work space on a second computer such that said second file may be modified by said second user, said second file specifying a second portion of said electronic design, whereby said electronic design may be modified simultaneously by said plurality of users. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A computer-implemented method of facilitating an electronic design by a plurality of users in a work group computing system, said electronic design including a plurality of project source files in a global work space and a global basis specifying compilation results from a compilation of said project source files, said method comprising:
-
receiving a command to transfer one of said source files from said global work space located on a computer of said computing system to a local user work space located on a local computer, said source file specifying a portion of said electronic design; determining whether said source file is currently being modified by one of said users; transferring said source file to said local user work space such that said source file may be modified in said local user work space to produce a modified source file; setting a lock indicator indicating that said source file is currently being modified; compiling a subset of said project source files along with said modified file using an incremental compiler to produce a local basis specifying compilation results; receiving a command to transfer said modified source file from said local user work space to said global work space; transferring said local basis to said global work space to overwrite said global basis; and transferring said modified source file from said local user work space to said global work space such that said modified source file overwrites said source file, whereby said electronic design is modified. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer program product comprising a computer-usable medium having computer-readable program code embodied thereon for facilitating an electronic design by a plurality of users in a work group computing system, said computer program product comprising computer-readable program code for effecting the following within a computer system:
-
storing in a global work space on a computer of said computing system a plurality of project source files specifying said electronic design and a global basis specifying compilation results from a compilation of said project source files; transferring a first file of said plurality of project source files to a first user work space on a first computer such that said first file may be modified by said first user, said first file specifying a first portion of said electronic design; incrementally compiling a subset of said project source files from said global work space along with said modified first file to produce a local basis specifying compilation results, said local basis being produced by an incremental compiler and being transferable to said global work space to overwrite said global basis; and transferring a second file of said plurality of project source files to a second user work space on a second computer such that said second file may be modified by said second user, said second file specifying a second portion of said electronic design, whereby said electronic design may be modified simultaneously by said plurality of users. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A computer program product comprising a computer-usable medium having computer-readable program code embodied thereon for facilitating an electronic design by a plurality of users in a work group computing system, said electronic design including a plurality of project source files in a global work space and a global basis specifying compilation results from a compilation of said project source files, said computer program product comprising computer-readable program code for effecting the following within a computer system:
-
receiving a command to transfer one of said source files from said global work space located on a computer of said computing system to a local user work space located on a local computer, said source file specifying a portion of said electronic design; determining whether said source file is currently being modified by one of said users; transferring said source file to said local user work space such that said source file may be modified in said local user work space to produce a modified source file; setting a lock indicator indicating that said source file is currently being modified; compiling a subset of said project source files along with said modified file using an incremental compiler to produce a local basis specifying compilation results; receiving a command to transfer said modified source file from said local user work space to said global work space; transferring said local basis to said global work space to overwrite said global basis; and transferring said modified source file from said local user work space to said global work space such that said modified source file overwrites said source file, whereby said electronic design is modified. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. An electronic device incorporating an electronic design created by a plurality of users in a work group computing system, said electronic device being made by the method comprising:
-
storing in a global work space on a computer of said computing system a plurality of project source files specifying said electronic design and a global basis specifying compilation results from a compilation of said project source files; transferring a first file of said plurality of project source files to a first user work space on a first computer such that said first file may be modified by said first user, said first file specifying a first portion of said electronic design; incrementally compiling a subset of said project source files from said global work space along with said modified first file to produce a local basis specifying compilation results, said local basis being produced by an incremental compiler and being transferable to said global work space to overwrite said global basis; and transferring a second file of said plurality of project source files to a second user work space on a second computer such that said second file may be modified by said second user, said second file specifying a second portion of said electronic design, whereby said electronic design may be modified simultaneously by said plurality of users. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. An electronic device incorporating a compiled electronic design created by a plurality of users in a work group computing system, said electronic design including a plurality of project source files in a global work space and a global basis specifying compilation results from a compilation of said project source files, said electronic device being made by the method comprising:
-
receiving a command to transfer one of said source files from said global work space located on a computer of said computing system to a local user work space located on a local computer, said source file specifying a portion of said electronic design; determining whether said source file is currently being modified by one of said users; transferring said source file to said local user work space such that said source file may be modified in said local user work space to produce a modified source file; setting a lock indicator indicating that said source file is currently being modified; compiling a subset of said project source files along with said modified file using an incremental compiler to produce a local basis specifying compilation results; receiving a command to transfer said modified source file from said local user work space to said global work space; transferring said local basis to said global work space to overwrite said global basis; and transferring said modified source file from said local user work space to said global work space such that said modified source file overwrites said source file, whereby said electronic design is modified. - View Dependent Claims (34, 35, 36, 37, 38)
-
Specification