sbowles22
Spencer Bowlesmaintainer
:exclamation: Important Note |
---|
Refer to README for a quickstart of how to use caravel_user_project
Refer to README for this sample project documentation.
Refer to the following readthedocs for how to add cocotb tests to your project.
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ 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 copyright owner or entity authorized by the copyright 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. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, 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, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright 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) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any 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 copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright 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 copyright 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 Copyright 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 copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 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: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) 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 (d) 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 APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the 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.
1 cd ~/OpenLane 2 ls 3 pwd 4 ./init_design.py silly-sythensizer 5 cd designs/silly-sythensizer/ 6 ls 7 ll 8 ll src 9 nano makefile 10 code . 11 nano makefile 12 cd ../.. 13 make mount 14 cd designs/silly-sythensizer/ 15 make sim_time 16 cd ../.. 17 make mount 18 cd designs/silly-sythensizer/ 19 make sim_time 20 cd ../.. 21 make mount 22 cd designs/silly-sythensizer/ 23 make sim_time 24 cd ../. 25 make mount 26 cd designs/silly-sythensizer/ 27 make sim_time 28 cd ../.. 29 make mount 30 cd designs/silly-sythensizer/ 31 make sim_time 32 cd ../.. 33 make mount 34 cd designs/silly-sythensizer/ 35 make sim_time 36 cd ../.. 37 make mount 38 cd designs/silly-sythensizer/ 39 make sim_time 40 cd ../.. 41 make mount 42 cd designs/silly-sythensizer/ 43 make sim_time 44 cd OpenLane/designs/silly-sythensizer/ 45 code . 46 gedit 47 cd OpenLane/designs/silly-sythensizer/ 48 make sim_time 49 nano makefile 50 ls 51 nano includes_gl_sdf 52 gedit includes_gl_sdf 53 make sim_time 54 nano src/tb_silly_synthesizer.v 55 vim src/tb_silly_synthesizer.v 56 cd .. 57 make mount 58 cd designs/silly-sythensizer/ 59 make sim_time 60 cvc 61 cvc64 62 ls 63 gedit verilog.log 64 make sim_time 65 gedit verilog.log 66 vim src/tb_silly_synthesizer.v 67 cd ../test 68 make sim_time 69 ls 70 vim time.log 71 cd ../silly-sythensizer/ 72 vim includes_gl_sdf 73 cd ../test 74 vim includes_gl_sdf 75 cd ../silly-sythensizer/ 76 ls 77 ls ma 78 ls mapped/ 79 vim src/tb_silly_synthesizer.v 80 vim src/tb_silly_synthesizer.v 81 iverilog src/tb_silly_synthesizer.v mapped/synth.v 82 vim src/tb_silly_synthesizer.v 83 make sim_time 84 gedit time.log 85 vim src/tb_silly_synthesizer.v 86 make sim_time 87 vim src/tb_silly_synthesizer.v 88 make sim_time 89 vim src/tb_silly_synthesizer.v 90 make sim_time 91 vim src/tb_silly_synthesizer.v 92 make sim_time 93 cd ../.. 94 make mount 95 cd designs/silly-sythensizer/ 96 make sim_time 97 top 98 cd OpenLane/designs/silly-sythensizer/ 99 ll 100 cd runs/RUN_2023.07.03_16.00.32/ 101 ls 102 cd results/final 103 ll 104 cd .. 105 ls 106 vim makefile 107 make view_gds 108 ls 109 pwd 110 code . 111 pwd 112 ll 113 git clone https://github.com:STARS-Design-Track-2023/Caravel_STARS_2023.git CUP 114 git clone https://github.com/STARS-Design-Track-2023/Caravel_STARS_2023.git CUP 115 cd CUP/ 116 export PDK=sky130A 117 make setup 118 export PDK_ROOT=./dependencies/pdks 119 export OPENLANE_ROOT=./dependencies/openlane_src 120 echo PDK_ROOT 121 echo $PDK_ROOT 122 echo $OPENLANE_ROOT 123 make setup 124 cd openlane/ 125 ls 126 ll 127 ll ../dependencies/ 128 ll dependencies/ 129 cd .. 130 make user_proj_example 131 make clean 132 git checkout mpw-9d 133 make clean 134 echo $OPENLANE_ROOT 135 export PDK_ROOT=$(pwd)/dependencies/pdks 136 echo $PDK_ROOT 137 export OPENLANE_ROOT=$(pwd)/dependencies/openlane_src 138 make setup 139 h 140 export PDK_ROOT=$(pwd)/dependencies/pdks 141 export OPENLANE_ROOT=$(pwd)/dependencies/openlane_src 142 make silly-sythensizer 143 k silly_synthesizer.gds 144 klayout silly_synthesizer.gds 145 k silly_synthesizer.gds 146 alias k 147 make user_proj_example 148 make user_project_wrapper 149 make user_proj_example 150 git add * 151 git commit -m "Add dilly synth" 152 git config --global user.name SPencer 153 git config --global user.email bowles7@purdue.edu 154 git push 155 ssh-keygen 156 cat ~/.ssh/id_rsa.pub 157 git push 158 git commit -m "Add dilly synth" 159 cd .. 160 git info 161 git log 162 code . 163 git add * 164 git commit -m "Add silly synth" 165 git push 166 git remote set-url origin git@github.com:STARS-Design-Track-2023/Caravel_STARS_2023.git 167 git remote set-url origin google.com 168 git remote set-url origin git@github.com:STARS-Design-Track-2023/Caravel_STARS_2023.git 169 git push 170 grep tb 171 find -r tb 172 man find 173 find tb 174 find tb* 175 find testbench 176 find testbench* 177 find *testbench* 178 git status 179 git log 180 git pull 181 git push 182 git log 183 mkdir openlane/outel8227 184 cd openlane/outel8227/ 185 cp `timescale 1ns/100ps 186 module tb_silly_synthesizer (); 187 // VARIABLES 188 localparam time CLK_PERIOD = 100; 189 integer TESTS_FAILED = 0; 190 integer TESTS_PASSED = 0; 191 integer TEST_NUMBER = 0; 192 // SIGNALS 193 reg tb_clk, tb_nrst, tb_cs; 194 reg [16:0] tb_gpio; 195 wire tb_pwm; 196 // TASKS 197 task RESET; 198 begin 199 @(negedge tb_clk); 200 tb_nrst = 0; 201 @(negedge tb_clk); 202 tb_nrst = 1; 203 end 204 endtask 205 task SET_CS; 206 begin 207 tb_cs = 0; 208 end 209 endtask 210 211 task RESET_CS; 212 begin 213 tb_cs = 1; 214 end 215 endtask 216 task WAIT ( 217 input integer cycles 218 ); 219 integer i; 220 begin 221 for (i = 0; i < cycles; i = i + 1) begin 222 @(posedge tb_clk); 223 end 224 end 225 endtask 226 task FEED_INPUTS ( 227 input [16:0] gpio 228 ); 229 begin 230 @(negedge tb_clk); 231 tb_gpio = gpio; 232 end 233 endtask 234 task ASSERT_OUTPUTS ( 235 input pwm 236 ); 237 begin 238 TEST_NUMBER = TEST_NUMBER + 1; 239 @(negedge tb_clk); 240 if (tb_pwm != pwm) begin 241 $error("Test %d Failed", TEST_NUMBER); 242 $error("Expected: %b", pwm); 243 $error("Actual: %b", tb_pwm); 244 TESTS_FAILED = TESTS_FAILED + 1; 245 end else begin 246 $info("Test %d Passed", TEST_NUMBER); 247 TESTS_PASSED = TESTS_PASSED + 1; 248 end 249 end 250 endtask 251 // DUTs 252 `ifdef USE_POWER_PINS 253 .nrst(tb_nrst), 254 .cs(tb_cs), 255 .gpio(tb_gpio), 256 .pwm(tb_pwm) 257 cp /home/designer-05/OpenLane/designs/outel8227/config.json . 258 cp -r /home/designer-05/OpenLane/designs/outel8227/src . 259 make outel8227 260 make silly-synthesizer 261 make user_proj_examples 262 make user_proj_example 263 cd ../.. 264 make outel8227 265 make silly-synthesizer 266 make silly-synthensizer 267 make silly-sythensizer 268 echo $PDK_ROOT 269 pwd 270 make outel8227 271 history 272 export PDK_ROOT=$(pwd)/dependencies/pdks 273 export OPENLANE_ROOT=$(pwd)/dependencies/openlane_src 274 make outel8227 275 history > ~/cmd_hist.txt 276 cat ~/cmd_hist.txt 277 make setup 278 make silly-sythensizer 279 make outel8227 280 cd openlane/ 281 mkdir Synthia 282 cd Synthia/ 283 cp /home/designer-24/OpenLane/designs/Synthia/ 284 cp /home/designer-24/OpenLane/designs/Synthia/config.json . 285 cp -r /home/designer-24/OpenLane/designs/Synthia/src . 286 cp -r /home/designer-44/OpenLane/designs/z23/config.json ../z23 287 mkdir ../z23 288 cd ../23 289 cd ../z23 290 cp -r /home/designer-44/OpenLane/designs/z23/config.json . 291 cp -r /home/designer-44/OpenLane/designs/z23/src . 292 ls /home/designer-44/OpenLane/designs/z23/ 293 cp -r /home/designer-44/OpenLane/designs/z23/src/ . 294 ls 295 cd src 296 rm src 297 cp -r /home/designer-44/OpenLane/designs/z23/src/ . 298 ls 299 rm -f src 300 ls 301 cp -r /home/designer-44/OpenLane/designs/z23/src/ . 302 make Synthia 303 git add * 304 make z23 305 git add * 306 git commit -m "Add Synthia, z23, outel" 307 git pull 308 git push 309 git pull 310 echo $PDK_ROOT 311 make calculator 312 git add * 313 git commit -m "Calculator openlane" 314 make DigiDoggs 315 make Eighty_Twos 316 make GuitarVillans 317 make SaSS 318 make stopwatch 319 make tmnt 320 cd .. 321 find .py 322 grep cocotb 323 make DigiDoggs 324 git add * 325 git commit -m "Run Openlane on TA instance projects" 326 git pull 327 git push 328 caravel_cocotb -t hello_world_uart -tag hello_world 329 make user_project_wrapper 330 find caravel_interfaces 331 find -r caravel_interfaces 332 find caravel_interfaces 333 find caravel_cocotb 334 make synth 335 git add * 336 git commit -m "Add Aidan's second synth" 337 echo $PDK_ROOT 338 make user_proj_wrapper 339 make caravel 340 make user_project_wrapper 341 make integrated designs 342 make integrated_designs 343 make user_project_wrapper 344 git add * 345 git commit -m "Change integrated designs from sv to v" 346 git pull 347 git add * 348 git commit "Update config.json" 349 git commit -m "Update config.json" 350 make user_project_wrapper 351 echo $PDK_ROOT 352 make user_project_wrapper 353 echo $OPENLANE_ROOT 354 make user_project_wrapper 355 export $DIR 356 history > history.txt