From f59abe1f417d5a17ec28bcc73351f6a973aacd40 Mon Sep 17 00:00:00 2001 From: TinyTapeoutBot <139130078+TinyTapeoutBot@users.noreply.github.com> Date: Sun, 26 May 2024 21:57:01 +0300 Subject: [PATCH] feat: update project tt_um_shadow1229_vga_player from shadow1229/tt07-vga-player Commit: a24d72850178dce0c3b696872e5a8690f02c29b3 Workflow: https://github.com/shadow1229/tt07-vga-player/actions/runs/9245447864 --- projects/tt_um_shadow1229_vga_player/LICENSE | 201 + .../commit_id.json | 9 + .../tt_um_shadow1229_vga_player/docs/info.md | 48 + .../tt_um_shadow1229_vga_player/info.yaml | 54 + .../stats/metrics.csv | 2 + .../stats/synthesis-stats.txt | 78 + .../tt_um_shadow1229_vga_player.gds | Bin 0 -> 5493774 bytes .../tt_um_shadow1229_vga_player.lef | 538 + .../tt_um_shadow1229_vga_player.spef | 77632 ++++++++++++++++ .../tt_um_shadow1229_vga_player.v | 27118 ++++++ 10 files changed, 105680 insertions(+) create mode 100644 projects/tt_um_shadow1229_vga_player/LICENSE create mode 100644 projects/tt_um_shadow1229_vga_player/commit_id.json create mode 100644 projects/tt_um_shadow1229_vga_player/docs/info.md create mode 100644 projects/tt_um_shadow1229_vga_player/info.yaml create mode 100644 projects/tt_um_shadow1229_vga_player/stats/metrics.csv create mode 100644 projects/tt_um_shadow1229_vga_player/stats/synthesis-stats.txt create mode 100644 projects/tt_um_shadow1229_vga_player/tt_um_shadow1229_vga_player.gds create mode 100644 projects/tt_um_shadow1229_vga_player/tt_um_shadow1229_vga_player.lef create mode 100644 projects/tt_um_shadow1229_vga_player/tt_um_shadow1229_vga_player.spef create mode 100644 projects/tt_um_shadow1229_vga_player/tt_um_shadow1229_vga_player.v diff --git a/projects/tt_um_shadow1229_vga_player/LICENSE b/projects/tt_um_shadow1229_vga_player/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/projects/tt_um_shadow1229_vga_player/LICENSE @@ -0,0 +1,201 @@ + 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. diff --git a/projects/tt_um_shadow1229_vga_player/commit_id.json b/projects/tt_um_shadow1229_vga_player/commit_id.json new file mode 100644 index 0000000..a114ccc --- /dev/null +++ b/projects/tt_um_shadow1229_vga_player/commit_id.json @@ -0,0 +1,9 @@ +{ + "app": "Tiny Tapeout tt07 98e94823", + "repo": "https://github.com/shadow1229/tt07-vga-player", + "commit": "a24d72850178dce0c3b696872e5a8690f02c29b3", + "workflow_url": "https://github.com/shadow1229/tt07-vga-player/actions/runs/9245447864", + "sort_id": 1716749815809, + "openlane_version": "OpenLane 337ffbf4749b8bc6e8d8742ed9a595934142198b", + "pdk_version": "open_pdks cd1748bb197f9b7af62a54507de6624e30363943" +} \ No newline at end of file diff --git a/projects/tt_um_shadow1229_vga_player/docs/info.md b/projects/tt_um_shadow1229_vga_player/docs/info.md new file mode 100644 index 0000000..8203f9a --- /dev/null +++ b/projects/tt_um_shadow1229_vga_player/docs/info.md @@ -0,0 +1,48 @@ + + +## How it works +This project plays binary-colored 80px x 60px @ 24fps video recorded in SPI NOR flash, playing with 640px x 480px @72Hz VGA. +Additionally, the project plays PCM or PWM Audio recorded in same flash chip. +The input chooses type of audio(PCM/PWM), type of VGA PMOD, and the color of the video. +Also, uio[7:2] is used for SPI communication and uio[1:0] is used for audio output. +Finally, output is used as video output. + +## How to test + +Hook up a VGA monitor to the outputs and provide a clock at 31.5 MHz. +choose the type of audio output with input[0], and choose the type of VGA PMOD with the input[1]. +color of pixels which turned off (which data of the pixel is 0) is selected with inputs[4:2] (2:R, 3:G, 4:B), and +color of pixels which turned on (which data of the pixel is 1) is selected with inputs[7:5] (5:R, 6:G, 7:B). + + +Data structure of SPI flash chip: +1. Data address starts with 0x000000. +2. Each frame takes 65 x 128 bit, where each 128 bits are used for video/audio data for each line(640px x 8px). +2.1. Since the video uses 24fps, while the VGA uses 72Hz, each frame is shown three times in the VGA. +2.2. Thus, each line(=128 bits) are uses as following way: + line[127:0] = {audio_0[15:0], audio_1[15:0], audio_2[15:0], video[79:0]}, + where audio_i is audio data for the line in the (i+1)th iteration. +2.3 The first 5 lines in the frame are used for porch and vsync, which means video data in the line is ignored. + However, audio data in the line still valid. Also, this is why each frame uses 65 x 128 bit and not 60 x 128 bit. +3. Due to limitation of data, maximum amount of 16131 frames will be supported. reaching 16132th frame will restart the project. (check overflow in tt_vga_player.v) +For more infomation, check bit_dump_8060_wav.py in bad_apple folder. + +## External hardware +Audio - For PCM, using piezo on uio[1:0] would work. For PWM, external DAC like LTC2644 chip is needed (not tested though) +Set input[0] low to use 74880Hz 1-bit PCM mode and high to 9360Hz 8-bit PWM mode. + +VGA PMOD - you can use one of these VGA PMODs: + +* https://github.com/mole99/tiny-vga +* https://github.com/TinyTapeout/tt-vga-clock-pmod +Set input[1] low to use tiny-vga and high to use vga-clock + +SPI flash (W25Q128JVSSIQ) +* https://www.adafruit.com/product/5634 diff --git a/projects/tt_um_shadow1229_vga_player/info.yaml b/projects/tt_um_shadow1229_vga_player/info.yaml new file mode 100644 index 0000000..bbfa37f --- /dev/null +++ b/projects/tt_um_shadow1229_vga_player/info.yaml @@ -0,0 +1,54 @@ +# Tiny Tapeout project information +project: + title: "VGA player" # Project title + author: "shadow1229" # Your name + discord: "QMA#4182" # Your discord username, for communication and automatically assigning you a Tapeout role (optional) + description: "80 x 60 binary pixel video player with PCM/PWM audio playing feature" # One line description of what your project does + language: "Verilog" # other examples include SystemVerilog, Amaranth, VHDL, etc + clock_hz: 31500000 # Clock frequency in Hz (or 0 if not applicable) + + # How many tiles your design occupies? A single tile is about 167x108 uM. + tiles: "1x2" # Valid values: 1x1, 1x2, 2x2, 3x2, 4x2, 6x2 or 8x2 + + # Your top module name must start with "tt_um_". Make it unique by including your github username: + top_module: "tt_um_shadow1229_vga_player" + + # List your project's source files here. Source files must be in ./src and you must list each source file separately, one per line: + source_files: + - tt_vga_player.v + - VgaSyncGen.v + +# The pinout of your project. Leave unused pins blank. DO NOT delete or add any pins. +pinout: + # Inputs + ui[0]: "74880Hz 1-bit PCM(0) / 9360Hz 8-bit PWM(1)" + ui[1]: "Tiny VGA(0) / VGA clock PMOD(1)" + ui[2]: "color_off(0) - R" + ui[3]: "color_off(0) - G" + ui[4]: "color_off(0) - B" + ui[5]: "color_on(1) - R" + ui[6]: "color_on(1) - G" + ui[7]: "color_on(1) - B" + + # Outputs + uo[0]: "hsync / R1" + uo[1]: "vsync / G1" + uo[2]: "B0 / B1" + uo[3]: "B1 / VS" + uo[4]: "G0 / R0" + uo[5]: "G1 / G0" + uo[6]: "R0 / B0" + uo[7]: "R1 / HS" + + # Bidirectional pins + uio[0]: "sound n" + uio[1]: "sound p" + uio[2]: "spi I/O 0 (W25Q128JVSSIQ NOR SPI flash chip)" + uio[3]: "spi I/O 1" + uio[4]: "spi I/O 2" + uio[5]: "spi I/O 3" + uio[6]: "spi flash clock" + uio[7]: "spi chip select" + +# Do not change! +yaml_version: 6 diff --git a/projects/tt_um_shadow1229_vga_player/stats/metrics.csv b/projects/tt_um_shadow1229_vga_player/stats/metrics.csv new file mode 100644 index 0000000..9016462 --- /dev/null +++ b/projects/tt_um_shadow1229_vga_player/stats/metrics.csv @@ -0,0 +1,2 @@ +design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Final_Util,Peak_Memory_Usage_MB,synth_cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,pin_antenna_violations,net_antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,DecapCells,WelltapCells,DiodeCells,FillCells,NonPhysCells,TotalCells,CoreArea_um^2,power_slowest_internal_uW,power_slowest_switching_uW,power_slowest_leakage_uW,power_typical_internal_uW,power_typical_switching_uW,power_typical_leakage_uW,power_fastest_internal_uW,power_fastest_switching_uW,power_fastest_leakage_uW,critical_path_ns,suggested_clock_period,suggested_clock_frequency,CLOCK_PERIOD,FP_ASPECT_RATIO,FP_CORE_UTIL,FP_PDN_HPITCH,FP_PDN_VPITCH,GRT_ADJUSTMENT,GRT_REPAIR_ANTENNAS,MAX_FANOUT_CONSTRAINT,PL_TARGET_DENSITY,RUN_HEURISTIC_DIODE_INSERTION,STD_CELL_LIBRARY,SYNTH_STRATEGY +/work/src,tt_um_shadow1229_vga_player,wokwi,flow completed,0h2m45s0ms,0h2m7s0ms,117697.68148223143,0.03634736,58848.84074111572,59.51,65.50150000000001,593.4,1761,0,0,0,0,0,0,0,0,0,0,-1,-1,50960,14606,0.0,-1,-1,-1,-1,0.0,-1,-1,-1,-1,33568803.0,0.0,41.57,51.54,3.1,14.25,-1,2959,3844,67,550,0,0,0,3690,419,241,46,59,170,132,34,1585,438,430,13,1281,456,0,838,2139,4714,34255.3536,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,21.0,47.61904761904762,20,1,50,55.080,38.870,0.3,1,10,0.6,0,sky130_fd_sc_hd,AREA 0 diff --git a/projects/tt_um_shadow1229_vga_player/stats/synthesis-stats.txt b/projects/tt_um_shadow1229_vga_player/stats/synthesis-stats.txt new file mode 100644 index 0000000..bf9dc19 --- /dev/null +++ b/projects/tt_um_shadow1229_vga_player/stats/synthesis-stats.txt @@ -0,0 +1,78 @@ + +64. Printing statistics. + +=== tt_um_shadow1229_vga_player === + + Number of wires: 1745 + Number of wire bits: 1780 + Number of public wires: 385 + Number of public wire bits: 420 + Number of memories: 0 + Number of memory bits: 0 + Number of processes: 0 + Number of cells: 1761 + sky130_fd_sc_hd__a211o_2 14 + sky130_fd_sc_hd__a211oi_2 1 + sky130_fd_sc_hd__a21bo_2 10 + sky130_fd_sc_hd__a21boi_2 1 + sky130_fd_sc_hd__a21o_2 60 + sky130_fd_sc_hd__a21oi_2 32 + sky130_fd_sc_hd__a221o_2 7 + sky130_fd_sc_hd__a22o_2 175 + sky130_fd_sc_hd__a22oi_2 2 + sky130_fd_sc_hd__a2bb2o_2 7 + sky130_fd_sc_hd__a311o_2 1 + sky130_fd_sc_hd__a31o_2 30 + sky130_fd_sc_hd__a31oi_2 3 + sky130_fd_sc_hd__a32o_2 35 + sky130_fd_sc_hd__a41o_2 1 + sky130_fd_sc_hd__and2_2 48 + sky130_fd_sc_hd__and2b_2 11 + sky130_fd_sc_hd__and3_2 137 + sky130_fd_sc_hd__and3b_2 15 + sky130_fd_sc_hd__and4_2 7 + sky130_fd_sc_hd__and4b_2 6 + sky130_fd_sc_hd__buf_1 209 + sky130_fd_sc_hd__buf_2 4 + sky130_fd_sc_hd__conb_1 5 + sky130_fd_sc_hd__dfxtp_2 376 + sky130_fd_sc_hd__inv_2 42 + sky130_fd_sc_hd__mux2_2 111 + sky130_fd_sc_hd__mux4_2 19 + sky130_fd_sc_hd__nand2_2 58 + sky130_fd_sc_hd__nand2b_2 1 + sky130_fd_sc_hd__nand3_2 8 + sky130_fd_sc_hd__nand3b_2 1 + sky130_fd_sc_hd__nor2_2 72 + sky130_fd_sc_hd__nor2b_2 3 + sky130_fd_sc_hd__nor3_2 6 + sky130_fd_sc_hd__nor3b_2 1 + sky130_fd_sc_hd__nor4_2 2 + sky130_fd_sc_hd__nor4b_2 2 + sky130_fd_sc_hd__o2111a_2 1 + sky130_fd_sc_hd__o211a_2 8 + sky130_fd_sc_hd__o211ai_2 1 + sky130_fd_sc_hd__o21a_2 20 + sky130_fd_sc_hd__o21ai_2 14 + sky130_fd_sc_hd__o21ba_2 3 + sky130_fd_sc_hd__o21bai_2 1 + sky130_fd_sc_hd__o221a_2 4 + sky130_fd_sc_hd__o22a_2 2 + sky130_fd_sc_hd__o22ai_2 1 + sky130_fd_sc_hd__o2bb2a_2 1 + sky130_fd_sc_hd__o311a_2 1 + sky130_fd_sc_hd__o31a_2 1 + sky130_fd_sc_hd__o31ai_2 2 + sky130_fd_sc_hd__o32a_2 2 + sky130_fd_sc_hd__or2_2 61 + sky130_fd_sc_hd__or2b_2 7 + sky130_fd_sc_hd__or3_2 11 + sky130_fd_sc_hd__or3b_2 9 + sky130_fd_sc_hd__or4_2 15 + sky130_fd_sc_hd__or4b_2 8 + sky130_fd_sc_hd__or4bb_2 2 + sky130_fd_sc_hd__xnor2_2 44 + sky130_fd_sc_hd__xor2_2 19 + + Chip area for module '\tt_um_shadow1229_vga_player': 19685.129600 + diff --git a/projects/tt_um_shadow1229_vga_player/tt_um_shadow1229_vga_player.gds b/projects/tt_um_shadow1229_vga_player/tt_um_shadow1229_vga_player.gds new file mode 100644 index 0000000000000000000000000000000000000000..d1bb269685d318487b555d7f9bc205ee76082ac3 GIT binary patch literal 5493774 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