{"id":16909424,"url":"https://github.com/yjdoc2/pcb-rs-examples","last_synced_at":"2025-04-11T15:51:06.164Z","repository":{"id":100667039,"uuid":"463939221","full_name":"YJDoc2/pcb-rs-examples","owner":"YJDoc2","description":"Repository containing examples of usage of pcb-rs","archived":false,"fork":false,"pushed_at":"2022-04-08T11:26:57.000Z","size":5441,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-25T11:52:29.281Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/YJDoc2.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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}},"created_at":"2022-02-26T18:50:30.000Z","updated_at":"2024-07-21T12:23:14.000Z","dependencies_parsed_at":"2023-05-16T16:00:38.604Z","dependency_job_id":null,"html_url":"https://github.com/YJDoc2/pcb-rs-examples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YJDoc2%2Fpcb-rs-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YJDoc2%2Fpcb-rs-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YJDoc2%2Fpcb-rs-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YJDoc2%2Fpcb-rs-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YJDoc2","download_url":"https://codeload.github.com/YJDoc2/pcb-rs-examples/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248434692,"owners_count":21102886,"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":[],"created_at":"2024-10-13T18:55:46.140Z","updated_at":"2025-04-11T15:51:06.139Z","avatar_url":"https://github.com/YJDoc2.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PCB-RS Examples\n\n---\n\nThis repository contains examples to demonstrate use of [pcb-rs](https://www.github.com/YJDoc2/pcb-rs). To see more information about what is pcb-rs, the reasoning behind it, and basic syntax and examples, visit its repository at [https://www.github.com/YJDoc2/pcb-rs](https://www.github.com/YJDoc2/pcb-rs).\n\nThis repository contains various examples on how to write components, as well as how to reuse components from other libraries to create a composite component. Each of the directories contain their own readme describing the that particular example.\n\nThe web version of these examples is hosted at [yjdoc2.github.io/pcb-rs-examples/](https://yjdoc2.github.io/pcb-rs-examples/), so you can try them right in your browser without needing to install anything, as well as show the possibilities with this library and WASM for making such electronics related tools and simulations.\n\n---\n\nVarious directories in this repo contain different examples, and their details are explained in their own readmes in that directory. Currently this repo contains following directories :\n\n- [Basic Gates](./basic-gates/) : This contains basic gates such as And, Or, Not etc.\n- [Full Adder](./full-adder/) : This contains a full (3-bit) adder, made using basic gates.\n- [Ripple Carry Adder](./ripple-carry-adder/) : This contains a 4-bit ripple carry adder made using full adders.\n- [CLA Adder](./cla-adder/) : This contains a 4-bit carry look ahead adder, which is a faster version of ripple adder, but needs more gates and complex circuit.\n- [Latches](./latches/) : This contains various latches such as SR, D, T, JK etc.\n- [Ring Counter](./ring-counter/) : This contains One-Hot and Johnson's ring counter made using Latches.\n- [RAM](./ram/) : This contains a 256-byte ram chip.\n- [CPU](./cpu/) : This contains a 8-bit CPU having 18 instructions such as add, sub, mov, jmps etc.\n- [PCB](./pcb/) : This has a pcb, which connected the RAM and CPU to form a runnable (although not much useful) microprocessor. This is a binary (not a lib) and can be run from command line using `cargo run`.\n\nApart from these, this also contains following two directories which provides a svelte web app to show the above using a web interface, and WASM bindings.\n\n- [wasm-bindings](./wasm-bindings/) : This contains the WASM interface and bindings needed for using the above components from web interface.\n- [pcb-web-interface](./pcb-web-interface/) : This has the svelte app, which provides a web interface for above components, so you don't have to install anything to try them. This is hosted at [yjdoc2.github.io/pcb-rs-examples/](https://yjdoc2.github.io/pcb-rs-examples/).\n\n---\n\n## License\n\nLicensed under either of\n\n- Apache License, Version 2.0\n  ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n- MIT license\n  ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyjdoc2%2Fpcb-rs-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyjdoc2%2Fpcb-rs-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyjdoc2%2Fpcb-rs-examples/lists"}