diff --git a/README.md b/README.md index 900cb78..a897981 100644 --- a/README.md +++ b/README.md @@ -133,7 +133,11 @@ make report.soc.all ### Litex -Litex support is still missing but has a high priority. Check out our [TODOs](#todos) and feel free to open a pull request. +[LiteX](https://github.com/enjoy-digital/litex) supports FazyRV with the following options: `--cpu-chunksize` to set the chunk size (`1`, `2`, `4`, or `8`), `--cpu-conf` to set the configuration (`MIN`, `INT`, or `CSR`) and `--cpu-rftype` to set the register file type (`LOGIC`, `BRAM`, `BRAM_BP`, `BRAM_DP`, or `BRAM_DP_BP`). + +```shell +litex_sim --cpu-type=fazyrv --cpu-chunksize=4 --cpu-rftype=LOGIC +``` ## Tests and Verification @@ -145,9 +149,9 @@ Execute the tests with the make target below by replacing the ``, `-- +make sim.riscvtests.-- # e.g., -make sim.rivtests.8-MIN-BRAN +make sim.riscvtests.8-MIN-BRAM # or make report.riscvtests.all ``` @@ -245,7 +249,6 @@ python3 fuzz.py --espresso_file ../decoder --riscvtests_dir ../../../sim --riscv ## TODOs - [ ] Workflow: caching, tool versions, artifacts, dependence on some local tools -- [ ] Litex support for FazyRV - [ ] RVC extension (compressed instructions) - [ ] INT variant - [ ] CSR variant diff --git a/doc/area.svg b/doc/area.svg index 8ef5f70..562004f 100644 --- a/doc/area.svg +++ b/doc/area.svg @@ -6,7 +6,7 @@ - 2024-03-01T17:50:55.623000 + 2024-03-07T12:37:06.227253 image/svg+xml @@ -43,7 +43,7 @@ L 326.600697 110.749091 L 326.600697 101.619021 L 115.2 101.619021 z -" clip-path="url(#pcc1303c81c)" style="fill: #696969"/> +" clip-path="url(#p212b4b0aee)" style="fill: #696969"/> +" clip-path="url(#p212b4b0aee)" style="fill: #696969"/> +" clip-path="url(#p212b4b0aee)" style="fill: #696969"/> +" clip-path="url(#p212b4b0aee)" style="fill: #696969"/> +" clip-path="url(#p212b4b0aee)" style="fill: #696969"/> +" clip-path="url(#p212b4b0aee)" style="fill: #696969"/> +" clip-path="url(#p212b4b0aee)" style="fill: #696969"/> +" clip-path="url(#p212b4b0aee)" style="fill: #696969"/> +" clip-path="url(#p212b4b0aee)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - - + @@ -152,11 +152,11 @@ z +" clip-path="url(#p212b4b0aee)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -188,11 +188,11 @@ z +" clip-path="url(#p212b4b0aee)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -234,11 +234,11 @@ z +" clip-path="url(#p212b4b0aee)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -288,11 +288,11 @@ z +" clip-path="url(#p212b4b0aee)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -329,11 +329,11 @@ z +" clip-path="url(#p212b4b0aee)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -376,16 +376,16 @@ z +" clip-path="url(#p212b4b0aee)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - - + @@ -393,11 +393,11 @@ L 0 2 +" clip-path="url(#p212b4b0aee)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -405,11 +405,11 @@ L 177.992286 17.28 +" clip-path="url(#p212b4b0aee)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -417,11 +417,11 @@ L 219.85381 17.28 +" clip-path="url(#p212b4b0aee)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -429,11 +429,11 @@ L 261.715334 17.28 +" clip-path="url(#p212b4b0aee)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -528,12 +528,12 @@ z - - + @@ -768,7 +768,7 @@ z - + @@ -790,7 +790,7 @@ z - + @@ -818,7 +818,7 @@ z - + @@ -840,7 +840,7 @@ z - + @@ -868,7 +868,7 @@ z - + @@ -890,7 +890,7 @@ z - + @@ -918,7 +918,7 @@ z - + @@ -959,8 +959,8 @@ L 337.170732 17.28 " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/> - - + + + - - - - - - - - - - + + + + + + + + @@ -1433,55 +1418,55 @@ L 559.669965 99.336503 L 559.669965 90.206434 L 348.269268 90.206434 z -" clip-path="url(#p464ded1852)" style="fill: #696969"/> +" clip-path="url(#pef338dd368)" style="fill: #696969"/> - +" clip-path="url(#pef338dd368)" style="fill: #696969"/> - +" clip-path="url(#pef338dd368)" style="fill: #696969"/> - +" clip-path="url(#pef338dd368)" style="fill: #696969"/> - - - +" clip-path="url(#pef338dd368)" style="fill: #696969"/> + + + - +" clip-path="url(#pef338dd368)" style="fill: #696969"/> +" clip-path="url(#pef338dd368)" style="fill: #696969"/> +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1514,11 +1499,11 @@ L 348.269268 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1534,11 +1519,11 @@ L 382.256519 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1554,11 +1539,11 @@ L 416.243769 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1574,11 +1559,11 @@ L 450.231019 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1594,11 +1579,11 @@ L 484.218269 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1614,11 +1599,11 @@ L 518.20552 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1666,11 +1651,11 @@ z +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1678,11 +1663,11 @@ L 365.262893 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1690,11 +1675,11 @@ L 399.250144 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1702,11 +1687,11 @@ L 433.237394 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1714,11 +1699,11 @@ L 467.224644 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1726,11 +1711,11 @@ L 501.211895 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1738,11 +1723,11 @@ L 535.199145 17.28 +" clip-path="url(#pef338dd368)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #b0b0b0"/> - + @@ -1761,56 +1746,56 @@ L 569.186395 17.28 - + - + - + - + - + - + - + - + @@ -1836,9 +1821,30 @@ L 570.24 17.28 " style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/> - - + + + - - - - - - - - + + + + + + + + - + - + diff --git a/doc/area.txt b/doc/area.txt index 9db27c9..e66c3d1 100644 --- a/doc/area.txt +++ b/doc/area.txt @@ -138,3 +138,43 @@ fsoc, iCE40 Number of LUT-4 (latest update: c3d9af1) ******************************************** 498 4-MIN-BRAM **************************************************** 585 8-MIN-BRAM_DP_BP ******************************************************** 622 8-MIN-BRAM +FazyRV, iCE40 Number of LUT-4 (latest update: 713b147) +------------------------------------------------------------------------------- +******************************* 283 1-MIN-BRAM_DP_BP +******************************** 291 1-MIN-BRAM +********************************** 311 2-MIN-BRAM +*********************************** 319 2-MIN-BRAM_DP_BP +**************************************** 366 4-MIN-BRAM_DP_BP +***************************************** 373 4-MIN-BRAM +******************************************************* 500 8-MIN-BRAM +******************************************************** 505 8-MIN-BRAM_DP_BP +fsoc, iCE40 Number of LUT-4 (latest update: 713b147) +------------------------------------------------------------------------------- +******************************** 361 1-MIN-BRAM_DP_BP +*********************************** 390 2-MIN-BRAM_DP_BP +************************************ 410 1-MIN-BRAM +*************************************** 439 2-MIN-BRAM +**************************************** 445 4-MIN-BRAM_DP_BP +******************************************** 498 4-MIN-BRAM +**************************************************** 585 8-MIN-BRAM_DP_BP +******************************************************** 622 8-MIN-BRAM +FazyRV, iCE40 Number of LUT-4 (latest update: 7c3a4db) +------------------------------------------------------------------------------- +******************************* 283 1-MIN-BRAM_DP_BP +******************************** 291 1-MIN-BRAM +********************************** 311 2-MIN-BRAM +*********************************** 319 2-MIN-BRAM_DP_BP +**************************************** 366 4-MIN-BRAM_DP_BP +***************************************** 373 4-MIN-BRAM +******************************************************* 500 8-MIN-BRAM +******************************************************** 505 8-MIN-BRAM_DP_BP +fsoc, iCE40 Number of LUT-4 (latest update: 7c3a4db) +------------------------------------------------------------------------------- +******************************** 361 1-MIN-BRAM_DP_BP +*********************************** 390 2-MIN-BRAM_DP_BP +************************************ 410 1-MIN-BRAM +*************************************** 439 2-MIN-BRAM +**************************************** 445 4-MIN-BRAM_DP_BP +******************************************** 498 4-MIN-BRAM +**************************************************** 585 8-MIN-BRAM_DP_BP +******************************************************** 622 8-MIN-BRAM