{"id":13648085,"url":"https://github.com/jiegec/chisel-memory-lower","last_synced_at":"2025-04-21T23:31:41.485Z","repository":{"id":166946504,"uuid":"623728694","full_name":"jiegec/chisel-memory-lower","owner":"jiegec","description":"Lower chisel memories to SRAM macros","archived":false,"fork":false,"pushed_at":"2024-03-25T05:33:11.000Z","size":80,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T16:55:58.799Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jiegec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2023-04-05T00:49:22.000Z","updated_at":"2025-01-22T02:12:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"62ce9400-cc85-4cc3-8371-157a4098970d","html_url":"https://github.com/jiegec/chisel-memory-lower","commit_stats":null,"previous_names":["jiegec/chisel-memory-lower"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiegec%2Fchisel-memory-lower","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiegec%2Fchisel-memory-lower/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiegec%2Fchisel-memory-lower/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiegec%2Fchisel-memory-lower/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jiegec","download_url":"https://codeload.github.com/jiegec/chisel-memory-lower/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250150767,"owners_count":21383221,"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-08-02T01:03:57.586Z","updated_at":"2025-04-21T23:31:41.231Z","avatar_url":"https://github.com/jiegec.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# chisel-memory-lower\n\nLower chisel3 memory Blackbox to macros.\n\nTargets:\n\n- Xilinx\n- ARM Memory IP\n\nUsage:\n\n```shell\npython3 -m chisel_memory_lower.generate xilinx example.conf --tb\npython3 -m chisel_memory_lower.generate arm example.conf --arm-config arm.yaml --tb\n```\n\n## Read under Write\n\nChisel allows three read under write behaviors, `Undefined`, `ReadFirst` or `WriteFirst`. For 1R1W RAM, The behavior is:\n\n- `SyncReadMem()`: unspecified in FIRRTL, `WriteFirst` in behavior model\n- `SyncReadMem(Undefined)`: unspecified in FIRRTL, `WriteFirst` in behavior model\n- `SyncReadMem(ReadFirst)`: `old` in FIRRTL, `ReadFirst` in behavior model\n- `SyncReadMem(WriteFirst)`: `new` in FIRRTL, `WriteFirst` in behavior model\n\nHowever, XPM only supports `Undefined`(NO_CHANGE \u0026 WRITE_FIRST, generates `x`) and `ReadFirst`(READ_FIRST). ARM Memory IP only supports `Undefined`(generates `x`). Thus the behavior is not guaranteed when lowering.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiegec%2Fchisel-memory-lower","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjiegec%2Fchisel-memory-lower","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiegec%2Fchisel-memory-lower/lists"}