diff --git a/LICENSE b/LICENSE index b2b1ff22b..3a2b87e2d 100644 --- a/LICENSE +++ b/LICENSE @@ -1,11 +1,176 @@ -All rights reserved. +SOLDERPAD HARDWARE LICENSE version 0.51 -This code is under development and not yet released to the public. -Until it is released, the code is under the copyright of ETH Zurich and -the University of Bologna, and may contain confidential and/or unpublished -work. Any reuse/redistribution is strictly forbidden without written -permission from ETH Zurich. -Bug fixes and contributions will eventually be released under the -SolderPad open hardware license in the context of the PULP platform -(http://www.pulp-platform.org), under the copyright of ETH Zurich and the -University of Bologna. \ No newline at end of file +This license is based closely on the Apache License Version 2.0, but is not +approved or endorsed by the Apache Foundation. A copy of the non-modified +Apache License 2.0 can be found at http://www.apache.org/licenses/LICENSE-2.0. + +As this license is not currently OSI or FSF approved, the Licensor permits any +Work licensed under this License, at the option of the Licensee, to be treated +as licensed under the Apache License Version 2.0 (which is so approved). + +This License is licensed under the terms of this License and in particular +clause 7 below (Disclaimer of Warranties) applies in relation to its use. + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +“License” shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +“Licensor” shall mean the Rights owner or entity authorized by the Rights owner +that is granting the License. + +“Legal Entity” shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, “control” means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +“You” (or “Your”) shall mean an individual or Legal Entity exercising +permissions granted by this License. + +“Rights” means copyright and any similar right including design right (whether +registered or unregistered), semiconductor topography (mask) rights and +database rights (but excluding Patents and Trademarks). + +“Source” form shall mean the preferred form for making modifications, including +but not limited to source code, net lists, board layouts, CAD files, +documentation source, and configuration files. + +“Object” form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object +code, generated documentation, the instantiation of a hardware design and +conversions to other media types, including intermediate forms such as +bytecodes, FPGA bitstreams, artwork and semiconductor topographies (mask +works). + +“Work” shall mean the work of authorship, whether in Source form or other +Object form, made available under the License, as indicated by a Rights notice +that is included in or attached to the work (an example is provided in the +Appendix below). + +“Derivative Works” shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) or physically connect to or interoperate with the interfaces of, the Work +and Derivative Works thereof. + +“Contribution” shall mean any design or work of authorship, including the +original version of the Work and any modifications or additions to that Work or +Derivative Works thereof, that is intentionally submitted to Licensor for +inclusion in the Work by the Rights owner or by an individual or Legal Entity +authorized to submit on behalf of the Rights owner. For the purposes of this +definition, “submitted” means any form of electronic, verbal, or written +communication sent to the Licensor or its representatives, including but not +limited to communication on electronic mailing lists, source code control +systems, and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but excluding +communication that is conspicuously marked or otherwise designated in writing +by the Rights owner as “Not a Contribution.” + +“Contributor” shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of License. Subject to the terms and conditions of this License, each +Contributor hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable license under the Rights to reproduce, +prepare Derivative Works of, publicly display, publicly perform, sublicense, +and distribute the Work and such Derivative Works in Source or Object form and +do anything in relation to the Work as if the Rights did not exist. + +3. Grant of Patent License. Subject to the terms and conditions of this +License, each Contributor hereby grants to You a perpetual, worldwide, +non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this +section) patent license to make, have made, use, offer to sell, sell, import, +and otherwise transfer the Work, where such license applies only to those +patent claims licensable by such Contributor that are necessarily infringed by +their Contribution(s) alone or by combination of their Contribution(s) with the +Work to which such Contribution(s) was submitted. If You institute patent +litigation against any entity (including a cross-claim or counterclaim in a +lawsuit) alleging that the Work or a Contribution incorporated within the Work +constitutes direct or contributory patent infringement, then any patent +licenses granted to You under this License for that Work shall terminate as of +the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or +Derivative Works thereof in any medium, with or without modifications, and in +Source or Object form, provided that You meet the following conditions: + + You must give any other recipients of the Work or Derivative Works a copy + of this License; and + + You must cause any modified files to carry prominent notices stating that + You changed the files; and + + You must retain, in the Source form of any Derivative Works that You + distribute, all copyright, patent, trademark, and attribution notices from + the Source form of the Work, excluding those notices that do not pertain to + any part of the Derivative Works; and + + If the Work includes a “NOTICE” text file as part of its distribution, then + any Derivative Works that You distribute must include a readable copy of + the attribution notices contained within such NOTICE file, excluding those + notices that do not pertain to any part of the Derivative Works, in at + least one of the following places: within a NOTICE text file distributed as + part of the Derivative Works; within the Source form or documentation, if + provided along with the Derivative Works; or, within a display generated by + the Derivative Works, if and wherever such third-party notices normally + appear. The contents of the NOTICE file are for informational purposes only + and do not modify the License. You may add Your own attribution notices + within Derivative Works that You distribute, alongside or as an addendum to + the NOTICE text from the Work, provided that such additional attribution + notices cannot be construed as modifying the License. You may add Your own + copyright statement to Your modifications and may provide additional or + different license terms and conditions for use, reproduction, or + distribution of Your modifications, or for any such Derivative Works as a + whole, provided Your use, reproduction, and distribution of the Work + otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any +Contribution intentionally submitted for inclusion in the Work by You to the +Licensor shall be under the terms and conditions of this License, without any +additional terms or conditions. Notwithstanding the above, nothing herein shall +supersede or modify the terms of any separate license agreement you may have +executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, +trademarks, service marks, or product names of the Licensor, except as required +for reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in +writing, Licensor provides the Work (and each Contributor provides its +Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied, including, without limitation, any warranties +or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any risks +associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in +tort (including negligence), contract, or otherwise, unless required by +applicable law (such as deliberate and grossly negligent acts) or agreed to in +writing, shall any Contributor be liable to You for damages, including any +direct, indirect, special, incidental, or consequential damages of any +character arising as a result of this License or out of the use or inability to +use the Work (including but not limited to damages for loss of goodwill, work +stoppage, computer failure or malfunction, or any and all other commercial +damages or losses), even if such Contributor has been advised of the +possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or +Derivative Works thereof, You may choose to offer, and charge a fee for, +acceptance of support, warranty, indemnity, or other liability obligations +and/or rights consistent with this License. However, in accepting such +obligations, You may act only on Your own behalf and on Your sole +responsibility, not on behalf of any other Contributor, and only if You agree +to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS diff --git a/riscv-tests b/riscv-tests index d4c936b8c..b253ea66b 160000 --- a/riscv-tests +++ b/riscv-tests @@ -1 +1 @@ -Subproject commit d4c936b8c33b4d3ac98778753f9e938822d1e429 +Subproject commit b253ea66b0f4e30f6ee7abf21a9f082e79224ade diff --git a/riscv-torture b/riscv-torture index f32ccd65c..120d3d7e5 160000 --- a/riscv-torture +++ b/riscv-torture @@ -1 +1 @@ -Subproject commit f32ccd65cab47a024a83fee8f414390e40051677 +Subproject commit 120d3d7e50209b617785d2f4637ba75ae603cfe2 diff --git a/src/alu.sv b/src/alu.sv index f035b9e4e..2d762f7db 100644 --- a/src/alu.sv +++ b/src/alu.sv @@ -1,3 +1,13 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Matthias Baer // Author: Igor Loi // Author: Andreas Traber @@ -6,22 +16,7 @@ // // Date: 19.03.2017 // Description: Ariane ALU -// -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module alu diff --git a/src/ariane.sv b/src/ariane.sv index 141bd2c5a..71d405460 100644 --- a/src/ariane.sv +++ b/src/ariane.sv @@ -1,22 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 19.03.2017 // Description: Ariane Top-level module -// -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; `ifndef verilator `ifndef SYNTHESIS diff --git a/src/branch_unit.sv b/src/branch_unit.sv index 89481f68a..7e88af849 100644 --- a/src/branch_unit.sv +++ b/src/branch_unit.sv @@ -1,22 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 09.05.2017 // Description: Branch target calculation and comparison -// -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module branch_unit ( diff --git a/src/btb.sv b/src/btb.sv index 7c9409d32..a1c854692 100644 --- a/src/btb.sv +++ b/src/btb.sv @@ -1,21 +1,20 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 19.04.2017 // Description: Branch Target Buffer implementation // // Copyright (C) 2017 ETH Zurich, University of Bologna // All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module btb #( diff --git a/src/cache_ctrl.sv b/src/cache_ctrl.sv index d9f5fcccb..10d3a8721 100644 --- a/src/cache_ctrl.sv +++ b/src/cache_ctrl.sv @@ -1,12 +1,22 @@ -/* File: cache_ctrl.svh - * Author: Florian Zaruba - * Date: 14.10.2017 - * - * Copyright (C) 2017 ETH Zurich, University of Bologna - * All rights reserved. - * - * Description: Cache controller - */ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// +// File: cache_ctrl.svh +// Author: Florian Zaruba +// Date: 14.10.2017 +// +// Copyright (C) 2017 ETH Zurich, University of Bologna +// All rights reserved. +// +// Description: Cache controller + import ariane_pkg::*; import nbdcache_pkg::*; diff --git a/src/commit_stage.sv b/src/commit_stage.sv index d8036109a..bf3022b7f 100644 --- a/src/commit_stage.sv +++ b/src/commit_stage.sv @@ -1,21 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 15.04.2017 // Description: Commits to the architectural state resulting from the scoreboard. -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module commit_stage ( diff --git a/src/compressed_decoder.sv b/src/compressed_decoder.sv index c21474f71..aa8764b74 100644 --- a/src/compressed_decoder.sv +++ b/src/compressed_decoder.sv @@ -1,27 +1,21 @@ -//////////////////////////////////////////////////////////////////////////////// -// Copyright (C) 2017 ETH Zurich, University of Bologna // -// All rights reserved. // -// // -// This code is under development and not yet released to the public. // -// Until it is released, the code is under the copyright of ETH Zurich // -// and the University of Bologna, and may contain unpublished work. // -// Any reuse/redistribution should only be under explicit permission. // -// // -// Bug fixes and contributions will eventually be released under the // -// SolderPad open hardware license and under the copyright of ETH Zurich // -// and the University of Bologna. // -// // -// Engineer: Sven Stucki - svstucki@student.ethz.ch // -// // -// Design Name: Compressed instruction decoder // -// Project Name: zero-riscy // -// Language: SystemVerilog // -// // -// Description: Decodes RISC-V compressed instructions into their RV32 // -// equivalent. This module is fully combinatorial. // -// // -//////////////////////////////////////////////////////////////////////////////// - +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. // +// +// Engineer: Sven Stucki - svstucki@student.ethz.ch +// +// Design Name: Compressed instruction decoder +// Project Name: zero-riscy +// Language: SystemVerilog +// +// Description: Decodes RISC-V compressed instructions into their RV32 +// equivalent. This module is fully combinatorial. import ariane_pkg::*; diff --git a/src/controller.sv b/src/controller.sv index f5dd373f6..6b970169f 100644 --- a/src/controller.sv +++ b/src/controller.sv @@ -1,21 +1,16 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 08.05.2017 // Description: Flush controller -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// import ariane_pkg::*; diff --git a/src/csr_buffer.sv b/src/csr_buffer.sv index bb0357395..536acc6f5 100644 --- a/src/csr_buffer.sv +++ b/src/csr_buffer.sv @@ -1,23 +1,18 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 05.05.2017 // Description: Buffer to hold CSR address, this acts like a functional unit // to the scoreboard. -// -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module csr_buffer ( @@ -85,4 +80,4 @@ module csr_buffer ( end end -endmodule \ No newline at end of file +endmodule diff --git a/src/csr_regfile.sv b/src/csr_regfile.sv index 019513b0c..8979b7d6a 100644 --- a/src/csr_regfile.sv +++ b/src/csr_regfile.sv @@ -1,22 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 05.05.2017 // Description: CSR Register File as specified by RISC-V -// -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module csr_regfile #( diff --git a/src/debug_unit.sv b/src/debug_unit.sv index 2172cfbc3..282ff1123 100644 --- a/src/debug_unit.sv +++ b/src/debug_unit.sv @@ -1,22 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 29.06.2017 // Description: Memory Mapped Debug Unit -// -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module debug_unit ( diff --git a/src/decoder.sv b/src/decoder.sv index dab45fc29..641b518bb 100644 --- a/src/decoder.sv +++ b/src/decoder.sv @@ -1,13 +1,23 @@ -/* File: issue_read_operands.sv - * Author: Florian Zaruba - * Date: 8.4.2017 - * - * Copyright (C) 2017 ETH Zurich, University of Bologna - * All rights reserved. - * - * Description: Issues instruction from the scoreboard and fetches the operands - * This also includes all the forwarding logic - */ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// +// File: issue_read_operands.sv +// Author: Florian Zaruba +// Date: 8.4.2017 +// +// Copyright (C) 2017 ETH Zurich, University of Bologna +// All rights reserved. +// +// Description: Issues instruction from the scoreboard and fetches the operands +// This also includes all the forwarding logic +// import ariane_pkg::*; module decoder ( diff --git a/src/ex_stage.sv b/src/ex_stage.sv index 59efca941..940bb9586 100644 --- a/src/ex_stage.sv +++ b/src/ex_stage.sv @@ -1,22 +1,18 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 19.04.2017 // Description: Instantiation of all functional units residing in the execute stage -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module ex_stage #( diff --git a/src/fetch_fifo.sv b/src/fetch_fifo.sv index ed3fb9c51..1ffca8a11 100644 --- a/src/fetch_fifo.sv +++ b/src/fetch_fifo.sv @@ -1,21 +1,16 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 14.05.2017 // Description: Dual Port fetch FIFO with instruction aligner and support for compressed instructions -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// import ariane_pkg::*; diff --git a/src/fifo.sv b/src/fifo.sv index fa96c6fbb..a1d85bd03 100644 --- a/src/fifo.sv +++ b/src/fifo.sv @@ -1,22 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 24.4.2017 // Description: Generic FIFO implementation -// -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + module fifo #( parameter type dtype = logic[63:0], parameter int unsigned DEPTH = 4 diff --git a/src/id_stage.sv b/src/id_stage.sv index 63cf4377f..9ff85a6ae 100644 --- a/src/id_stage.sv +++ b/src/id_stage.sv @@ -1,22 +1,18 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 15.04.2017 // Description: Description: Instruction decode, contains the logic for decode, // issue and read operands. -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module id_stage ( diff --git a/src/if_stage.sv b/src/if_stage.sv index 4cc959594..accbb4f50 100644 --- a/src/if_stage.sv +++ b/src/if_stage.sv @@ -1,21 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 14.05.2017 // Description: Instruction fetch stage -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module if_stage ( diff --git a/src/instr_realigner.sv b/src/instr_realigner.sv index e6666c082..6ca4ff605 100644 --- a/src/instr_realigner.sv +++ b/src/instr_realigner.sv @@ -1,21 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 14.05.2017 // Description: Emits and re-aligns compressed and unaligned instructions -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module instr_realigner ( diff --git a/src/issue_read_operands.sv b/src/issue_read_operands.sv index bec34ca82..bf4a87173 100644 --- a/src/issue_read_operands.sv +++ b/src/issue_read_operands.sv @@ -1,22 +1,18 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 08.04.2017 // Description: Issues instruction from the scoreboard and fetches the operands // This also includes all the forwarding logic -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module issue_read_operands ( diff --git a/src/issue_stage.sv b/src/issue_stage.sv index 093cdd64d..cfdb2c5d7 100644 --- a/src/issue_stage.sv +++ b/src/issue_stage.sv @@ -1,23 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 21.05.2017 // Description: Issue stage dispatches instructions to the FUs and keeps track of them // in a scoreboard like data-structure. -// -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// import ariane_pkg::*; diff --git a/src/load_unit.sv b/src/load_unit.sv index 7d7988639..783908efd 100644 --- a/src/load_unit.sv +++ b/src/load_unit.sv @@ -1,20 +1,16 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 22.05.2017 // Description: Load Unit, takes care of all load requests -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. import ariane_pkg::*; diff --git a/src/lsu.sv b/src/lsu.sv index 5d88d7fa5..6c0bbe085 100644 --- a/src/lsu.sv +++ b/src/lsu.sv @@ -1,21 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 19.04.2017 // Description: Load Store Unit, handles address calculation and memory interface signals -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module lsu #( diff --git a/src/lsu_arbiter.sv b/src/lsu_arbiter.sv index ac8301246..29904821e 100644 --- a/src/lsu_arbiter.sv +++ b/src/lsu_arbiter.sv @@ -1,20 +1,16 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 22.05.2017 // Description: Arbitrates the LSU result port -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. import ariane_pkg::*; diff --git a/src/miss_handler.sv b/src/miss_handler.sv index 5a0bf85ae..419182b10 100644 --- a/src/miss_handler.sv +++ b/src/miss_handler.sv @@ -1,9 +1,20 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// +// Author: Florian Zaruba, ETH Zurich +// Date: 12.11.2017 +// Description: Handles cache misses. + // -------------- // MISS Handler // -------------- -// -// Description: Handles cache misses. -// import nbdcache_pkg::*; module miss_handler #( diff --git a/src/mmu.sv b/src/mmu.sv index 0c6dcd550..b41453a26 100644 --- a/src/mmu.sv +++ b/src/mmu.sv @@ -1,23 +1,18 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 19/04/2017 // Description: Memory Management Unit for Ariane, contains TLB and // address translation unit. SV39 as defined in RISC-V // privilege specification 1.11-WIP -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// import ariane_pkg::*; diff --git a/src/mult.sv b/src/mult.sv index 63cf33596..33a6e3845 100644 --- a/src/mult.sv +++ b/src/mult.sv @@ -1,24 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba -// Author: Pasquale Davide Schiavone // // Date: 05.06.2017 // Description: Ariane Multiplier -// -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// import ariane_pkg::*; diff --git a/src/nbdcache.sv b/src/nbdcache.sv index 977bd4da0..36a9dd230 100644 --- a/src/nbdcache.sv +++ b/src/nbdcache.sv @@ -1,20 +1,16 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 13.10.2017 // Description: Nonblocking private L1 dcache -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. import ariane_pkg::*; import nbdcache_pkg::*; diff --git a/src/pcgen_stage.sv b/src/pcgen_stage.sv index 21213498e..b21770382 100644 --- a/src/pcgen_stage.sv +++ b/src/pcgen_stage.sv @@ -1,21 +1,16 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 20.04.2017 // Description: PC generation stage -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// import ariane_pkg::*; diff --git a/src/perf_counters.sv b/src/perf_counters.sv index c21e3fb4e..6ed69eaea 100644 --- a/src/perf_counters.sv +++ b/src/perf_counters.sv @@ -1,22 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 06.10.2017 // Description: Performance counters -// -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module perf_counters #( diff --git a/src/ptw.sv b/src/ptw.sv index 90d589c5f..1e6cbd717 100644 --- a/src/ptw.sv +++ b/src/ptw.sv @@ -1,22 +1,18 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: David Schaffenrath, TU Graz // Author: Florian Zaruba, ETH Zurich // Date: 24.4.2017 // Description: Hardware-PTW -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + /* verilator lint_off WIDTH */ import ariane_pkg::*; diff --git a/src/regfile.sv b/src/regfile.sv index 286845ed8..c2d378afb 100644 --- a/src/regfile.sv +++ b/src/regfile.sv @@ -1,31 +1,27 @@ -//////////////////////////////////////////////////////////////////////////////// -// Copyright (C) 2017 ETH Zurich, University of Bologna // -// All rights reserved. // -// // -// This code is under development and not yet released to the public. // -// Until it is released, the code is under the copyright of ETH Zurich // -// and the University of Bologna, and may contain unpublished work. // -// Any reuse/redistribution should only be under explicit permission. // -// // -// Bug fixes and contributions will eventually be released under the // -// SolderPad open hardware license and under the copyright of ETH Zurich // -// and the University of Bologna. // -// // -// Engineer: Antonio Pullini - pullinia@iis.ee.ethz.ch // -// // -// Additional contributions by: // -// Sven Stucki - svstucki@student.ethz.ch // -// Markus Wegmann - markus.wegmann@technokrat.ch // -// // -// Design Name: RISC-V register file // -// Project Name: zero-riscy // -// Language: SystemVerilog // -// // -// Description: Register file with 31 or 15x 32 bit wide registers. // -// Register 0 is fixed to 0. This register file is based on // -// latches and is thus smaller than the flip-flop based RF. // -// // -//////////////////////////////////////////////////////////////////////////////// +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// +// Author: Antonio Pullini - pullinia@iis.ee.ethz.ch +// +// Additional contributions by: +// Sven Stucki - svstucki@student.ethz.ch +// Markus Wegmann - markus.wegmann@technokrat.ch +// +// Design Name: RISC-V register file +// Project Name: zero-riscy +// Language: SystemVerilog +// +// Description: Register file with 31 or 15x 32 bit wide registers. +// Register 0 is fixed to 0. This register file is based on +// latches and is thus smaller than the flip-flop based RF. +// module regfile #( diff --git a/src/regfile_ff.sv b/src/regfile_ff.sv index 9de6672b6..9b240f7fa 100644 --- a/src/regfile_ff.sv +++ b/src/regfile_ff.sv @@ -1,30 +1,26 @@ -//////////////////////////////////////////////////////////////////////////////// -// Copyright (C) 2017 ETH Zurich, University of Bologna // -// All rights reserved. // -// // -// This code is under development and not yet released to the public. // -// Until it is released, the code is under the copyright of ETH Zurich // -// and the University of Bologna, and may contain unpublished work. // -// Any reuse/redistribution should only be under explicit permission. // -// // -// Bug fixes and contributions will eventually be released under the // -// SolderPad open hardware license and under the copyright of ETH Zurich // -// and the University of Bologna. // -// // -// Engineer: Francesco Conti - f.conti@unibo.it // -// // -// Additional contributions by: // -// Markus Wegmann - markus.wegmann@technokrat.ch // -// // -// Design Name: RISC-V register file // -// Project Name: zero-riscy // -// Language: SystemVerilog // -// // -// Description: Register file with 31 or 15x 32 bit wide registers. // -// Register 0 is fixed to 0. This register file is based on // -// flip flops. // -// // -//////////////////////////////////////////////////////////////////////////////// +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// +// Engineer: Francesco Conti - f.conti@unibo.it +// +// Additional contributions by: +// Markus Wegmann - markus.wegmann@technokrat.ch +// +// Design Name: RISC-V register file +// Project Name: zero-riscy +// Language: SystemVerilog +// +// Description: Register file with 31 or 15x 32 bit wide registers. +// Register 0 is fixed to 0. This register file is based on +// flip flops. +// module regfile #( diff --git a/src/scoreboard.sv b/src/scoreboard.sv index 7d61c61b0..22610f248 100644 --- a/src/scoreboard.sv +++ b/src/scoreboard.sv @@ -1,22 +1,16 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 08.04.2017 // Description: Scoreboard - keeps track of all decoded, issued and committed instructions -// -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// import ariane_pkg::*; diff --git a/src/store_buffer.sv b/src/store_buffer.sv index 83cad5bf5..b8ce66fe3 100644 --- a/src/store_buffer.sv +++ b/src/store_buffer.sv @@ -1,22 +1,17 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 25.04.2017 // Description: Store queue persists store requests and pushes them to memory // if they are no longer speculative -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// module store_buffer ( input logic clk_i, // Clock diff --git a/src/store_unit.sv b/src/store_unit.sv index 1d7c65fa6..28ef30ad3 100644 --- a/src/store_unit.sv +++ b/src/store_unit.sv @@ -1,20 +1,16 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: Florian Zaruba, ETH Zurich // Date: 22.05.2017 // Description: Store Unit, takes care of all store requests -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. import ariane_pkg::*; diff --git a/src/tlb.sv b/src/tlb.sv index 54f01dfe3..80d35ac75 100644 --- a/src/tlb.sv +++ b/src/tlb.sv @@ -1,23 +1,19 @@ +// Copyright 2018 ETH Zurich and University of Bologna. +// Copyright and related rights are licensed under the Solderpad Hardware +// License, Version 0.51 (the “License”); you may not use this file except in +// compliance with the License. You may obtain a copy of the License at +// http://solderpad.org/licenses/SHL-0.51. Unless required by applicable law +// or agreed to in writing, software, hardware and materials distributed under +// this License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, either express or implied. See the License for the +// specific language governing permissions and limitations under the License. +// // Author: David Schaffenrath, TU Graz // Author: Florian Zaruba, ETH Zurich // Date: 21.4.2017 // Description: Translation Lookaside Buffer, SV39 // fully set-associative -// -// Copyright (C) 2017 ETH Zurich, University of Bologna -// All rights reserved. -// -// This code is under development and not yet released to the public. -// Until it is released, the code is under the copyright of ETH Zurich and -// the University of Bologna, and may contain confidential and/or unpublished -// work. Any reuse/redistribution is strictly forbidden without written -// permission from ETH Zurich. -// -// Bug fixes and contributions will eventually be released under the -// SolderPad open hardware license in the context of the PULP platform -// (http://www.pulp-platform.org), under the copyright of ETH Zurich and the -// University of Bologna. -// + import ariane_pkg::*; module tlb #( diff --git a/tb b/tb index e6e142e75..8f1939982 160000 --- a/tb +++ b/tb @@ -1 +1 @@ -Subproject commit e6e142e7593c4387c7f06c919980f86a8cd8e7e5 +Subproject commit 8f1939982f58bbdc0aa8def5e641c25247ec2fb0