Compare commits

...

191 Commits

Author SHA1 Message Date
Eyck Jentzsch 033fa1eede Merge branch 'master' of https://git.minres.com/TGFS/TGC-ISS.git 2023-05-04 22:02:55 +02:00
Eyck Jentzsch 1e73127950 Merge branch 'develop' 2023-05-04 22:02:40 +02:00
Eyck Jentzsch 1437c3b3e6 Merge remote-tracking branch 'origin/master' into develop 2023-05-04 22:01:06 +02:00
Eyck Jentzsch f7350d7b3d updates dbt-rise-tgc 2023-05-04 21:59:59 +02:00
Eyck Jentzsch 460863d7a1 Merge pull request 'adds toplevel README' (!2) from develop into master
Reviewed-on: #2
2023-05-04 21:07:48 +02:00
Eyck Jentzsch 01b0b2231d adds toplevel README 2023-05-04 21:06:49 +02:00
Eyck Jentzsch 33aa2339c8 Merge branch 'develop' 2023-05-04 20:46:03 +02:00
Eyck Jentzsch 0529275428 adds LICENSE file 2023-05-04 20:40:14 +02:00
Eyck Jentzsch 5c9b33f65f updates dbt-rise-tgc 2023-05-04 16:08:53 +02:00
Eyck Jentzsch ef6d996045 updates build settings 2023-05-04 13:25:24 +02:00
Eyck Jentzsch b4a1e2273f removes CoreDSL generator submodule 2023-05-04 13:07:06 +02:00
Eyck Jentzsch 30e67eb0e0 fixes CLIC to match clicinfo description in CLIC spec 11.04.2023 2023-05-02 17:23:13 +02:00
Eyck Jentzsch d987681e88 updates tgc 2023-05-02 11:21:58 +02:00
Eyck Jentzsch 060706c61f updates submodules and Modulefile 2023-05-02 11:14:19 +02:00
Eyck Jentzsch 93d3810a7f updates dbt-rise-tgc 2023-05-01 22:23:53 +02:00
Eyck Jentzsch 1ed5c228bf updates dbt-rise-core 2023-05-01 09:49:48 +02:00
Eyck Jentzsch 824700bd1b changes instrumentation interface 2023-04-28 20:40:36 +02:00
Eyck Jentzsch 312cf3c4da updates build system 2023-04-14 19:35:14 +02:00
Eyck Jentzsch e2cb1697ec updates CMakeLists.txt settings (C++ std, conan remote) 2023-04-13 20:53:59 +02:00
Eyck Jentzsch bf46e5eec7 fixes M/u wrapper to cope with 64bits 2023-04-05 15:40:10 +02:00
Eyck Jentzsch a7f4e93c1d adds changes from latest coredsl description 2023-04-04 16:10:36 +02:00
Eyck Jentzsch c22e85d30d fixes wrong path specs 2023-04-04 10:31:16 +02:00
Eyck Jentzsch f8306b2473 updates privilege wrapper 2023-04-04 09:24:06 +02:00
Eyck Jentzsch 8c00e89bf5 fixes precedence between assignment and declaration values 2023-03-27 13:25:01 +02:00
Eyck Jentzsch 3ec2934fe1 fixes 64bit behavior of CSR regs 2023-03-27 12:05:36 +02:00
Eyck Jentzsch 4bd81ca676 fixes bit size extension rules 2023-03-26 14:44:42 +02:00
Eyck Jentzsch 0bdda6182b fix data width of generated code 2023-03-26 12:12:49 +02:00
Eyck Jentzsch 4e86e71771 fixes mstatus mask 2023-03-25 09:15:20 +01:00
Eyck Jentzsch 76657668fc adds 64bit capability 2023-03-23 07:48:26 +01:00
Eyck Jentzsch 65a5d6b7c1 updates scc 2023-03-21 19:20:38 +01:00
Eyck Jentzsch 4fe8b02f56 updates scc 2023-03-19 20:04:10 +01:00
Eyck Jentzsch a933105f08 updates scc 2023-03-17 11:33:22 +01:00
Eyck Jentzsch 9341523103 fixes m/uintstatus read 2023-03-17 10:51:49 +01:00
Eyck Jentzsch 8a9d1e2b46 fixes m/uintstatus read 2023-03-17 10:23:17 +01:00
Eyck Jentzsch 561bb598f7 implements and fixes CLIC CSR behavior 2023-03-17 09:11:08 +01:00
Eyck Jentzsch 255b8e5d71 fixes wrong array size which led to unintended CSR definitions 2023-03-15 14:16:20 +01:00
Eyck Jentzsch 0d97d02da1 fixes xcause and u-mode clic CSRs 2023-03-15 12:28:07 +01:00
Eyck Jentzsch ad88a71797 removes mscratchcsw from CLIC 2023-03-15 09:07:19 +01:00
Eyck Jentzsch 520b4313ae updates tgc 2023-03-12 07:42:38 +01:00
Eyck Jentzsch c055515f0b fixes CLIC mtvt register behavior 2023-03-11 14:03:47 +01:00
Eyck Jentzsch ccc3253844 updates dbt-rise-tgc 2023-03-11 12:47:26 +01:00
Eyck Jentzsch 6b28548fef updates dbt-rise-tgc 2023-03-11 08:48:22 +01:00
Eyck Jentzsch fb8aabb31c updates iss 2023-03-10 20:42:10 +01:00
Eyck Jentzsch 8a51b233ef update scc 2023-02-18 09:02:28 +01:00
Eyck Jentzsch 616ea16991 updates dbt-rise-tgc 2023-02-17 06:36:58 +01:00
Eyck Jentzsch ef1856957a updates scc and dbt-rise-tgc thus fixing AXI4(L) problems 2023-02-17 06:30:02 +01:00
Eyck Jentzsch d1db9825c9 fixes erroneous bit_sub handling 2023-02-16 13:20:47 +01:00
Eyck Jentzsch 7cf08b9c7b updates dbt-rise-tgc to match latest fast interrupts spec 2023-01-20 16:21:49 +01:00
Eyck Jentzsch 015f03e312 updates dbt-rise-tgc 2023-01-14 17:41:07 +01:00
Maribel Gomez d0b7560c0b adds jsoncpp/1.9.5 2023-01-06 16:29:08 +01:00
Eyck Jentzsch bc2bf6143b updates scc and dbt-rise-tgc 2022-12-12 02:56:09 +01:00
Eyck Jentzsch 4a911a3bd3 updates SCC and dbt-rise-tgc 2022-12-05 09:16:10 +01:00
Eyck Jentzsch 0a49b91436 updates submodules 2022-11-03 20:15:14 +01:00
Eyck Jentzsch e166fd4b9e updates scc 2022-10-15 14:05:40 +02:00
Eyck Jentzsch a4216facfc updates scc 2022-10-15 13:35:37 +02:00
Eyck Jentzsch 63faebadc5 updates iss 2022-10-15 10:47:47 +02:00
Eyck Jentzsch e5854d1707 updates dbt-rise-tgc 2022-10-10 08:59:43 +02:00
Eyck Jentzsch 5b0b2b1d58 updates dbt-rise-tgc 2022-10-08 11:21:13 +02:00
Eyck Jentzsch a5887d015d updates dbt-rise-tgc 2022-10-05 09:00:03 +02:00
Eyck Jentzsch 8196778453 fixes static build 2022-09-28 19:38:19 +02:00
Eyck Jentzsch 436ed6ca08 fixes shared libraries build 2022-09-27 21:16:20 +02:00
Eyck Jentzsch e4d1bb1224 makes code generation configurable 2022-09-27 09:12:12 +02:00
Eyck Jentzsch 76e58eee1c makes boost statically linked 2022-09-26 13:34:05 +02:00
Eyck Jentzsch 43c1c5be88 update dbt-rise-tgc to fix write mask of clic memory mapped registers 2022-09-17 12:16:59 +02:00
Eyck Jentzsch 151cc8cb7c updates scc 2022-09-10 12:56:05 +02:00
Eyck Jentzsch 84ca04427d fixes wrong check for exception 2022-08-31 11:46:29 +02:00
Eyck Jentzsch bfbd4ad271 updates iss generator 2022-08-24 06:53:55 +02:00
Eyck Jentzsch 1e5ddbf1cc updates submodules 2022-08-08 06:35:28 +02:00
Eyck Jentzsch 4a0ad84621 updates scc 2022-08-05 19:55:19 +02:00
Eyck Jentzsch 6e0cbcfdd7 updates dbt-rise-tgc 2022-07-23 14:36:40 +02:00
Eyck Jentzsch 1e11b401f8 fixes cppcheck flagged issues 2022-07-23 13:50:07 +02:00
Eyck Jentzsch da05ec4478 updates scc 2022-07-22 21:37:29 +02:00
Eyck Jentzsch 91a3a35dff updates scc 2022-07-22 08:51:58 +02:00
Eyck Jentzsch 6ec8a1b9cb updates scc 2022-07-14 17:55:09 +02:00
Eyck Jentzsch 0dee6cc485 updtaes tgc_c vm code 2022-07-12 22:34:40 +02:00
Eyck Jentzsch 0d1b7a5cdb updates coredsl generator and generated tgc_c files 2022-07-11 22:59:14 +02:00
Eyck Jentzsch a987e1a12f updates scc 2022-07-08 08:13:26 +02:00
Eyck Jentzsch 8da2a7881b updates scc 2022-07-07 20:08:34 +02:00
Eyck Jentzsch 5c908a29f5 updates scc 2022-07-07 19:24:36 +02:00
Eyck Jentzsch 20ae2af4e5 updates scc 2022-07-07 09:38:03 +02:00
Eyck Jentzsch cb6af695b9 removes instruction decoder 2022-06-20 00:39:47 +02:00
Eyck Jentzsch 0fd9c94067 refactors decoder as separate component 2022-06-19 16:53:00 +02:00
Eyck Jentzsch 41116a975e update dbt-rie-core 2022-06-18 18:05:22 +02:00
Eyck Jentzsch 17241844f8 removes compilation of unneded files 2022-06-10 07:20:04 +02:00
Eyck Jentzsch fb12440c83 add lz4 to ISS standalone build 2022-06-02 08:45:24 +02:00
Eyck Jentzsch 2c8cc745c8 update dbt-rise-tgc 2022-06-02 08:36:15 +02:00
Eyck Jentzsch f0bdfbe970 update dbt-rise-tgc with fixed ISS build 2022-05-31 11:05:49 +02:00
Eyck Jentzsch 9108da6b4a update dbt-rise-tgc 2022-05-30 22:16:03 +02:00
Eyck Jentzsch 8dd499a88f fix generation of non-exception code 2022-05-30 22:04:24 +02:00
Eyck Jentzsch cc9a94c3b8 update dbt-rise-tgc 2022-05-30 14:18:32 +02:00
Eyck Jentzsch 9200a3bbef fix setup to work with previous code gen 2022-05-30 14:08:33 +02:00
Eyck Jentzsch 8da5dc278d update to pull in unified src layout 2022-05-30 07:49:50 +02:00
Eyck Jentzsch 56435e44ec fix exception handling for memory debug accesses 2022-05-13 17:02:06 +02:00
Eyck Jentzsch cf7ed3e752 update to latest CoreDSL generator and SCC 2022-05-11 18:55:30 +02:00
Eyck Jentzsch 8f1cadfacf update SCC 2022-05-10 16:17:24 +02:00
Eyck Jentzsch 4661129b8b update generate script 2022-05-10 16:13:56 +02:00
Eyck Jentzsch fd037c1b40 update dbt-rise-tgc 2022-05-08 15:27:22 +02:00
Eyck Jentzsch 6cec3f1634 update tgc and scc 2022-05-07 17:22:47 +02:00
Eyck Jentzsch e4c2d3083b update iss 2022-04-29 17:40:48 +02:00
Eyck Jentzsch 6f1813d153 extend instrumentation interface 2022-04-26 17:14:46 +02:00
Eyck Jentzsch d9986b66c9 update scc to latest 2022-04-24 16:28:32 +02:00
Eyck Jentzsch 1a8566be34 Merge branch 'develop' 2022-04-23 17:17:06 +02:00
Eyck Jentzsch b4ac62ab5a update TGC and SCC 2022-04-13 11:42:18 +02:00
Eyck Jentzsch 60d0cef378 update iss 2022-04-13 07:50:44 +02:00
Eyck Jentzsch 933747abb7 update scc 2022-04-12 10:30:55 +02:00
Eyck Jentzsch d1fdd972e0 update submodules 2022-04-10 18:56:01 +02:00
Eyck Jentzsch a51173c4a8 update submodules and locations 2022-04-09 14:55:56 +02:00
Eyck Jentzsch 92d3c75db0 update iss/scc 2022-04-06 20:55:18 +02:00
Eyck Jentzsch a66d15e69e update scc 2022-04-06 07:30:13 +02:00
Eyck Jentzsch 4bcf6ebc08 update scc 2022-04-05 13:34:16 +02:00
Eyck Jentzsch f5d4598162 update coredsl generator 2022-04-01 22:25:08 +02:00
Eyck Jentzsch 74e08ae011 update coredsl generator 2022-04-01 21:36:03 +02:00
Eyck Jentzsch 34dd7db4fe adapt mip reg to privileged spec 2022-03-31 20:33:45 +02:00
Eyck Jentzsch 20cf5796ad update dbt-rise-tgc 2022-03-28 14:10:59 +02:00
Eyck Jentzsch 64e55dc7d5 update dbt-rise-tgc 2022-03-27 20:51:36 +02:00
Eyck Jentzsch aa2fc8c99b remove mcounteren in M-mode only wrapper 2022-03-27 17:21:55 +02:00
Eyck Jentzsch 80f8da4e31 add TCM 2022-03-27 15:52:42 +02:00
Eyck Jentzsch 8564228d46 add TGC_X with DMR 2022-03-26 10:48:31 +01:00
Eyck Jentzsch 9465b2c7e3 add HWL csr access and update env 2022-03-25 11:34:21 +01:00
Eyck Jentzsch a02492db51 update dbt-rise-tgc 2022-03-20 17:43:13 +01:00
Eyck Jentzsch 5ed197ef1b update coredsl 2022-03-19 08:45:26 +01:00
Eyck Jentzsch 825e2afd4d add TGC_A fixes 2022-03-14 15:38:46 +01:00
Eyck Jentzsch 9ee6d6f09b update generator 2022-03-09 21:54:17 +01:00
Eyck Jentzsch 6d4bc98651 update coredsl generator implementation 2022-03-09 21:26:44 +01:00
Eyck Jentzsch 4dc6de3625 change interpreter structure and update CoreDSL generator to v2.0.2 2022-03-06 15:13:29 +01:00
Eyck Jentzsch 47e6582498 update coredsl generator 2022-03-06 10:41:56 +01:00
Eyck Jentzsch fe0e4571ec update iss (cleanup) 2022-02-14 20:36:28 +01:00
Eyck Jentzsch c2484b8ec8 update generator 2022-02-14 11:10:57 +01:00
Eyck Jentzsch 557829a975 Merge branch 'tmp2' into develop 2022-02-11 17:25:53 +01:00
Eyck Jentzsch 6c47979039 update submodules and paths 2022-02-11 17:21:26 +01:00
Eyck Jentzsch 69131bb324 update submodule paths 2022-02-11 17:07:15 +01:00
Eyck Jentzsch 40d93d5df4 update submodules 2022-02-09 21:03:13 +01:00
Eyck Jentzsch 41f1b30d42 update scc 2022-02-06 17:00:23 +01:00
Eyck Jentzsch 0f9deb24c7 update scc 2022-02-05 11:21:39 +01:00
Eyck Jentzsch 6566148975 update iss 2022-02-02 21:34:37 +01:00
Eyck Jentzsch 1ed351f199 update generation mechanism 2022-02-01 21:50:16 +01:00
Eyck Jentzsch b5d154c04d fix ISS standalone build 2022-02-01 07:51:00 +01:00
Eyck Jentzsch 28da255535 update submodules 2022-01-31 23:51:07 +01:00
Eyck Jentzsch d7ef4b4728 update scc 2022-01-31 10:45:46 +01:00
Eyck Jentzsch bf3e5fab4d update coredsl 2022-01-13 17:18:06 +01:00
Eyck Jentzsch 0a931d4f0f add spawn block generation and use capability 2022-01-12 07:22:00 +01:00
Eyck Jentzsch c87b68e006 update scc 2021-12-31 15:02:23 +01:00
Eyck Jentzsch d3fab7306c update scc 2021-12-30 19:42:25 +01:00
Eyck Jentzsch 6beef03e5f update scc 2021-12-10 17:15:03 +01:00
Eyck Jentzsch 705e100bb0 update tgfs 2021-12-05 08:46:00 +01:00
Eyck Jentzsch f829d18635 update scc 2021-12-05 08:15:20 +01:00
Eyck Jentzsch 42f8642234 update scc 2021-12-03 11:42:53 +01:00
Eyck Jentzsch f84ada1347 update scc 2021-12-03 10:58:25 +01:00
Eyck Jentzsch e95a5782ce fix max irq inconsistency and make it configurable 2021-12-01 16:25:33 +01:00
Eyck Jentzsch da76464bd2 update coredsl generator 2021-11-28 15:15:13 +01:00
Eyck Jentzsch 7e45a0afe2 update coredsl repo 2021-11-28 13:06:22 +01:00
Eyck Jentzsch ba8be555ec update tgfs for RB delivery 2021-11-26 17:56:58 +01:00
Eyck Jentzsch 91e2329abb update scc 2021-11-24 08:56:51 +01:00
Eyck Jentzsch cdae9e75f8 fix clic_cfg access scheme 2021-11-17 07:59:24 +01:00
Eyck Jentzsch f13ac8e652 cleanup descriptions 2021-11-15 09:31:17 +01:00
Eyck Jentzsch 4b0c42c1bf update tgfs to include ebreak fix 2021-11-13 12:48:07 +01:00
Eyck Jentzsch 3dc98ed21e update tgfs 2021-11-12 08:17:15 +01:00
Eyck Jentzsch c15fef05d0 Merge branch 'develop' 2021-11-11 20:11:21 +01:00
Eyck Jentzsch d2ca747507 add TGC_D_XRB_NN definition 2021-11-11 12:16:48 +01:00
Eyck Jentzsch 4619016f01 update tgfs 2021-11-11 09:58:33 +01:00
Eyck Jentzsch 248cb2ac21 update scc and tgfs 2021-11-11 08:36:07 +01:00
Eyck Jentzsch b5d6a0e4d3 update tgfs 2021-11-09 19:47:51 +01:00
Eyck Jentzsch 9523b275a6 update tgfs 2021-11-09 16:17:02 +01:00
Eyck Jentzsch b64ac814c1 update tgfs 2021-11-08 10:44:49 +01:00
Eyck Jentzsch db3a373abb update tgfs 2021-11-07 17:49:35 +01:00
Eyck Jentzsch c62a633685 update tgfs 2021-11-07 16:45:26 +01:00
Eyck Jentzsch 300e3d86d6 add proper handling of store access fault (hart_mu_p) 2021-11-06 13:29:47 +01:00
Eyck Jentzsch e62a67cfdb change build setup to only generate files during cmake if in CI 2021-11-04 08:53:06 +01:00
Eyck Jentzsch c842327546 update submodules 2021-11-02 15:10:37 +01:00
Eyck Jentzsch dd483ccc22 update submodules 2021-11-02 11:25:50 +01:00
Eyck Jentzsch e7a84e2afe update tgfs 2021-10-30 13:37:50 +02:00
Eyck Jentzsch e9baa5be0f update dbt-core and tgfs 2021-10-30 12:59:53 +02:00
Eyck Jentzsch f0bce2fc13 update tgfs 2021-10-21 22:54:11 +02:00
Eyck Jentzsch 48d925a229 update dbt-core 2021-10-17 12:32:18 +02:00
Eyck Jentzsch fda630a893 update to SCC changes 2021-10-17 12:26:48 +02:00
Eyck Jentzsch 81aa30224b fix YAML generation 2021-10-01 23:49:26 +02:00
Eyck Jentzsch ec831d2da1 fix typo 2021-10-01 13:18:38 +02:00
Eyck Jentzsch cdf6954ee5 add instruction YAML generation to build flow 2021-10-01 13:06:42 +02:00
Eyck Jentzsch 2d8acfdbe1 update tgfs to fix unaligned access behavior and marchid setting 2021-09-30 19:29:10 +02:00
Eyck Jentzsch aed35a1c25 update coredsl generator 2021-09-29 01:21:44 +02:00
Eyck Jentzsch c4a6a77002 fix JALR alignment in description 2021-09-29 00:45:56 +02:00
Eyck Jentzsch 552a4a1be6 add instruction alignment setting 2021-09-29 00:04:28 +02:00
Eyck Jentzsch 1781adc5c7 fix script options to make consistent 2021-09-23 21:12:14 +02:00
Eyck Jentzsch 04ebd82f18 add support for non-compressed ISA 2021-09-23 21:10:17 +02:00
Eyck Jentzsch 8200b5d948 update tgfs 2021-09-21 16:52:56 +02:00
Eyck Jentzsch d0cae79b35 cleanup cmake version requirements 2021-09-18 17:28:17 +02:00
Eyck Jentzsch 7ccc443ee4 remove mcounteren in M-mode only platform 2021-09-18 11:40:33 +02:00
Eyck Jentzsch 8e8ca9e2e7 cleanup conan setup 2021-09-17 07:58:14 +02:00
Eyck Jentzsch d92fa7813e remove left-over in CMakeLists.txt 2021-09-06 14:27:37 +02:00
Eyck Jentzsch 9659d17496 update build system and add tgc_c_xrb_mac option 2021-09-04 13:05:47 +02:00
Eyck Jentzsch 163d9406d1 adapt to changed toplevel core description file names 2021-09-04 12:48:55 +02:00
17 changed files with 304 additions and 193 deletions

View File

@ -16,9 +16,12 @@
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1336041151.1615713914" name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1297474963" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1141103737" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
<builder buildPath="/TGC-ISS/build/Debug" id="de.marw.cdt.cmake.core.genscriptbuilder.1100382234" keepEnvironmentInBuildfile="false" name="CMake Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="de.marw.cdt.cmake.core.genscriptbuilder"/>
<builder buildPath="/TGC-ISS/_build/Debug" id="cmake4eclipse.mbs.builder.1823257054" parallelBuildOn="false" superClass="cmake4eclipse.mbs.builder"/>
<tool id="cdt.managedbuild.tool.gnu.archiver.base.740869785" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1934077203" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.1599133325" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="CWR_SYSTEMC=1"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.17118862" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1699395860" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
@ -42,10 +45,77 @@
<storageModule buildDir="build/${ConfigName}" moduleId="de.marw.cdt.cmake.core.settings">
<options/>
<defs>
<def name="ENABLE_CODEGEN" type="BOOL" val="ON"/>
<def name="CMAKE_BUILD_TYPE" type="STRING" val="${ConfigName}"/>
</defs>
</storageModule>
<storageModule dirtyTs="1681454842738" moduleId="de.marw.cmake4eclipse.mbs.settings">
<options/>
<defs>
<def name="CMAKE_BUILD_TYPE" type="STRING" val="Debug"/>
<def name="USE_CWR_SYSTEM" type="BOOL" val="ON"/>
<def name="BUILD_SHARED_LIBS" type="BOOL" val="ON"/>
<def name="CODEGEN" type="BOOL" val="OFF"/>
<def name="CMAKE_INSTALL_PREFIX" type="FILEPATH" val="${ProjDirPath}/install"/>
</defs>
</storageModule>
</cconfiguration>
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338" moduleId="org.eclipse.cdt.core.settings" name="Debug-PA">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338" name="Debug-PA" optionalBuildProperties="" parent="org.eclipse.cdt.build.core.emptycfg">
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1293780030" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1970512769" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
<builder buildPath="/TGC-ISS/_build/Debug-PA" id="cmake4eclipse.mbs.builder.928900702" keepEnvironmentInBuildfile="false" name="CMake Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cmake4eclipse.mbs.builder"/>
<tool id="cdt.managedbuild.tool.gnu.archiver.base.207730824" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1262643605" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.766346102" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="CWR_SYSTEMC=1"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1887588287" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.934550669" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.435160258" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.1246571083" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1000595204" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1443403714" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="cdt.managedbuild.tool.gnu.assembler.base.1058800350" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1915245436" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule buildDir="build/${ConfigName}" moduleId="de.marw.cdt.cmake.core.settings">
<options/>
<defs>
<def name="CMAKE_BUILD_TYPE" type="STRING" val="${ConfigName}"/>
</defs>
</storageModule>
<storageModule dirtyTs="1681455316836" moduleId="de.marw.cmake4eclipse.mbs.settings">
<options/>
<defs>
<def name="CMAKE_BUILD_TYPE" type="STRING" val="Debug"/>
<def name="USE_CWR_SYSTEMC" type="BOOL" val="ON"/>
<def name="BUILD_SHARED_LIBS" type="BOOL" val="ON"/>
<def name="CODEGEN" type="BOOL" val="OFF"/>
<def name="CMAKE_INSTALL_PREFIX" type="FILEPATH" val="${ProjDirPath}/install"/>
</defs>
</storageModule>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
@ -53,6 +123,9 @@
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Debug-PA">
<resource resourceType="PROJECT" workspacePath="/TGC-ISS"/>
</configuration>
<configuration configurationName="Default">
<resource resourceType="PROJECT" workspacePath="/TGC-ISS"/>
</configuration>
@ -70,4 +143,5 @@
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cproject>

