Lines Matching refs:fr

1454 void output_UCA(uca_org_t *fr) {
1501 cout << " Access time (ns): " << fr->access_time*1e9 << endl;
1502 cout << " Cycle time (ns): " << fr->cycle_time*1e9 << endl;
1504 cout << " Precharge Delay (ns): " << fr->data_array2->precharge_delay*1e9 << endl;
1505 cout << " Activate Energy (nJ): " << fr->data_array2->activate_energy*1e9 << endl;
1506 cout << " Read Energy (nJ): " << fr->data_array2->read_energy*1e9 << endl;
1507 cout << " Write Energy (nJ): " << fr->data_array2->write_energy*1e9 << endl;
1508 cout << " Precharge Energy (nJ): " << fr->data_array2->precharge_energy*1e9 << endl;
1509 cout << " Leakage Power Closed Page (mW): " << fr->data_array2->leak_power_subbank_closed_page*1e3 << endl;
1510 cout << " Leakage Power Open Page (mW): " << fr->data_array2->leak_power_subbank_open_page*1e3 << endl;
1511 cout << " Leakage Power I/O (mW): " << fr->data_array2->leak_power_request_and_reply_networks*1e3 << endl;
1513 fr->data_array2->refresh_power*1e3 << endl;
1517 fr->power.searchOp.dynamic*1e9 << endl;
1519 // fr->power.readOp.dynamic*1e9 << endl;
1521 // fr->power.writeOp.dynamic*1e9 << endl;
1526 fr->power.readOp.dynamic*1e9 << endl;
1528 fr->power.writeOp.dynamic*1e9 << endl;
1531 " (mW): " << fr->power.readOp.leakage*1e3 << endl;
1533 " (mW): " << fr->power.readOp.gate_leakage*1e3 << endl;
1539 fr->cache_ht*1e-3 << " x " << fr->cache_len*1e-3 << endl << endl;
1542 cout << " Best Ndwl : " << fr->data_array2->Ndwl << endl;
1543 cout << " Best Ndbl : " << fr->data_array2->Ndbl << endl;
1544 cout << " Best Nspd : " << fr->data_array2->Nspd << endl;
1545 cout << " Best Ndcm : " << fr->data_array2->deg_bl_muxing << endl;
1546 cout << " Best Ndsam L1 : " << fr->data_array2->Ndsam_lev_1 << endl;
1547 cout << " Best Ndsam L2 : " << fr->data_array2->Ndsam_lev_2 << endl << endl;
1551 cout << " Best Ntwl : " << fr->tag_array2->Ndwl << endl;
1552 cout << " Best Ntbl : " << fr->tag_array2->Ndbl << endl;
1553 cout << " Best Ntspd : " << fr->tag_array2->Nspd << endl;
1554 cout << " Best Ntcm : " << fr->tag_array2->deg_bl_muxing << endl;
1555 cout << " Best Ntsam L1 : " << fr->tag_array2->Ndsam_lev_1 << endl;
1556 cout << " Best Ntsam L2 : " << fr->tag_array2->Ndsam_lev_2 << endl;
1559 switch (fr->data_array2->wt) {
1579 cout << "ERROR - Unknown wire type " << (int) fr->data_array2->wt << endl;
1584 switch (fr->tag_array2->wt) {
1604 cout << "ERROR - Unknown wire type " << (int) fr->tag_array2->wt << endl;
1615 fr->data_array2->access_time / 1e-9 << endl;
1618 fr->data_array2->delay_route_to_bank * 1e9 +
1619 fr->data_array2->delay_input_htree * 1e9 << endl;
1623 fr->data_array2->delay_row_predecode_driver_and_block * 1e9 +
1624 fr->data_array2->delay_row_decoder * 1e9 << endl;
1627 fr->data_array2->delay_matchlines * 1e9 << endl;
1631 fr->data_array2->delay_bitlines / 1e-9 << endl;
1634 fr->data_array2->delay_sense_amp * 1e9 << endl;
1638 fr->data_array2->delay_subarray_output_driver * 1e9 +
1639 fr->data_array2->delay_dout_htree * 1e9 << endl;
1645 fr->tag_array2->access_time / 1e-9 << endl;
1648 fr->tag_array2->delay_route_to_bank * 1e9 +
1649 fr->tag_array2->delay_input_htree * 1e9 << endl;
1652 fr->tag_array2->delay_row_predecode_driver_and_block * 1e9 +
1653 fr->tag_array2->delay_row_decoder * 1e9 << endl;
1656 fr->tag_array2->delay_bitlines / 1e-9 << endl;
1659 fr->tag_array2->delay_sense_amp * 1e9 << endl;
1662 fr->tag_array2->delay_comparator * 1e9 << endl;
1665 fr->tag_array2->delay_subarray_output_driver * 1e9 +
1666 fr->tag_array2->delay_dout_htree * 1e9 << endl;
1676 fr->data_array2->power.readOp.dynamic * 1e9 << endl;
1678 fr->data_array2->power.readOp.leakage * 1e3 << endl;
1682 (fr->data_array2->power_addr_input_htree.readOp.dynamic +
1683 fr->data_array2->power_data_output_htree.readOp.dynamic +
1684 fr->data_array2->power_routing_to_bank.readOp.dynamic) * 1e9 << endl;
1688 (fr->data_array2->power_addr_input_htree.readOp.leakage +
1689 fr->data_array2->power_data_output_htree.readOp.leakage +
1690 fr->data_array2->power_routing_to_bank.readOp.leakage) * 1e3
1695 (fr->data_array2->power_addr_input_htree.readOp.gate_leakage +
1696 fr->data_array2->power_data_output_htree.readOp.gate_leakage +
1697 fr->data_array2->power_routing_to_bank.readOp.gate_leakage) *
1701 fr->data_array2->power_data_output_htree.readOp.dynamic * 1e9 << endl;
1703 fr->data_array2->power_row_predecoder_drivers.readOp.dynamic * 1e9 +
1704 fr->data_array2->power_row_predecoder_blocks.readOp.dynamic * 1e9 << endl;
1706 fr->data_array2->power_row_decoders.readOp.dynamic * 1e9 << endl;
1708 fr->data_array2->power_bit_mux_predecoder_drivers.readOp.dynamic * 1e9 +
1709 fr->data_array2->power_bit_mux_predecoder_blocks.readOp.dynamic * 1e9 +
1710 fr->data_array2->power_bit_mux_decoders.readOp.dynamic * 1e9 << endl;
1712 fr->data_array2->power_senseamp_mux_lev_1_predecoder_drivers.readOp.dynamic * 1e9 +
1713 fr->data_array2->power_senseamp_mux_lev_1_predecoder_blocks.readOp.dynamic * 1e9 +
1714 fr->data_array2->power_senseamp_mux_lev_1_decoders.readOp.dynamic * 1e9 +
1715 fr->data_array2->power_senseamp_mux_lev_2_predecoder_drivers.readOp.dynamic * 1e9 +
1716 fr->data_array2->power_senseamp_mux_lev_2_predecoder_blocks.readOp.dynamic * 1e9 +
1717 fr->data_array2->power_senseamp_mux_lev_2_decoders.readOp.dynamic * 1e9 << endl;
1720 fr->data_array2->power_prechg_eq_drivers.readOp.dynamic * 1e9 << endl;
1722 fr->data_array2->power_bitlines.readOp.dynamic * 1e9 << endl;
1724 fr->data_array2->power_sense_amps.readOp.dynamic * 1e9 << endl;
1726 fr->data_array2->power_output_drivers_at_subarray.readOp.dynamic * 1e9 << endl;
1733 fr->data_array2->power.searchOp.dynamic * 1e9 << endl;
1736 (fr->data_array2->power_htree_in_search.searchOp.dynamic +
1737 fr->data_array2->power_htree_out_search.searchOp.dynamic +
1738 fr->data_array2->power_routing_to_bank.searchOp.dynamic) * 1e9 << endl;
1740 (fr->data_array2->power_htree_in_search.searchOp.dynamic +
1741 fr->data_array2->power_htree_out_search.searchOp.dynamic) * 1e9 << endl;
1743 fr->data_array2->power_searchline.searchOp.dynamic * 1e9 +
1744 fr->data_array2->power_searchline_precharge.searchOp.dynamic * 1e9 << endl;
1746 fr->data_array2->power_matchlines.searchOp.dynamic * 1e9 +
1747 fr->data_array2->power_matchline_precharge.searchOp.dynamic * 1e9 << endl;
1749 fr->data_array2->power_output_drivers_at_subarray.searchOp.dynamic * 1e9 << endl;
1753 fr->data_array2->power.readOp.dynamic * 1e9 << endl;
1756 (fr->data_array2->power_addr_input_htree.readOp.dynamic +
1757 fr->data_array2->power_data_output_htree.readOp.dynamic +
1758 fr->data_array2->power_routing_to_bank.readOp.dynamic) * 1e9 << endl;
1760 fr->data_array2->power_data_output_htree.readOp.dynamic * 1e9 << endl;
1762 fr->data_array2->power_row_predecoder_drivers.readOp.dynamic * 1e9 +
1763 fr->data_array2->power_row_predecoder_blocks.readOp.dynamic * 1e9 << endl;
1765 fr->data_array2->power_row_decoders.readOp.dynamic * 1e9 << endl;
1767 fr->data_array2->power_bit_mux_predecoder_drivers.readOp.dynamic * 1e9 +
1768 fr->data_array2->power_bit_mux_predecoder_blocks.readOp.dynamic * 1e9 +
1769 fr->data_array2->power_bit_mux_decoders.readOp.dynamic * 1e9 << endl;
1771 fr->data_array2->power_senseamp_mux_lev_1_predecoder_drivers.readOp.dynamic * 1e9 +
1772 fr->data_array2->power_senseamp_mux_lev_1_predecoder_blocks.readOp.dynamic * 1e9 +
1773 fr->data_array2->power_senseamp_mux_lev_1_decoders.readOp.dynamic * 1e9 +
1774 fr->data_array2->power_senseamp_mux_lev_2_predecoder_drivers.readOp.dynamic * 1e9 +
1775 fr->data_array2->power_senseamp_mux_lev_2_predecoder_blocks.readOp.dynamic * 1e9 +
1776 fr->data_array2->power_senseamp_mux_lev_2_decoders.readOp.dynamic * 1e9 << endl;
1778 fr->data_array2->power_bitlines.readOp.dynamic * 1e9 +
1779 fr->data_array2->power_prechg_eq_drivers.readOp.dynamic * 1e9 << endl;
1781 fr->data_array2->power_sense_amps.readOp.dynamic * 1e9 << endl;
1783 fr->data_array2->power_output_drivers_at_subarray.readOp.dynamic * 1e9 << endl;
1786 fr->data_array2->power.readOp.leakage * 1e3 << endl;
1790 fr->data_array2->power.searchOp.dynamic * 1e9 << endl;
1793 (fr->data_array2->power_htree_in_search.searchOp.dynamic +
1794 fr->data_array2->power_htree_out_search.searchOp.dynamic +
1795 fr->data_array2->power_routing_to_bank.searchOp.dynamic) * 1e9 << endl;
1797 (fr->data_array2->power_htree_in_search.searchOp.dynamic +
1798 fr->data_array2->power_htree_out_search.searchOp.dynamic) * 1e9 << endl;
1800 fr->data_array2->power_searchline.searchOp.dynamic * 1e9 +
1801 fr->data_array2->power_searchline_precharge.searchOp.dynamic * 1e9 << endl;
1803 fr->data_array2->power_matchlines.searchOp.dynamic * 1e9 +
1804 fr->data_array2->power_matchline_precharge.searchOp.dynamic * 1e9 << endl;
1806 fr->data_array2->power_matchline_to_wordline_drv.searchOp.dynamic * 1e9 << endl;
1808 fr->data_array2->power_bitlines.searchOp.dynamic * 1e9 +
1809 fr->data_array2->power_prechg_eq_drivers.searchOp.dynamic * 1e9 << endl;
1811 fr->data_array2->power_sense_amps.searchOp.dynamic * 1e9 << endl;
1813 fr->data_array2->power_output_drivers_at_subarray.searchOp.dynamic * 1e9 << endl;
1817 fr->data_array2->power.readOp.dynamic * 1e9 << endl;
1820 (fr->data_array2->power_addr_input_htree.readOp.dynamic +
1821 fr->data_array2->power_data_output_htree.readOp.dynamic +
1822 fr->data_array2->power_routing_to_bank.readOp.dynamic) * 1e9 << endl;
1824 fr->data_array2->power_data_output_htree.readOp.dynamic * 1e9 << endl;
1826 fr->data_array2->power_row_predecoder_drivers.readOp.dynamic * 1e9 +
1827 fr->data_array2->power_row_predecoder_blocks.readOp.dynamic * 1e9 << endl;
1829 fr->data_array2->power_row_decoders.readOp.dynamic * 1e9 << endl;
1831 fr->data_array2->power_bit_mux_predecoder_drivers.readOp.dynamic * 1e9 +
1832 fr->data_array2->power_bit_mux_predecoder_blocks.readOp.dynamic * 1e9 +
1833 fr->data_array2->power_bit_mux_decoders.readOp.dynamic * 1e9 << endl;
1835 fr->data_array2->power_senseamp_mux_lev_1_predecoder_drivers.readOp.dynamic * 1e9 +
1836 fr->data_array2->power_senseamp_mux_lev_1_predecoder_blocks.readOp.dynamic * 1e9 +
1837 fr->data_array2->power_senseamp_mux_lev_1_decoders.readOp.dynamic * 1e9 +
1838 fr->data_array2->power_senseamp_mux_lev_2_predecoder_drivers.readOp.dynamic * 1e9 +
1839 fr->data_array2->power_senseamp_mux_lev_2_predecoder_blocks.readOp.dynamic * 1e9 +
1840 fr->data_array2->power_senseamp_mux_lev_2_decoders.readOp.dynamic * 1e9 << endl;
1842 fr->data_array2->power_bitlines.readOp.dynamic * 1e9 +
1843 fr->data_array2->power_prechg_eq_drivers.readOp.dynamic * 1e9 << endl;
1845 fr->data_array2->power_sense_amps.readOp.dynamic * 1e9 << endl;
1847 fr->data_array2->power_output_drivers_at_subarray.readOp.dynamic * 1e9 << endl;
1850 fr->data_array2->power.readOp.leakage * 1e3 << endl;
1857 fr->tag_array2->power.readOp.dynamic * 1e9 << endl;
1859 fr->tag_array2->power.readOp.leakage * 1e3 << endl;
1862 (fr->tag_array2->power_addr_input_htree.readOp.dynamic +
1863 fr->tag_array2->power_data_output_htree.readOp.dynamic +
1864 fr->tag_array2->power_routing_to_bank.readOp.dynamic) * 1e9 << endl;
1868 (fr->tag_array2->power_addr_input_htree.readOp.leakage +
1869 fr->tag_array2->power_data_output_htree.readOp.leakage +
1870 fr->tag_array2->power_routing_to_bank.readOp.leakage) * 1e3
1875 (fr->tag_array2->power_addr_input_htree.readOp.gate_leakage +
1876 fr->tag_array2->power_data_output_htree.readOp.gate_leakage +
1877 fr->tag_array2->power_routing_to_bank.readOp.gate_leakage) *
1881 fr->tag_array2->power_data_output_htree.readOp.dynamic * 1e9 << endl;
1883 fr->tag_array2->power_row_predecoder_drivers.readOp.dynamic * 1e9 +
1884 fr->tag_array2->power_row_predecoder_blocks.readOp.dynamic * 1e9 << endl;
1886 fr->tag_array2->power_row_decoders.readOp.dynamic * 1e9 << endl;
1888 fr->tag_array2->power_bit_mux_predecoder_drivers.readOp.dynamic * 1e9 +
1889 fr->tag_array2->power_bit_mux_predecoder_blocks.readOp.dynamic * 1e9 +
1890 fr->tag_array2->power_bit_mux_decoders.readOp.dynamic * 1e9 << endl;
1892 fr->tag_array2->power_senseamp_mux_lev_1_predecoder_drivers.readOp.dynamic * 1e9 +
1893 fr->tag_array2->power_senseamp_mux_lev_1_predecoder_blocks.readOp.dynamic * 1e9 +
1894 fr->tag_array2->power_senseamp_mux_lev_1_decoders.readOp.dynamic * 1e9 +
1895 fr->tag_array2->power_senseamp_mux_lev_2_predecoder_drivers.readOp.dynamic * 1e9 +
1896 fr->tag_array2->power_senseamp_mux_lev_2_predecoder_blocks.readOp.dynamic * 1e9 +
1897 fr->tag_array2->power_senseamp_mux_lev_2_decoders.readOp.dynamic * 1e9 << endl;
1899 fr->tag_array2->power_prechg_eq_drivers.readOp.dynamic * 1e9 << endl;
1901 fr->tag_array2->power_bitlines.readOp.dynamic * 1e9 << endl;
1903 fr->tag_array2->power_sense_amps.readOp.dynamic * 1e9 << endl;
1905 fr->tag_array2->power_output_drivers_at_subarray.readOp.dynamic * 1e9 << endl;
1911 cout << " Data array: Area (mm2): " << fr->data_array2->area * 1e-6 << endl;
1913 cout << " CAM array: Area (mm2): " << fr->data_array2->area * 1e-6 << endl;
1915 cout << " Fully associative cache array: Area (mm2): " << fr->data_array2->area * 1e-6 << endl;
1917 fr->data_array2->all_banks_height*1e-3 << endl;
1919 fr->data_array2->all_banks_width*1e-3 << endl;
1922 fr->data_array2->area_efficiency << " %" << endl;
1924 fr->data_array2->mat_height*1e-3 << endl;
1926 fr->data_array2->mat_length*1e-3 << endl;
1928 fr->data_array2->subarray_height*1e-3 << endl;
1930 fr->data_array2->subarray_length*1e-3 << endl;
1936 cout << endl << " Tag array: Area (mm2): " << fr->tag_array2->area * 1e-6 << endl;
1938 fr->tag_array2->all_banks_height*1e-3 << endl;
1940 fr->tag_array2->all_banks_width*1e-3 << endl;
1943 fr->tag_array2->area_efficiency << " %" << endl;
1945 fr->tag_array2->mat_height*1e-3 << endl;
1947 fr->tag_array2->mat_length*1e-3 << endl;
1949 fr->tag_array2->subarray_height*1e-3 << endl;
1951 fr->tag_array2->subarray_length*1e-3 << endl;