From e229042af794e2859a0ffa357a595d9b658cb205 Mon Sep 17 00:00:00 2001 From: TinyTapeoutBot <139130078+TinyTapeoutBot@users.noreply.github.com> Date: Sun, 10 Nov 2024 19:34:56 +0200 Subject: [PATCH] feat: update project tt_um_r2r_dac from davidparent/tt09-r2r-dac Commit: 0de52716de0469ba16aeb1c0a1cac48af9aee54e Workflow: https://github.com/davidparent/tt09-r2r-dac/actions/runs/11767154851 --- projects/tt_um_r2r_dac/LICENSE | 201 +++++++ projects/tt_um_r2r_dac/commit_id.json | 8 + projects/tt_um_r2r_dac/docs/info.md | 20 + projects/tt_um_r2r_dac/info.yaml | 65 ++ projects/tt_um_r2r_dac/tt_um_r2r_dac.gds | Bin 0 -> 61224 bytes projects/tt_um_r2r_dac/tt_um_r2r_dac.lef | 722 +++++++++++++++++++++++ projects/tt_um_r2r_dac/tt_um_r2r_dac.v | 23 + 7 files changed, 1039 insertions(+) create mode 100644 projects/tt_um_r2r_dac/LICENSE create mode 100644 projects/tt_um_r2r_dac/commit_id.json create mode 100644 projects/tt_um_r2r_dac/docs/info.md create mode 100644 projects/tt_um_r2r_dac/info.yaml create mode 100644 projects/tt_um_r2r_dac/tt_um_r2r_dac.gds create mode 100644 projects/tt_um_r2r_dac/tt_um_r2r_dac.lef create mode 100644 projects/tt_um_r2r_dac/tt_um_r2r_dac.v diff --git a/projects/tt_um_r2r_dac/LICENSE b/projects/tt_um_r2r_dac/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/projects/tt_um_r2r_dac/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_r2r_dac/commit_id.json b/projects/tt_um_r2r_dac/commit_id.json new file mode 100644 index 00000000..ddf10b62 --- /dev/null +++ b/projects/tt_um_r2r_dac/commit_id.json @@ -0,0 +1,8 @@ +{ + "app": "custom_gds action", + "repo": "https://github.com/davidparent/tt09-r2r-dac", + "commit": "0de52716de0469ba16aeb1c0a1cac48af9aee54e", + "workflow_url": "https://github.com/davidparent/tt09-r2r-dac/actions/runs/11767154851", + "sort_id": 1731260093379, + "analog": true +} \ No newline at end of file diff --git a/projects/tt_um_r2r_dac/docs/info.md b/projects/tt_um_r2r_dac/docs/info.md new file mode 100644 index 00000000..89195914 --- /dev/null +++ b/projects/tt_um_r2r_dac/docs/info.md @@ -0,0 +1,20 @@ + + +## How it works + +This is a simple 4-bit R2R DAC similar to the example. + +## How to test + +Punt in a 4 bit strait case signal from 0000 to 1111 in steps of 1 on A0 A1 A2 and A3. Note that the LSB is controlled by pin UIN_0, not UIB_3. + +## External hardware + +ADALM2000 in digital mode. diff --git a/projects/tt_um_r2r_dac/info.yaml b/projects/tt_um_r2r_dac/info.yaml new file mode 100644 index 00000000..aef6c42d --- /dev/null +++ b/projects/tt_um_r2r_dac/info.yaml @@ -0,0 +1,65 @@ +# Tiny Tapeout project information +project: + title: "4-bit R2R DAC" # Project title + author: "David Parent" # Your name + discord: "" # Your discord username, for communication and automatically assigning you a Tapeout role (optional) + description: "Converts a 4 bit wide signal to an analog signal" # One line description of what your project does + language: "Analog" # other examples include Verilog, Amaranth, VHDL, etc + clock_hz: 0 # 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 for analog projects: 1x2, 2x2 + + # How many analog pins does your project use? + analog_pins: 1 # Valid values: 0 to 6 + uses_3v3: false # Set to true if your project uses 3.3V (VAPWR) in addition to 1.8V (VDPWR) + + # Your top module name must start with "tt_um_". Make it unique by including your github username: + top_module: "tt_um_r2r_dac" + + # 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: + - "project.v" + +# The pinout of your project. Leave unused pins blank. DO NOT delete or add any pins. +pinout: + # Inputs + ui[0]: "A3" + ui[1]: "A2" + ui[2]: "A1" + ui[3]: "A0" + ui[4]: "" + ui[5]: "" + ui[6]: "" + ui[7]: "" + + # Outputs + uo[0]: "Out" + uo[1]: "" + uo[2]: "" + uo[3]: "" + uo[4]: "" + uo[5]: "" + uo[6]: "" + uo[7]: "" + + # Bidirectional pins + uio[0]: "" + uio[1]: "" + uio[2]: "" + uio[3]: "" + uio[4]: "" + uio[5]: "" + uio[6]: "" + uio[7]: "" + + # Analog pins - make sure to also set "analog_pins" above, else the pins won't be connected + ua[0]: "" + ua[1]: "" + ua[2]: "" + ua[3]: "" + ua[4]: "" + ua[5]: "" + +# Do not change! +yaml_version: 6 diff --git a/projects/tt_um_r2r_dac/tt_um_r2r_dac.gds b/projects/tt_um_r2r_dac/tt_um_r2r_dac.gds new file mode 100644 index 0000000000000000000000000000000000000000..ea8482b66ae84ef53fa5884682c8da47aec7cb40 GIT binary patch literal 61224 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�e~LHA5rrS6*F$al7a!}sUyAoH*cJo#HHbE%KKC^Y zc0@l&uZYTsyz5cCBZHA}r-sOgy6@B&?1*kmuZhZtyz5cC$Apn^&xy#0y6-(1?1-*T zuZqfuyz5cCYle|hL?1(N;uZzlvyz5cC4~UU)e~`$Cy6+Df?1=20PuIL= zXSR1eigz|K67F;o8BzBgPlFxN7t?E_@*H{Bqj;|tBjFw{kr8#@!!_6ueI~s+DkJi) zNAd16M#5cbA|v8%HF1z5>TEiu&rv)5H18c+yr0Il*x^1K(MHneKAXXgXuY}pN94Rm zi+2by67C!l8BzD0LxUaBkgxV1k@GGs-t)vrxED%fMBF1K4st}{FAww|k@G$+-o<5G z4BXu%+DQ7`-8I+|J^x1k5jpSF;(ck1g!|M)M$~=3+F(cYn_c^l$a$|8@3dni+<_-D zqV7BJ20J4AbgKIbX8433kij1iHp2ES7=#gvskH~qy7Vm~+B-|w_GNSIg zBnLSnKE>2?w0ObdbUCWOU*rBP+hT|NwnQ6IpZm53JECL%q2GwS*GKV=HAcdnXd)x( zzLRaRBbxt{ek1Z;AH{p{7zy|0iHxZG-n_w%Xy%Z9Bl2D!#k&d_33nTcjA+K9bcKY2 z9ns`H`i;nYeH8DLWF*`_DKet&`zHrGqTNsHHzM!#QM~h$k#I+-$cVb{2p#N*#(lrv zh`iTF@m^L&!ac4cBkI1#b+99{pCI&YzxVnm-kr-xxNBErMBR7oIwM-E>!*%;h4hD? zG=^c1hR$6t^7E{NCe1u}cKzpB@n_3xdf&%tK0&XJz}CqK>}Q<^?K6E+_4=p#3b=1X S_Z{ed5i#F)GR*d4NcjI`%$tG$ literal 0 HcmV?d00001 diff --git a/projects/tt_um_r2r_dac/tt_um_r2r_dac.lef b/projects/tt_um_r2r_dac/tt_um_r2r_dac.lef new file mode 100644 index 00000000..05d26dc8 --- /dev/null +++ b/projects/tt_um_r2r_dac/tt_um_r2r_dac.lef @@ -0,0 +1,722 @@ +VERSION 5.7 ; + NOWIREEXTENSIONATPIN ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "[]" ; +MACRO tt_um_r2r_dac + CLASS BLOCK ; + FOREIGN tt_um_r2r_dac ; + ORIGIN 0.000 0.000 ; + SIZE 161.000 BY 225.760 ; + PIN clk + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 143.830 224.760 144.130 225.760 ; + END + END clk + PIN ena + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 146.590 224.760 146.890 225.760 ; + END + END ena + PIN rst_n + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 141.070 224.760 141.370 225.760 ; + END + END rst_n + PIN ua[0] + DIRECTION INOUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 151.810 0.000 152.710 1.000 ; + END + END ua[0] + PIN ua[1] + DIRECTION INOUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 132.490 0.000 133.390 1.000 ; + END + END ua[1] + PIN ua[2] + DIRECTION INOUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 113.170 0.000 114.070 1.000 ; + END + END ua[2] + PIN ua[3] + DIRECTION INOUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 93.850 0.000 94.750 1.000 ; + END + END ua[3] + PIN ua[4] + DIRECTION INOUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 74.530 0.000 75.430 1.000 ; + END + END ua[4] + PIN ua[5] + DIRECTION INOUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 55.210 0.000 56.110 1.000 ; + END + END ua[5] + PIN ua[6] + DIRECTION INOUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 35.890 0.000 36.790 1.000 ; + END + END ua[6] + PIN ua[7] + DIRECTION INOUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 16.570 0.000 17.470 1.000 ; + END + END ua[7] + PIN ui_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 138.310 224.760 138.610 225.760 ; + END + END ui_in[0] + PIN ui_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 135.550 224.760 135.850 225.760 ; + END + END ui_in[1] + PIN ui_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 132.790 224.760 133.090 225.760 ; + END + END ui_in[2] + PIN ui_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 130.030 224.760 130.330 225.760 ; + END + END ui_in[3] + PIN ui_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 127.270 224.760 127.570 225.760 ; + END + END ui_in[4] + PIN ui_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 124.510 224.760 124.810 225.760 ; + END + END ui_in[5] + PIN ui_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 121.750 224.760 122.050 225.760 ; + END + END ui_in[6] + PIN ui_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 118.990 224.760 119.290 225.760 ; + END + END ui_in[7] + PIN uio_in[0] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 116.230 224.760 116.530 225.760 ; + END + END uio_in[0] + PIN uio_in[1] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 113.470 224.760 113.770 225.760 ; + END + END uio_in[1] + PIN uio_in[2] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 110.710 224.760 111.010 225.760 ; + END + END uio_in[2] + PIN uio_in[3] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 107.950 224.760 108.250 225.760 ; + END + END uio_in[3] + PIN uio_in[4] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 105.190 224.760 105.490 225.760 ; + END + END uio_in[4] + PIN uio_in[5] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 102.430 224.760 102.730 225.760 ; + END + END uio_in[5] + PIN uio_in[6] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 99.670 224.760 99.970 225.760 ; + END + END uio_in[6] + PIN uio_in[7] + DIRECTION INPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 96.910 224.760 97.210 225.760 ; + END + END uio_in[7] + PIN uio_oe[0] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 49.990 224.760 50.290 225.760 ; + END + END uio_oe[0] + PIN uio_oe[1] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 47.230 224.760 47.530 225.760 ; + END + END uio_oe[1] + PIN uio_oe[2] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 44.470 224.760 44.770 225.760 ; + END + END uio_oe[2] + PIN uio_oe[3] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 41.710 224.760 42.010 225.760 ; + END + END uio_oe[3] + PIN uio_oe[4] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 38.950 224.760 39.250 225.760 ; + END + END uio_oe[4] + PIN uio_oe[5] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 36.190 224.760 36.490 225.760 ; + END + END uio_oe[5] + PIN uio_oe[6] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 33.430 224.760 33.730 225.760 ; + END + END uio_oe[6] + PIN uio_oe[7] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 30.670 224.760 30.970 225.760 ; + END + END uio_oe[7] + PIN uio_out[0] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 72.070 224.760 72.370 225.760 ; + END + END uio_out[0] + PIN uio_out[1] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 69.310 224.760 69.610 225.760 ; + END + END uio_out[1] + PIN uio_out[2] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 66.550 224.760 66.850 225.760 ; + END + END uio_out[2] + PIN uio_out[3] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 63.790 224.760 64.090 225.760 ; + END + END uio_out[3] + PIN uio_out[4] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 61.030 224.760 61.330 225.760 ; + END + END uio_out[4] + PIN uio_out[5] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 58.270 224.760 58.570 225.760 ; + END + END uio_out[5] + PIN uio_out[6] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 55.510 224.760 55.810 225.760 ; + END + END uio_out[6] + PIN uio_out[7] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 52.750 224.760 53.050 225.760 ; + END + END uio_out[7] + PIN uo_out[0] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 94.150 224.760 94.450 225.760 ; + END + END uo_out[0] + PIN uo_out[1] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 91.390 224.760 91.690 225.760 ; + END + END uo_out[1] + PIN uo_out[2] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 88.630 224.760 88.930 225.760 ; + END + END uo_out[2] + PIN uo_out[3] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 85.870 224.760 86.170 225.760 ; + END + END uo_out[3] + PIN uo_out[4] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 83.110 224.760 83.410 225.760 ; + END + END uo_out[4] + PIN uo_out[5] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 80.350 224.760 80.650 225.760 ; + END + END uo_out[5] + PIN uo_out[6] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 77.590 224.760 77.890 225.760 ; + END + END uo_out[6] + PIN uo_out[7] + DIRECTION OUTPUT ; + USE SIGNAL ; + PORT + LAYER met4 ; + RECT 74.830 224.760 75.130 225.760 ; + END + END uo_out[7] + PIN VDPWR + DIRECTION INOUT ; + USE POWER ; + PORT + LAYER met4 ; + RECT 1.000 5.000 3.000 220.760 ; + END + END VDPWR + PIN VGND + DIRECTION INOUT ; + USE GROUND ; + PORT + LAYER met4 ; + RECT 4.000 5.000 6.000 220.760 ; + END + END VGND + OBS + LAYER li1 ; + RECT 115.590 199.020 116.090 199.110 ; + RECT 121.980 199.090 122.480 199.110 ; + RECT 103.980 198.700 104.480 198.790 ; + RECT 110.370 198.770 110.870 198.790 ; + RECT 102.850 196.200 105.360 198.700 ; + RECT 108.880 196.270 111.390 198.770 ; + RECT 114.460 196.520 116.970 199.020 ; + RECT 120.490 196.590 123.000 199.090 ; + RECT 127.600 199.020 128.100 199.110 ; + RECT 133.990 199.090 134.490 199.110 ; + RECT 126.470 196.520 128.980 199.020 ; + RECT 132.500 196.590 135.010 199.090 ; + RECT 138.730 199.030 139.230 199.120 ; + RECT 145.120 199.100 145.620 199.120 ; + RECT 137.600 196.530 140.110 199.030 ; + RECT 143.630 196.600 146.140 199.100 ; + RECT 138.660 182.480 139.160 182.570 ; + RECT 145.050 182.550 145.550 182.570 ; + RECT 103.340 182.200 103.840 182.220 ; + RECT 102.820 179.700 105.330 182.200 ; + RECT 109.730 182.130 110.230 182.220 ; + RECT 108.850 179.630 111.360 182.130 ; + RECT 126.650 182.080 127.150 182.170 ; + RECT 133.040 182.150 133.540 182.170 ; + RECT 115.650 181.890 116.150 181.980 ; + RECT 122.040 181.960 122.540 181.980 ; + RECT 114.520 179.390 117.030 181.890 ; + RECT 120.550 179.460 123.060 181.960 ; + RECT 125.520 179.580 128.030 182.080 ; + RECT 131.550 179.650 134.060 182.150 ; + RECT 137.530 179.980 140.040 182.480 ; + RECT 143.560 180.050 146.070 182.550 ; + RECT 91.970 164.630 92.470 164.650 ; + RECT 91.450 162.130 93.960 164.630 ; + RECT 98.360 164.560 98.860 164.650 ; + RECT 103.080 164.620 103.580 164.640 ; + RECT 97.480 162.060 99.990 164.560 ; + RECT 102.560 162.120 105.070 164.620 ; + RECT 109.470 164.550 109.970 164.640 ; + RECT 114.110 164.560 114.610 164.580 ; + RECT 108.590 162.050 111.100 164.550 ; + RECT 113.590 162.060 116.100 164.560 ; + RECT 120.500 164.490 121.000 164.580 ; + RECT 124.590 164.510 125.090 164.530 ; + RECT 119.620 161.990 122.130 164.490 ; + RECT 124.070 162.010 126.580 164.510 ; + RECT 130.980 164.440 131.480 164.530 ; + RECT 134.660 164.520 135.160 164.540 ; + RECT 130.100 161.940 132.610 164.440 ; + RECT 134.140 162.020 136.650 164.520 ; + RECT 141.050 164.450 141.550 164.540 ; + RECT 140.170 161.950 142.680 164.450 ; + LAYER met1 ; + RECT 131.740 218.100 133.060 218.150 ; + RECT 129.450 217.000 130.850 218.100 ; + RECT 131.740 217.460 133.390 218.100 ; + RECT 131.740 217.280 133.580 217.460 ; + RECT 129.260 216.670 130.960 217.000 ; + RECT 131.630 216.950 133.580 217.280 ; + RECT 99.900 215.650 130.960 216.670 ; + RECT 99.900 197.870 100.920 215.650 ; + RECT 129.260 215.600 130.960 215.650 ; + RECT 131.740 216.490 133.580 216.950 ; + RECT 135.150 216.740 136.550 218.050 ; + RECT 138.040 217.700 139.440 218.110 ; + RECT 137.950 216.960 139.620 217.700 ; + RECT 138.000 216.760 139.420 216.960 ; + RECT 131.740 214.310 133.060 216.490 ; + RECT 112.510 212.990 133.060 214.310 ; + RECT 102.430 197.870 105.820 198.960 ; + RECT 99.900 196.850 105.820 197.870 ; + RECT 102.430 195.880 105.820 196.850 ; + RECT 108.770 196.390 111.460 198.850 ; + RECT 112.510 198.300 113.830 212.990 ; + RECT 135.310 212.740 136.450 216.740 ; + RECT 138.250 216.500 138.950 216.760 ; + RECT 124.990 211.600 136.450 212.740 ; + RECT 138.340 212.040 138.800 216.500 ; + RECT 114.250 198.300 117.130 199.170 ; + RECT 112.510 196.980 117.130 198.300 ; + RECT 108.740 195.490 111.500 196.390 ; + RECT 114.250 196.380 117.130 196.980 ; + RECT 120.380 196.540 123.070 199.170 ; + RECT 124.990 198.480 126.130 211.600 ; + RECT 137.240 211.580 138.800 212.040 ; + RECT 126.300 198.480 129.070 199.140 ; + RECT 124.990 197.340 129.070 198.480 ; + RECT 120.470 195.970 123.010 196.540 ; + RECT 126.300 196.410 129.070 197.340 ; + RECT 132.390 197.190 135.080 199.170 ; + RECT 132.360 196.020 135.080 197.190 ; + RECT 137.250 199.150 137.695 211.580 ; + RECT 137.250 196.760 140.210 199.150 ; + RECT 137.450 196.470 140.210 196.760 ; + RECT 143.520 196.580 146.210 199.180 ; + RECT 100.700 195.010 111.500 195.490 ; + RECT 100.670 194.420 111.500 195.010 ; + RECT 113.350 194.990 123.010 195.970 ; + RECT 124.370 195.020 135.080 196.020 ; + RECT 143.510 196.010 146.330 196.580 ; + RECT 136.420 195.020 146.370 196.010 ; + RECT 100.670 194.410 111.460 194.420 ; + RECT 100.670 182.280 102.780 194.410 ; + RECT 100.670 181.700 105.440 182.280 ; + RECT 100.640 180.440 105.440 181.700 ; + RECT 102.750 179.650 105.440 180.440 ; + RECT 108.780 179.920 111.470 182.210 ; + RECT 113.390 181.970 115.430 194.990 ; + RECT 120.470 194.940 123.010 194.990 ; + RECT 124.390 194.810 126.660 195.020 ; + RECT 136.400 194.990 146.370 195.020 ; + RECT 124.390 182.160 126.420 194.810 ; + RECT 136.400 182.560 138.390 194.990 ; + RECT 113.390 180.950 117.100 181.970 ; + RECT 108.720 178.490 113.180 179.920 ; + RECT 114.410 179.340 117.100 180.950 ; + RECT 120.440 180.520 123.130 182.040 ; + RECT 124.390 180.980 128.100 182.160 ; + RECT 90.780 161.710 94.500 164.890 ; + RECT 97.410 164.110 100.100 164.640 ; + RECT 102.490 164.110 105.180 164.700 ; + RECT 97.410 162.450 105.180 164.110 ; + RECT 97.410 162.010 100.100 162.450 ; + RECT 102.490 162.070 105.180 162.450 ; + RECT 108.520 163.900 111.210 164.630 ; + RECT 111.660 163.900 113.030 178.490 ; + RECT 115.140 164.640 116.930 179.340 ; + RECT 120.370 179.070 123.950 180.520 ; + RECT 125.410 179.530 128.100 180.980 ; + RECT 131.440 179.600 134.130 182.230 ; + RECT 136.400 180.020 140.110 182.560 ; + RECT 143.450 180.020 146.140 182.630 ; + RECT 137.420 179.930 140.110 180.020 ; + RECT 143.420 180.000 146.140 180.020 ; + RECT 132.550 179.150 134.380 179.600 ; + RECT 120.370 178.950 123.970 179.070 ; + RECT 122.180 164.800 123.970 178.950 ; + RECT 113.520 164.430 116.930 164.640 ; + RECT 121.890 164.590 124.120 164.800 ; + RECT 132.590 164.600 134.380 179.150 ; + RECT 143.420 164.720 146.110 180.000 ; + RECT 121.890 164.570 126.690 164.590 ; + RECT 113.520 163.900 116.210 164.430 ; + RECT 108.520 162.520 116.210 163.900 ; + RECT 108.520 162.000 111.210 162.520 ; + RECT 113.520 162.010 116.210 162.520 ; + RECT 119.550 162.420 126.690 164.570 ; + RECT 132.590 164.520 136.760 164.600 ; + RECT 119.550 161.940 122.240 162.420 ; + RECT 124.000 161.960 126.690 162.420 ; + RECT 130.030 162.430 136.760 164.520 ; + RECT 130.030 161.890 132.720 162.430 ; + RECT 134.070 161.970 136.760 162.430 ; + RECT 139.610 163.705 146.110 164.720 ; + RECT 139.610 161.995 151.245 163.705 ; + RECT 91.525 159.860 93.875 161.710 ; + RECT 139.610 161.160 146.110 161.995 ; + RECT 139.610 161.150 143.590 161.160 ; + RECT 91.525 157.510 110.380 159.860 ; + RECT 108.030 157.210 110.380 157.510 ; + RECT 105.530 153.060 112.480 157.210 ; + RECT 149.535 155.770 151.245 161.995 ; + RECT 147.800 154.650 152.830 155.770 ; + RECT 147.310 151.110 153.770 154.650 ; + LAYER met2 ; + RECT 129.120 218.810 131.170 220.760 ; + RECT 129.690 217.990 130.610 218.810 ; + RECT 131.950 218.720 134.000 220.670 ; + RECT 132.380 217.990 133.300 218.720 ; + RECT 135.080 218.520 137.130 220.470 ; + RECT 129.540 216.860 130.710 217.990 ; + RECT 132.080 217.620 133.300 217.990 ; + RECT 135.440 217.940 136.360 218.520 ; + RECT 137.630 218.500 139.680 220.450 ; + RECT 138.300 218.000 139.220 218.500 ; + RECT 132.080 216.860 133.250 217.620 ; + RECT 135.240 216.810 136.410 217.940 ; + RECT 138.130 216.870 139.300 218.000 ; + RECT 105.120 152.240 113.550 157.430 ; + RECT 107.920 151.200 111.530 152.240 ; + RECT 147.570 151.300 153.360 154.350 ; + RECT 105.580 147.270 113.530 151.200 ; + RECT 148.120 149.780 152.960 151.300 ; + RECT 147.390 147.140 153.840 149.780 ; + LAYER met3 ; + RECT 135.000 224.750 136.210 224.760 ; + RECT 129.600 223.840 130.600 224.750 ; + RECT 129.970 220.660 130.330 223.840 ; + RECT 132.350 223.540 133.500 224.750 ; + RECT 134.900 223.550 136.260 224.750 ; + RECT 137.750 224.000 139.060 224.750 ; + RECT 137.750 223.800 139.050 224.000 ; + RECT 129.170 218.860 130.970 220.660 ; + RECT 132.780 220.570 133.140 223.540 ; + RECT 132.000 218.770 133.800 220.570 ; + RECT 135.245 220.370 135.695 223.550 ; + RECT 135.130 218.570 136.930 220.370 ; + RECT 138.150 220.350 138.470 223.800 ; + RECT 137.680 218.550 139.480 220.350 ; + RECT 105.120 146.850 114.200 151.420 ; + RECT 107.470 144.360 111.120 146.850 ; + RECT 147.010 146.190 154.370 149.980 ; + RECT 148.300 144.860 153.170 146.190 ; + RECT 105.820 142.050 113.240 144.360 ; + RECT 147.160 141.790 154.320 144.860 ; + RECT 147.570 141.130 154.310 141.790 ; + LAYER met4 ; + RECT 91.300 224.800 91.390 225.100 ; + RECT 96.600 224.800 96.910 225.290 ; + RECT 4.975 224.760 30.670 224.800 ; + RECT 30.970 224.760 33.430 224.800 ; + RECT 33.730 224.760 36.190 224.800 ; + RECT 36.490 224.760 38.950 224.800 ; + RECT 39.250 224.760 41.710 224.800 ; + RECT 42.010 224.760 44.470 224.800 ; + RECT 44.770 224.760 47.230 224.800 ; + RECT 47.530 224.760 49.990 224.800 ; + RECT 50.290 224.760 52.750 224.800 ; + RECT 53.050 224.760 55.510 224.800 ; + RECT 55.810 224.760 58.270 224.800 ; + RECT 58.570 224.760 61.030 224.800 ; + RECT 61.330 224.760 63.790 224.800 ; + RECT 64.090 224.760 66.550 224.800 ; + RECT 66.850 224.760 69.310 224.800 ; + RECT 69.610 224.760 72.070 224.800 ; + RECT 72.370 224.760 74.830 224.800 ; + RECT 75.130 224.760 77.590 224.800 ; + RECT 77.890 224.760 80.350 224.800 ; + RECT 80.650 224.760 83.110 224.800 ; + RECT 83.410 224.760 85.870 224.800 ; + RECT 86.170 224.760 88.630 224.800 ; + RECT 88.930 224.760 91.390 224.800 ; + RECT 91.690 224.760 94.150 224.800 ; + RECT 94.450 224.760 96.910 224.800 ; + RECT 97.210 224.800 97.540 225.240 ; + RECT 97.210 224.760 99.670 224.800 ; + RECT 99.970 224.760 102.430 224.800 ; + RECT 102.730 224.760 105.190 224.800 ; + RECT 105.490 224.760 107.950 224.800 ; + RECT 108.250 224.760 110.710 224.800 ; + RECT 111.010 224.760 113.470 224.800 ; + RECT 113.770 224.760 116.230 224.800 ; + RECT 116.530 224.760 118.990 224.800 ; + RECT 119.290 224.760 121.750 224.800 ; + RECT 122.050 224.760 124.510 224.800 ; + RECT 124.810 224.760 127.270 224.800 ; + RECT 127.570 224.760 127.705 224.800 ; + RECT 4.975 224.450 127.705 224.760 ; + RECT 4.975 220.760 5.325 224.450 ; + RECT 127.355 222.505 127.705 224.450 ; + RECT 129.550 224.760 130.030 224.800 ; + RECT 130.330 224.760 130.660 224.800 ; + RECT 129.550 224.100 130.660 224.760 ; + RECT 132.300 224.760 132.790 224.800 ; + RECT 133.090 224.760 133.550 224.800 ; + RECT 132.300 224.100 133.550 224.760 ; + RECT 132.200 223.800 133.550 224.100 ; + RECT 134.800 224.760 135.550 224.800 ; + RECT 135.850 224.760 136.350 224.800 ; + RECT 134.800 223.750 136.350 224.760 ; + RECT 137.650 224.760 138.310 224.800 ; + RECT 138.610 224.760 139.150 224.800 ; + RECT 137.650 223.950 139.150 224.760 ; + RECT 141.055 224.760 141.070 224.935 ; + RECT 141.370 224.760 143.830 224.935 ; + RECT 144.130 224.760 146.590 224.935 ; + RECT 146.890 224.760 146.935 224.935 ; + RECT 141.055 224.585 146.935 224.760 ; + RECT 141.055 222.505 141.405 224.585 ; + RECT 127.355 222.155 141.405 222.505 ; + RECT 105.250 144.360 113.830 144.860 ; + RECT 104.310 142.490 113.830 144.360 ; + RECT 6.000 141.770 113.830 142.490 ; + RECT 6.000 138.320 113.250 141.770 ; + RECT 146.480 140.040 155.490 145.150 ; + RECT 148.230 139.560 153.090 140.040 ; + RECT 105.190 136.890 113.250 138.320 ; + RECT 149.390 9.510 152.030 139.560 ; + RECT 149.360 5.820 152.950 9.510 ; + RECT 132.490 1.000 133.390 3.250 ; + RECT 151.800 1.000 152.720 5.820 ; + RECT 151.800 0.140 151.810 1.000 ; + RECT 152.710 0.140 152.720 1.000 ; + END +END tt_um_r2r_dac +END LIBRARY + diff --git a/projects/tt_um_r2r_dac/tt_um_r2r_dac.v b/projects/tt_um_r2r_dac/tt_um_r2r_dac.v new file mode 100644 index 00000000..f3cf1799 --- /dev/null +++ b/projects/tt_um_r2r_dac/tt_um_r2r_dac.v @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2024 Your Name + * SPDX-License-Identifier: Apache-2.0 + */ + +`default_nettype none + +module tt_um_r2r_dac ( + input wire VGND, + input wire VDPWR, // 1.8v power supply +// input wire VAPWR, // 3.3v power supply + input wire [7:0] ui_in, // Dedicated inputs + output wire [7:0] uo_out, // Dedicated outputs + input wire [7:0] uio_in, // IOs: Input path + output wire [7:0] uio_out, // IOs: Output path + output wire [7:0] uio_oe, // IOs: Enable path (active high: 0=input, 1=output) + inout wire [7:0] ua, // Analog pins, only ua[5:0] can be used + input wire ena, // always 1 when the design is powered, so you can ignore it + input wire clk, // clock + input wire rst_n // reset_n - low to reset +); + +endmodule