6
.gitignore vendored
View File

@ -1,3 +1,7 @@
/build/
/Debug/
.settings
.settings
/.venv
/Debug-PA/
/_build/
/install/

15
.gitmodules vendored
View File

@ -1,12 +1,9 @@
[submodule "scc"]
path = scc
url = https://github.com/Minres/SystemC-Components.git
[submodule "tgfs"]
path = tgfs
url = https://git.minres.com/DBT-RISE/DBT-RISE-TGFS.git
[submodule "dbt-core"]
path = dbt-core
url = https://git.minres.com/DBT-RISE/DBT-RISE-Core.git
[submodule "coredsl"]
path = coredsl
url = https://git.minres.com/DBT-RISE/CoreDSL.git
[submodule "dbt-rise-core"]
path = dbt-rise-core
url = https://github.com/Minres/DBT-RISE-Core.git
[submodule "dbt-rise-tgc"]
path = dbt-rise-tgc
url = https://git.minres.com/DBT-RISE/DBT-RISE-TGC.git

View File

@ -30,4 +30,15 @@
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
</natures>
<filteredResources>
<filter>
<id>1683227853345</id>
<name></name>
<type>10</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-install</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>

View File

@ -1,19 +1,20 @@
cmake_minimum_required(VERSION 3.12)
cmake_minimum_required(VERSION 3.16)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_CURRENT_SOURCE_DIR}/scc/cmake)
project(TGFS-ISS VERSION 1.0.0 LANGUAGES CXX)
option(CODEGEN "enable generation of ISS code" ON)
set(CORE_NAME TGC_C CACHE STRING "The core to build the ISS for" )
set(WITH_LLVM FALSE CACHE BOOL "Build LLVM based backend")
include(GNUInstallDirs)
include(Conan)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_INSTALL_RPATH "${ORIGIN}")
include(CheckCXXCompilerFlag)
include(GNUInstallDirs)
CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE)
if(COMPILER_SUPPORTS_MARCH_NATIVE)
@ -33,9 +34,93 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
set(warnings "/W4 /WX /EHsc")
endif()
setup_conan(TARGETS)
include(ConanInline)
if(BUILD_SHARED_LIBS)
set(SHARED_FLAG "True")
else()
set(SHARED_FLAG "False")
endif()
set(CONAN_BOOST_OPTIONS
boost:fPIC=True
boost:shared=${SHARED_FLAG}
boost:header_only=False
boost:without_contract=True
boost:without_graph=True
boost:without_graph_parallel=True
boost:without_iostreams=True
boost:without_json=True
boost:without_locale=True
boost:without_log=True
boost:without_math=True
boost:without_mpi=True
boost:without_nowide=True
boost:without_python=True
boost:without_random=True
boost:without_regex=True
boost:without_stacktrace=True
boost:without_test=True
boost:without_timer=True
boost:without_type_erasure=True
boost:without_wave=True
)
set(B2_VERSION 4.9.3)
set(CONAN_PACKAGE_LIST
fmt/8.0.1
spdlog/1.9.2
boost/1.75.0
gsl-lite/0.37.0
elfio/3.8
tcc/0.9.27
lz4/1.9.3
yaml-cpp/0.7.0
jsoncpp/1.9.5
)
set(CONAN_PACKAGE_OPTIONS fmt:header_only=True ${CONAN_BOOST_OPTIONS})
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
list(APPEND CONAN_PACKAGE_OPTIONS lua:compile_as_cpp=False)
list(APPEND CONAN_PACKAGE_LIST tcc/0.9.27 seasocks/1.4.4 lua/5.4.3)
endif()
if(NOT USE_CWR_SYSTEMC AND NOT USE_NCSC_SYSTEMC AND NOT DEFINED ENV{SYSTEMC_HOME})
set(CONAN_PACKAGE_LIST ${CONAN_PACKAGE_LIST}
systemc/2.3.3
systemc-cci/1.0.0
)
set(CONAN_PACKAGE_OPTIONS ${CONAN_PACKAGE_OPTIONS}
systemc:shared=${SHARED_FLAG}
systemc-cci:shared=${SHARED_FLAG}
)
endif()
conan_check()
conan_add_remote(NAME minres URL https://git.minres.com/api/packages/Tooling/conan)
# Boost on CentOS 7 quirks: the b2 of conan-center is build against a newer libstdc++ and therefore does not run
# with the oooooold libs on CentOS 7. Therefore we build our own version of b2 if it is not there
set(B2_META $ENV{HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
if(DEFINED ENV{CONAN_USER_HOME})
set(B2_META $ENV{CONAN_USER_HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
endif()
if(NOT EXISTS ${B2_META})
conan_configure(REQUIRES b2/${B2_VERSION})
conan_cmake_autodetect(settings)
conan_cmake_install(PATH_OR_REFERENCE . BUILD b2 SETTINGS ${settings})
endif()
# Boost on CentOS 7 quirks end
conan_cmake_configure(REQUIRES ${CONAN_PACKAGE_LIST}
GENERATORS cmake_find_package
OPTIONS ${CONAN_PACKAGE_OPTIONS}
)
conan_cmake_autodetect(settings)
conan_install()
set(CONAN_CMAKE_SILENT_OUTPUT ON)
find_package(tcc QUIET)
find_package(elfio)
find_package(fmt)
find_package(spdlog)
find_package(gsl-lite)
# This line finds the boost lib and headers.
set(Boost_NO_BOOST_CMAKE ON) # Don't do a find_package in config mode before searching for a regular boost install.
set(BOOST_ROOT ${CONAN_BOOST_ROOT})
find_package(Threads)
@ -56,10 +141,7 @@ if (ENABLE_CLANG_TIDY)
endif()
endif()
include(CodeGen)
gen_coredsl(${CORE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/tgfs/gen_input/TGFS.core_desc interp)
add_subdirectory(dbt-core)
add_subdirectory(dbt-rise-core)
add_subdirectory(scc)
add_subdirectory(tgfs)
add_subdirectory(dbt-rise-tgc)

29
LICENSE Normal file
View File

@ -0,0 +1,29 @@
BSD 3-Clause License
Copyright (c) 2016, MINRES Technologies GmbH
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@ -13,21 +13,9 @@ if { $distro == "CentOS" && ![info exists ::env(PROJECT)] && ![info exists ::env
puts stderr "Don't forget to execute 'scl enable devtoolset-7 bash'"
}
if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt/] != 1} {
puts stderr "Please install java via 'sdk install java 11.0.9.hs-adpt'!"
prereq java/11.0.9
} else {
prepend-path PATH $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt/bin
}
if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidates/maven/3.6.3] != 1} {
puts stderr "Please install mvn via 'sdk install maven 3.6.3'!"
prereq maven/3.6.3
} else {
prepend-path PATH $::env(HOME)/.sdkman/candidates/sbt/1.4.4/bin
}
module load tools/cmake tools/gcc-riscv64/9.2.0
module load tools/cmake
#module load tools/gcc-riscv64/9.2.0
module load tools/gcc-riscv32-unknown-elf/11
setenv PROJECT TGFS-ISS

78
README.md Normal file
View File

@ -0,0 +1,78 @@
# TGC-ISS
The ISS for the cores of The Good Folk Series (TGFS) of MINRES.
This ISS is based in DBT-RISE, a library to allow rapid ISS creation.
## Quick start
* you need to have a C++14 capable compiler, make or ninja, python, and cmake installed
### common setup
* install conan.io (see also http://docs.conan.io/en/latest/installation.html):
```
pip3 install --user conan==1.59
```
Another option is to use a Python VENV to isolate the used models from the system.
In case of please run:
```sh
python -mvenv .venv
source .venv/bin/activate
pip3 install conan==1.59
```
Using conan for the first time you need to create a profile:
```
conan profile create default --detect
```
* checkout source from git
```sh
git clone --recursive -b develop https://git.minres.com/TGFS/TGC-ISS.git
```
### Accellera SystemC build
* start an out-of-source build:
```
cd TGC-ISS
cmake -S . -B build/Debug
cmake --build build/Debug -j10
```
### Synopsys Platform Architect build
Assuming environment for Platform Architect is properly set up.
```
cd TGC-ISS/
export TGFS_INSTALL_ROOT `pwd`/install
export SNPS_ENABLE_MEM_ON_DEMAND_IN_GENERIC_MEM=1
export CC=$COWAREHOME/SLS/linux/common/bin/gcc
export CXX=$COWAREHOME/SLS/linux/common/bin/g++
cmake -S . -B build/PA -DCMAKE_BUILD_TYPE=Debug -DUSE_CWR_SYSTEMC=ON \
-DBUILD_SHARED_LIBS=ON -DCODEGEN=OFF -DCMAKE_INSTALL_PREFIX=${TGFS_INSTALL_ROOT}
cmake --build build/PA --target install -j16
```
Now you may change to dbt-rise-tgc/contrib to import the core model

View File

@ -1,110 +0,0 @@
cmake_minimum_required(VERSION 3.11)
option(ENABLE_CODEGEN "Enable code generation for supported cores" ON)
set(ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/..)
set(DBT_CORE_TGC_DIR ${ROOT_DIR}/tgfs)
#helper to setup code generation and generate outputs
set(GENERATOR_JAR ${ROOT_DIR}/coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar)
if(EXISTS ${ROOT_DIR}/coredsl/pom.xml AND NOT EXISTS ${GENERATOR_JAR})
execute_process(
COMMAND mvn package
WORKING_DIRECTORY ${ROOT_DIR}/coredsl
OUTPUT_VARIABLE StdOut
ERROR_VARIABLE StdErr
RESULT_VARIABLE Status
ERROR_QUIET)
if(Status AND NOT Status EQUAL 0)
message(STATUS "mvn package call failed: ${Status}, ${StdOut}, ${StdErr}")
endif()
endif()
set(JAVA_OPTS --add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED
--add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED
--add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED
--add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED
--add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED
--add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED
--add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED
--add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED
--add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED
--add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
--add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED
--add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED
--add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED
--add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED
--add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED
--add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED
--add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED
--add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED
--add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED
--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED
--add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED
--add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED
--add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED
--add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED
--add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED
--add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED)
set(GENERATOR java ${JAVA_OPTS} -jar ${GENERATOR_JAR})
set(INPUT_DIR ${DBT_CORE_TGC_DIR}/gen_input)
set(REPO_DIR ${DBT_CORE_TGC_DIR}/gen_input/CoreDSL-Instruction-Set-Description)
set(TMPL_DIR ${DBT_CORE_TGC_DIR}/gen_input/templates/)
if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR})
macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND)
message(STATUS "Adding generation steps for ${CORE_NAME} in ${DBT_CORE_TGC_DIR} for ${BACKEND}")
string(TOUPPER ${BACKEND} BE_UPPER)
string(TOLOWER ${CORE_NAME} CORE_NAMEL)
if(EXISTS ${DBT_CORE_TGC_DIR}/generate.sh AND NOT EXISTS ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h)
# make sure source file exist initially
execute_process(
COMMAND /bin/bash ${DBT_CORE_TGC_DIR}/../generate.sh $CORE_NAME $BACKEND
WORKING_DIRECTORY ${DBT_CORE_TGC_DIR}/..
RESULT_VARIABLE return_code)
endif()
list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h")
list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp")
list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp")
set(${CORE_NAME}_OUTPUT_FILES ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp ${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp)
#add_custom_command(
# COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE}
# DEPENDS ${GENERATOR_JAR} ${INPUT_FILE} ${TMPL_DIR}/CORENAME.h.gtl ${TMPL_DIR}/CORENAME.cpp.gtl ${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl
# OUTPUT ${${CORE_NAME}_OUTPUT_FILES}
# COMMENT "Generating code for ${CORE_NAME}."
# USES_TERMINAL VERBATIM
#)
#add_custom_target(${CORE_NAME}_cpp DEPENDS ${${CORE_NAME}_OUTPUT_FILES})
add_custom_target(${CORE_NAME}_cpp
COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE}
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
COMMENT "Generating ISS sources"
BYPRODUCTS ${${CORE_NAME}_OUTPUT_FILES}
USES_TERMINAL
)
execute_process(
COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE}
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE return_code)
endmacro()
else()
macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND)
add_custom_target(${CORE_NAME}_cpp)
message(STATUS "Not adding generation steps for ${CORE_NAME}(${ENABLE_CODEGEN}, ${GENERATOR_JAR})")
if(NOT EXISTS ${GENERATOR_JAR})
message(STATUS "CoreDSL Generator ${GENERATOR_JAR} does not exists")
endif()
endmacro()
endif()

