mirror of https://github.com/YosysHQ/picorv32.git
Updated evaluation
This commit is contained in:
parent
198c995c8f
commit
9d3b0a9692
55
README.md
55
README.md
|
@ -516,36 +516,49 @@ are using the name prefix `riscv64-unknown-elf-` by default.
|
||||||
Evaluation: Timing and Utilization on Xilinx 7-Series FPGAs
|
Evaluation: Timing and Utilization on Xilinx 7-Series FPGAs
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
|
|
||||||
The following table lists the maximum clock speeds that PicoRV32 can run at on
|
The following evaluations have been performed with Vivado 2015.1.
|
||||||
Xilinx 7-Series FPGAs. This are the values reported by Vivado 2015.1 post
|
|
||||||
place&route static timing analysis with `report_timing`.
|
#### Timing on Xilinx 7-Series FPGAs
|
||||||
|
|
||||||
|
The `picorv32_axi` module in its default configuration has been placed and
|
||||||
|
routed for Xilinx Artix-7T (xc7a15t-fgg484), Xilinx Kintex-7T (xc7k70t-fbg676),
|
||||||
|
and Xilinx Virtex-7T (xc7v585t-ffg1761) devices in all speed grades. A binary
|
||||||
|
search is used to find the lowest clock period for which the design meets
|
||||||
|
timing.
|
||||||
|
|
||||||
|
See `make table.txt` in [scripts/vivado/](scripts/vivado/).
|
||||||
|
|
||||||
| Device | Speedgrade | Clock Period (Freq.) |
|
| Device | Speedgrade | Clock Period (Freq.) |
|
||||||
|:-------------------- |:----------:| --------------------:|
|
|:-------------------- |:----------:| --------------------:|
|
||||||
| Xilinx Artix-7T | -1 | 5.1 ns (196 MHz) |
|
| Xilinx Artix-7T | -1 | 4.8 ns (208 MHz) |
|
||||||
| Xilinx Artix-7T | -2 | 4.1 ns (243 MHz) |
|
| Xilinx Artix-7T | -2 | 3.9 ns (256 MHz) |
|
||||||
| Xilinx Artix-7T | -3 | 3.6 ns (277 MHz) |
|
| Xilinx Artix-7T | -3 | 3.7 ns (270 MHz) |
|
||||||
| Xilinx Kintex-7T | -1 | 3.3 ns (303 MHz) |
|
| Xilinx Kintex-7T | -1 | 3.4 ns (294 MHz) |
|
||||||
| Xilinx Kintex-7T | -2 | 2.6 ns (384 MHz) |
|
| Xilinx Kintex-7T | -2 | 2.7 ns (370 MHz) |
|
||||||
| Xilinx Kintex-7T | -3 | 2.5 ns (400 MHz) |
|
| Xilinx Kintex-7T | -3 | 2.6 ns (384 MHz) |
|
||||||
| Xilinx Virtex-7T | -1 | 3.1 ns (322 MHz) |
|
| Xilinx Virtex-7T | -1 | 3.0 ns (333 MHz) |
|
||||||
| Xilinx Virtex-7T | -2 | 2.6 ns (384 MHz) |
|
| Xilinx Virtex-7T | -2 | 2.5 ns (400 MHz) |
|
||||||
| Xilinx Virtex-7T | -3 | 2.4 ns (416 MHz) |
|
| Xilinx Virtex-7T | -3 | 2.4 ns (416 MHz) |
|
||||||
|
|
||||||
The following table lists the resource utilization in area-optimized synthesis,
|
#### Utilization on Xilinx 7-Series FPGAs
|
||||||
as reported by Vivado 2015.1 post optimization with `report_utilization`.
|
|
||||||
|
|
||||||
PicoRV32 "small" is the core without counter instructions, with externally
|
The following table lists the resource utilization in area-optimized synthesis
|
||||||
latched `mem_rdata`, and without catching of misaligned memory accesses and
|
for the following three cores:
|
||||||
illegal instructions.
|
|
||||||
|
|
||||||
PicoRV32 "regular" is simply the core with its default settings.
|
- **PicoRV32 (small):** The `picorv32` module without counter instructions,
|
||||||
|
with externally latched `mem_rdata`, and without catching of misaligned
|
||||||
|
memory accesses and illegal instructions.
|
||||||
|
|
||||||
And PicoRV32 "large" is with enabled PCPI, IRQ and MUL features.
|
- **PicoRV32 (regular):** The `picorv32` module in its default configuration.
|
||||||
|
|
||||||
|
- **PicoRV32 (large):** The `picorv32` module with enabled PCPI, IRQ and MUL
|
||||||
|
features.
|
||||||
|
|
||||||
|
See `make area` in [scripts/vivado/](scripts/vivado/).
|
||||||
|
|
||||||
| Core Variant | Slice LUTs | LUTs as Memory | Slice Registers |
|
| Core Variant | Slice LUTs | LUTs as Memory | Slice Registers |
|
||||||
|:------------------ | ----------:| --------------:| ---------------:|
|
|:------------------ | ----------:| --------------:| ---------------:|
|
||||||
| PicoRV32 "small" | 828 | 48 | 422 |
|
| PicoRV32 (small) | 828 | 48 | 422 |
|
||||||
| PicoRV32 "regular" | 968 | 48 | 564 |
|
| PicoRV32 (regular) | 968 | 48 | 564 |
|
||||||
| PicoRV32 "large" | 1742 | 88 | 1002 |
|
| PicoRV32 (large) | 1742 | 88 | 1002 |
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue