├── SCFTGU_2007.zip ├── BOOK_LICENSE.asc ├── .gitignore ├── BOOK_LICENSE └── README.md /SCFTGU_2007.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblack/SCFTGU_BOOK/HEAD/SCFTGU_2007.zip -------------------------------------------------------------------------------- /BOOK_LICENSE.asc: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNATURE----- 2 | Version: GnuPG v1.4.2 (GNU/Linux) 3 | 4 | iD8DBQBHMb+PBff2jrJXMLARAnzNAKCJh0tSg9q0LNJ6wa810tUyvaEYlACdGohH 5 | ELc4ExppKOoHu4U2IpWOeus= 6 | =DHT1 7 | -----END PGP SIGNATURE----- 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | -------------------------------------------------------------------------------- /BOOK_LICENSE: -------------------------------------------------------------------------------- 1 | // COPYRIGHT (C) 2004-2007 by Eklectically, Inc., a Texas corporation // 2 | // also doing business as Eklectic Ally Inc. , and ESLX Inc. with // 3 | // headquarters in Austin, Texas in the United States of America. // 4 | // Our business address is Eklectically Inc, 6217 John Chisum Lane, // 5 | // Austin, TX 78749-1838 USA or e-mail info@ESLX.com // 6 | // // 7 | // SOFTWARE LICENSE // 8 | // Permission is granted for anybody to use software accompanying // 9 | // this file for any legal purposes, including commerical // 10 | // applications, and to alter it and redistribute it, provided that // 11 | // the following restrictions are adhered to: // 12 | // // 13 | // 1. The origin of portions derived from this software must not be // 14 | // misrepresented; you must not claim that you wrote the entire // 15 | // original software. If you use this software in a product, // 16 | // an acknowledgment in the product documentation would be // 17 | // appreciated, but is not required. // 18 | // // 19 | // 2. This eight paragraph licensing notice version 1.2 dated // 20 | // November 07, 2007, of which this is the fourth paragraph, may // 21 | // not be altered or removed from any source code distribution. // 22 | // // 23 | // 3. You may not post this software archive for download from a // 24 | // publically accessible site on the Internet. It is permissible // 25 | // to post fragments of this sofware, wherein a fragment is // 26 | // defined as a portion of a file or files and represents less // 27 | // than 10% of the downloaded software. It is also permissible // 28 | // to post links to http://www.ESLX.com/Book where others may // 29 | // request the software themselves. // 30 | // // 31 | // 4. If you find errors, bugs or problems of any type within the // 32 | // code or its documentation, you agree to notify us with an // 33 | // e-mail notice to bugs@ESLX.com and include a description of // 34 | // your findings and any suggested corrections. This does not // 35 | // constitute an agreement by us to use your ideas, but does // 36 | // allow us to do so free of any encumbrences. // 37 | // // 38 | // This software is provided as a professional and academic // 39 | // contribution for the advancement of SystemC adoption. // 40 | // // 41 | // THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY // 42 | // KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE // 43 | // WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE // 44 | // AND NONINFRINGEMENT. IN NO EVENT SHALL EKLECTIALLY, INC. OR ITS // 45 | // EMPLOYEES OR CONTRACTORS OR SUBSIDIARIES BE LIABLE FOR ANY CLAIM, // 46 | // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, // 47 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE // 48 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // 49 | // // 50 | //-FILE:BOOK_LICENSE---3650_chars---SIGNATURE:BOOK_LICENSE.asc-----}}}// 51 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SCFTGU_BOOK 2 | 3 | #### Archives of SystemC From The Ground Up Book Exercises 4 | 5 | Files in this repository are zip archives that are designed to go 6 | with the book: 7 | 8 | - Title **SystemC From Ground Up 2nd Edition** 9 | - Copyright 2010 10 | - Authored by David Black, Jack Donovan, Bill Bunton and Anna Keist 11 | - Published by Springer 12 | - ISBN-13: 978-1489982667 13 | - ISBN-10: 1489982663 14 | 15 | ![Book cover](https://images.springer.com/sgw/books/medium/9780387699578.jpg) 16 | 17 | #### Use 18 | 19 | Please download and use this information only for use with the book. 20 | 21 | Do **not** redistribute in any form other than to reference this website. 22 | Respect the copyrights of the authors and publishers. 23 | 24 | #### Book Sources 25 | 26 | - Springer 27 | - Amazon 28 | 29 | #### Quotes 30 | 31 | From the currently broken website : 32 | 33 | > This new edition of an industry best seller is updated to reflect the 34 | > standardization of SystemC as IEEE 1666 and other improvements that reflect 35 | > feedback from readers of the first edition. The wide ranging feedback also 36 | > include suggestions from editors of the Japanese and Korean language 37 | > translations, professors and students, and computer engineers from a broad 38 | > industrial and geographical spectrum, all who have successfully used the first 39 | > edition. 40 | 41 | > New chapters have been added on the SystemC Verification Library and the 42 | > Transaction Level Modeling, and proposed changes to the current SystemC 43 | > standard. 44 | 45 | > David Black and Jack Donovan, well known consultants in the EDA industry, have 46 | > teamed with Bill Bunton and Anna Keist, experienced SystemC modeling 47 | > engineers, to write the second edition of this highly popular classic. As 48 | > a team the authors bring over 100 years of ASIC and system design experience 49 | > together to make a very readable introduction to SystemC. 50 | 51 | #### Notes 52 | 53 | - The 2007 version of the file may have issues with current C++ and/or SystemC versions; 54 | however, we assume the reader can word this out for themselves. 55 | 56 | - The authors were working on a revised version of this material compliant with the latest 57 | versions of C++ and SystemC in the sense of updating the coding style; however, given their 58 | other obligations, we can make no promises and you should not plan on waiting for this. 59 | Writing to the authors about this will only slow down progress unless you yourself wish to 60 | do some of the work (see note). Please understand, we do not profit from this effort and we 61 | have families to support. 62 | 63 | - These exercises will also work for the first edition of the book if you happen to have 64 | that version. 65 | 66 | - In any case, anybody with a good grasp of C++ should be able to get through the book with 67 | no particular difficulties. 68 | 69 | #### Updating goals 70 | 71 | Note: If you wish to help with the update (and we will acknowledge your help), you should 72 | probably already be familiar with SystemC. More importantly, you need to be proficient with 73 | the C++11 and C++14 versions of the standard. Much existing SystemC was written with to 74 | match C++03. 75 | 76 | Here is a subset of things we wish to improve with modern C++. None of this changes the 77 | underlying principles of SystemC itself nor the lessons existing exercises have. 78 | 79 | - Use uniform initialization to simply constructors 80 | 81 | - Use user-defined literals to make time represenations more readable 82 | 83 | - Automatic variable type inference to simplify typing 84 | 85 | - Range based for-loops where appropriate 86 | 87 | - Possibly add a few more examples. 88 | 89 | #### The end 90 | --------------------------------------------------------------------------------