View File

@ -1,16 +0,0 @@
[requires]
fmt/6.1.2
zlib/1.2.11
boost/1.75.0
gsl-lite/0.37.0
elfio/3.8
tcc/0.9.27
[generators]
cmake
[options]
boost:fPIC=True
boost:shared=False
boost:header_only=False
fmt:header_only=True

@ -1 +0,0 @@
Subproject commit 62d95f8b3cb647d4ead94bfc4c79b48fe8cfdedd

@ -1 +0,0 @@
Subproject commit 95267382cf7c6d95bd7d9fc4d5910fefd09e51c3

1
dbt-rise-core Submodule

@ -0,0 +1 @@
Subproject commit fa6166ae43b90d4263e9d50402a055d6172ccb69

1
dbt-rise-tgc Submodule

@ -0,0 +1 @@
Subproject commit d330307ed5fe7cae9c01bd875194e31f28cbe6d1

View File

@ -1,25 +0,0 @@
#!/bin/bash
##
JAVA_OPTS="--add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED"
GENERATOR="java $JAVA_OPTS -jar coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar "
CORE_NAME=$1
BACKEND=$2
CORE_NAME_LC=`echo $CORE_NAME | tr '[:upper:]' '[:lower:]' `
INPUT_FILE=tgfs/gen_input/TGFS.core_desc
REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description
TMPL_DIR=tgfs/gen_input/templates/interp
MAPPING=""
MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.h.gtl:tgfs/incl/iss/arch/${CORE_NAME_LC}.h"
MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.cpp.gtl:tgfs/src/iss/${CORE_NAME_LC}.cpp"
MAPPING="$MAPPING -m ${TMPL_DIR}/vm_CORENAME.cpp.gtl:tgfs/src/vm/${BACKEND}/vm_${CORE_NAME_LC}.cpp"
[ -f coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package)
$GENERATOR -c $CORE_NAME -r $REPO_DIR $MAPPING $INPUT_FILE

2
scc

@ -1 +1 @@
Subproject commit 9919e5a350e79ad4a5e9b4b573b4680af0fde05b
Subproject commit dfb06a90801b3a7e55b5d4a03d8f161a26063a1c

1
tgfs

@ -1 +0,0 @@
Subproject commit 9c8b72693e1654ef016b57099f87b59b7b44e244