{"id":13648924,"url":"https://github.com/ucb-bar/berkeley-hardfloat","last_synced_at":"2025-04-09T05:11:58.964Z","repository":{"id":20500475,"uuid":"23778918","full_name":"ucb-bar/berkeley-hardfloat","owner":"ucb-bar","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-11T22:19:54.000Z","size":1367,"stargazers_count":312,"open_issues_count":21,"forks_count":88,"subscribers_count":52,"default_branch":"master","last_synced_at":"2025-04-02T04:04:39.563Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ucb-bar.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":"2014-09-08T04:13:04.000Z","updated_at":"2025-03-31T15:54:05.000Z","dependencies_parsed_at":"2024-06-05T23:13:07.604Z","dependency_job_id":"17bcf312-6eab-4b43-a8ee-efe296c196bb","html_url":"https://github.com/ucb-bar/berkeley-hardfloat","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucb-bar%2Fberkeley-hardfloat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucb-bar%2Fberkeley-hardfloat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucb-bar%2Fberkeley-hardfloat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucb-bar%2Fberkeley-hardfloat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ucb-bar","download_url":"https://codeload.github.com/ucb-bar/berkeley-hardfloat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247980844,"owners_count":21027808,"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:04:38.707Z","updated_at":"2025-04-09T05:11:58.938Z","avatar_url":"https://github.com/ucb-bar.png","language":"Scala","funding_links":[],"categories":["Scala","Libraries"],"sub_categories":[],"readme":"Berkeley Hardware Floating-Point Units\n======================================\n\nThis repository contains hardware floating-point units written in Chisel.\nThis library contains parameterized floating-point units for fused multiply-add\noperations, conversions between integer and floating-point numbers, and\nconversions between floating-point conversions with different precision.\n\n**WARNING**:\nThese units are works in progress.  They may not be yet completely free of\nbugs, nor are they fully optimized.\n\n\nRecoded Format\n--------------\n\nThe floating-point units in this repository work on an internal recoded format\n(exponent has an additional bit) to handle subnormal numbers more efficiently\nin a microprocessor.  A more detailed explanation will come soon, but in the\nmean time here are some example mappings for single-precision numbers.\n\n    IEEE format                           Recoded format\n    ----------------------------------    -----------------------------------\n    s 00000000 00000000000000000000000    s 000------ 00000000000000000000000\n    s 00000000 00000000000000000000001    s 001101011 00000000000000000000000\n    s 00000000 0000000000000000000001f    s 001101100 f0000000000000000000000\n    s 00000000 000000000000000000001ff    s 001101101 ff000000000000000000000\n        ...              ...                   ...              ... \n    s 00000000 001ffffffffffffffffffff    s 001111111 ffffffffffffffffffff000\n    s 00000000 01fffffffffffffffffffff    s 010000000 fffffffffffffffffffff00\n    s 00000000 1ffffffffffffffffffffff    s 010000001 ffffffffffffffffffffff0\n    s 00000001 fffffffffffffffffffffff    s 010000010 fffffffffffffffffffffff\n    s 00000010 fffffffffffffffffffffff    s 010000011 fffffffffffffffffffffff\n        ...              ...                   ...              ... \n    s 11111101 fffffffffffffffffffffff    s 101111110 fffffffffffffffffffffff\n    s 11111110 fffffffffffffffffffffff    s 101111111 fffffffffffffffffffffff\n    s 11111111 00000000000000000000000    s 110------ -----------------------\n    s 11111111 fffffffffffffffffffffff    s 111------ fffffffffffffffffffffff\n\n\nUnit-Testing\n------------\n\nTo unit-test these floating-point units, you need the berkeley-testfloat-3\npackage.\n\nTo test floating-point units with the C simulator:\n\n    $ make\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fucb-bar%2Fberkeley-hardfloat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fucb-bar%2Fberkeley-hardfloat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fucb-bar%2Fberkeley-hardfloat/lists"}