ROBの削減効果の確認。デバッグして一応テストパタンが通るようになってきたので、Vivadoで論理合成してその効果を確認していきたい。
- ROB面積削減適用前
+-------------------------+----------------------------+------------+------------+---------+------+-------+--------+--------+--------------+ | Instance | Module | Total LUTs | Logic LUTs | LUTRAMs | SRLs | FFs | RAMB36 | RAMB18 | DSP48 Blocks | +-------------------------+----------------------------+------------+------------+---------+------+-------+--------+--------+--------------+ | mycpu__tile_wrapper | (top) | 72524 | 71216 | 1276 | 32 | 42378 | 12 | 52 | 20 | | (mycpu__tile_wrapper) | (top) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | u_mycpu__tile | mycpu__tile | 72524 | 71216 | 1276 | 32 | 42378 | 12 | 52 | 20 | | (u_mycpu__tile) | mycpu__tile | 9 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | | alu_loop[0].u_alu | mycpu__alu | 6554 | 6538 | 0 | 16 | 2765 | 0 | 0 | 10 | | alu_loop[1].u_alu | mycpu__alu__parameterized0 | 6482 | 6466 | 0 | 16 | 2739 | 0 | 0 | 10 | | u_bru | mycpu__bru | 2277 | 2277 | 0 | 0 | 1134 | 0 | 0 | 0 | | u_csu | mycpu__csu | 2088 | 2088 | 0 | 0 | 2893 | 0 | 0 | 0 | | u_frontend | mycpu__frontend | 12513 | 12065 | 448 | 0 | 11405 | 4 | 12 | 0 | | u_int_phy_registers | mycpu__phy_registers | 3010 | 2570 | 440 | 0 | 614 | 0 | 40 | 0 | | u_lsu_top | mycpu__lsu_top | 23644 | 23256 | 388 | 0 | 8256 | 8 | 0 | 0 | | u_ptw | mycpu__ptw | 188 | 188 | 0 | 0 | 50 | 0 | 0 | 0 | | u_rename | mycpu__rename | 3622 | 3622 | 0 | 0 | 2301 | 0 | 0 | 0 | | u_resource_alloc | mycpu__resource_alloc | 118 | 118 | 0 | 0 | 50 | 0 | 0 | 0 | | u_rob | mycpu__rob | 11900 | 11900 | 0 | 0 | 9763 | 0 | 0 | 0 | | u_snoop_top | mycpu__snoop_top | 119 | 119 | 0 | 0 | 408 | 0 | 0 | 0 | +-------------------------+----------------------------+------------+------------+---------+------+-------+--------+--------+--------------+
- ROB面積削減適用後
+-------------------------+----------------------------+------------+------------+---------+------+-------+--------+--------+--------------+ | Instance | Module | Total LUTs | Logic LUTs | LUTRAMs | SRLs | FFs | RAMB36 | RAMB18 | DSP48 Blocks | +-------------------------+----------------------------+------------+------------+---------+------+-------+--------+--------+--------------+ | scariv_tile_wrapper | (top) | 61861 | 60553 | 1276 | 32 | 37501 | 12 | 52 | 20 | | (scariv_tile_wrapper) | (top) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | u_scariv_tile | scariv_tile | 61861 | 60553 | 1276 | 32 | 37501 | 12 | 52 | 20 | | (u_scariv_tile) | scariv_tile | 9 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | | alu_loop[0].u_alu | scariv_alu | 6555 | 6539 | 0 | 16 | 2767 | 0 | 0 | 10 | | alu_loop[1].u_alu | scariv_alu__parameterized0 | 6483 | 6467 | 0 | 16 | 2741 | 0 | 0 | 10 | | u_bru | scariv_bru | 2277 | 2277 | 0 | 0 | 1134 | 0 | 0 | 0 | | u_csu | scariv_csu | 2024 | 2024 | 0 | 0 | 2896 | 0 | 0 | 0 | | u_frontend | scariv_frontend | 12539 | 12091 | 448 | 0 | 11433 | 4 | 12 | 0 | | u_int_phy_registers | scariv_phy_registers | 3010 | 2570 | 440 | 0 | 614 | 0 | 40 | 0 | | u_lsu_top | scariv_lsu_top | 21584 | 21196 | 388 | 0 | 8174 | 8 | 0 | 0 | | u_ptw | scariv_ptw | 188 | 188 | 0 | 0 | 50 | 0 | 0 | 0 | | u_rename | scariv_rename | 3622 | 3622 | 0 | 0 | 2329 | 0 | 0 | 0 | | u_resource_alloc | scariv_resource_alloc | 118 | 118 | 0 | 0 | 50 | 0 | 0 | 0 | | u_rob | scariv_rob | 3333 | 3333 | 0 | 0 | 4905 | 0 | 0 | 0 | | u_snoop_top | scariv_snoop_top | 119 | 119 | 0 | 0 | 408 | 0 | 0 | 0 | +-------------------------+----------------------------+------------+------------+---------+------+-------+--------+--------+--------------+
いいね、u_robが3割近くLUTが削減された。