{"id":17188981,"url":"https://github.com/proppy/tinytapeout-xls-inverter","last_synced_at":"2025-03-25T04:53:01.540Z","repository":{"id":136536838,"uuid":"531011079","full_name":"proppy/tinytapeout-xls-inverter","owner":"proppy","description":null,"archived":false,"fork":false,"pushed_at":"2022-09-23T00:24:50.000Z","size":249,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-30T05:13:21.914Z","etag":null,"topics":["tinytapeout"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/proppy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://zerotoasiccourse.com"]}},"created_at":"2022-08-31T09:12:51.000Z","updated_at":"2022-09-02T09:18:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"7df3f7da-8161-4964-8718-f548619d8c4e","html_url":"https://github.com/proppy/tinytapeout-xls-inverter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"proppy/tinytapeout-xls-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proppy%2Ftinytapeout-xls-inverter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proppy%2Ftinytapeout-xls-inverter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proppy%2Ftinytapeout-xls-inverter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proppy%2Ftinytapeout-xls-inverter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/proppy","download_url":"https://codeload.github.com/proppy/tinytapeout-xls-inverter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245401398,"owners_count":20609167,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["tinytapeout"],"created_at":"2024-10-15T01:10:27.166Z","updated_at":"2025-03-25T04:53:01.503Z","avatar_url":"https://github.com/proppy.png","language":"Jupyter Notebook","funding_links":["https://zerotoasiccourse.com"],"categories":[],"sub_categories":[],"readme":"![](../../workflows/wokwi/badge.svg)\n\n# XLS template for TinyTapeout\n\nTemplate for submitting [TinyTapeout](https://tinytapeout.com) designs based on [XLS: Accelerated HW Synthesis](https://github.com/google/xls) toolkit .\n\n## Example\n\n\n### DSLX input\n\n```\nfn inverter(n: u8) -\u003e u8 {\n  !n\n}\n\n#![test]\nfn popcount_test() {\n  let _= assert_eq(inverter(u8:0b0000_0000), u8:0b1111_1111);\n  let _= assert_eq(inverter(u8:0b0000_0001), u8:0b1111_1110);\n  let _= assert_eq(inverter(u8:0b1111_0000), u8:0b0000_1111);\n  let _= assert_eq(inverter(u8:0b0101_0101), u8:0b1010_1010);\n  let _= assert_eq(inverter(u8:0b1111_1111), u8:0b0000_0000);\n  _\n}\n\npub fn user_module(io_in: u8) -\u003e u8 {\n  inverter(io_in)\n}\n```\n\n### Verilog output\n\n```\nmodule user_module_339800239192932947(\n  input wire [7:0] io_in,\n  output wire [7:0] out\n);\n  assign out = ~io_in;\nendmodule\n```\n\n\n# How to change the Wokwi project\n\nEdit the [Makefile](Makefile) and change the WOKWI_PROJECT_ID to match your project.\n\n# What is this about?\n\nThis repo is a template you can make a copy of for your own [ASIC](https://www.zerotoasiccourse.com/terminology/asic/) design using [Wokwi](https://wokwi.com/).\n\nWhen you edit the Makefile to choose a different ID, the [GitHub Action](.github/workflows/wokwi.yaml) will fetch the digital netlist of your design from Wokwi.\n\nThe design gets wrapped in some extra logic that builds a 'scan chain'. This is a way to put lots of designs onto one chip and still have access to them all. You can see [all of the technical details here](https://github.com/mattvenn/scan_wrapper).\n\nAfter that, the action uses the open source ASIC tool called [OpenLane](https://www.zerotoasiccourse.com/terminology/openlane/) to build the files needed to fabricate an ASIC.\n\n# What files get made?\n\nWhen the action is complete, you can [click here](https://github.com/mattvenn/wokwi-verilog-gds-test/actions) to see the latest build of your design. You need to download the zip file and take a look at the contents:\n\n* gds_render.svg - picture of your ASIC design\n* gds.html - zoomable picture of your ASIC design\n* runs/wokwi/reports/final_summary_report.csv  - CSV file with lots of details about the design\n* runs/wokwi/reports/synthesis/1-synthesis.stat.rpt.strategy4 - list of the [standard cells](https://www.zerotoasiccourse.com/terminology/standardcell/) used by your design\n* runs/wokwi/results/final/gds/user_module.gds - the final [GDS](https://www.zerotoasiccourse.com/terminology/gds2/) file needed to make your design\n\n# What next?\n\n* Share your GDS on twitter, tag it #tinytapeout and [link me](https://twitter.com/matthewvenn)!\n* [Submit it to be made](https://docs.google.com/forms/d/e/1FAIpQLSc3ZF0AHKD3LoZRSmKX5byl-0AzrSK8ADeh0DtkZQX0bbr16w/viewform?usp=sf_link)\n* [Join the community](https://discord.gg/rPK2nSjxy8)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproppy%2Ftinytapeout-xls-inverter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproppy%2Ftinytapeout-xls-inverter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproppy%2Ftinytapeout-xls-inverter/lists"}