OpenFPGA/openfpga_flow/vpr_arch
tangxifan dff03e7993 [test] enable missing options in the arch used by benchmark sweeping tests 2023-11-14 09:45:02 -08:00
..
Makefile
README.md
k4_N4_tileableIO_40nm.xml
k4_N4_tileableL_40nm.xml
k4_N4_tileable_40nm.xml
k4_N4_tileable_GlobalTile4Clk_40nm.xml
k4_N4_tileable_GlobalTile8Clk_40nm.xml
k4_N4_tileable_GlobalTileClk_40nm.xml
k4_N4_tileable_GlobalTileClk_registerable_io_40nm.xml
k4_N4_tileable_IoSubtile_40nm.xml
k4_N4_tileable_Ntwk1clk2lvl_40nm.xml
k4_N4_tileable_Ntwk2clk2lvl_40nm.xml
k4_N4_tileable_TileOrgzBr_40nm.xml
k4_N4_tileable_TileOrgzTl_40nm.xml
k4_N4_tileable_TileOrgzTr_40nm.xml
k4_N4_tileable_customIoLoc_40nm.xml
k4_N4_tileable_dsp8reg_40nm.xml
k4_N4_tileable_frac_dsp16_40nm.xml
k4_N4_tileable_full_output_crossbar_40nm.xml
k4_N4_tileable_no_local_routing_40nm.xml
k4_N5_tileable_pattern_local_routing_40nm.xml
k4_fracNative_N4_tileable_40nm.xml
k4_frac_N1_tileable_fracff_40nm.xml
k4_frac_N4_40nm.xml
k4_frac_N4_tileable_40nm.xml
k4_frac_N4_tileable_adder_chain_40nm.xml
k4_frac_N4_tileable_adder_chain_mem1K_40nm.xml
k4_frac_N4_tileable_adder_chain_mem1K_L124X_L12Y_ChanWidth0p8_40nm.xml
k4_frac_N4_tileable_adder_chain_mem1K_L124_40nm.xml
k4_frac_N4_tileable_adder_chain_mem1K_L124_ChanWidth0p8_40nm.xml
k4_frac_N4_tileable_adder_chain_mem1K_frac_dsp32_40nm.xml
k4_frac_N4_tileable_fracff2edge_40nm.xml
k4_frac_N4_tileable_fracff_40nm.xml
k4_frac_N4_tileable_fracff_localClkGen_40nm.xml
k4_frac_N4_tileable_fracff_localRstGen_40nm.xml
k4_frac_N4_tileable_fracff_rstOnLut_40nm.xml
k4_frac_N4_tileable_fracff_rstOnLut_registerable_io_40nm.xml
k4_frac_N4_tileable_lutram_40nm.xml
k4_frac_N8_tileableL_reset_softadder_register_scan_chain_dsp8_nonLR_caravel_io_skywater130nm.xml
k4_frac_N8_tileable_register_scan_chain_nonLR_caravel_io_skywater130nm.xml
k4_frac_N8_tileable_register_scan_chain_nonLR_embedded_io_skywater130nm.xml
k4_frac_N8_tileable_reset_register_scan_chain_nonLR_caravel_io_skywater130nm.xml
k4_frac_N8_tileable_reset_softadderSuperLUT_register_scan_chain_nonLR_caravel_io_skywater130nm.xml
k4_frac_N8_tileable_reset_softadder_register_scan_chain_dsp8_nonLR_caravel_io_skywater130nm.xml
k4_frac_N8_tileable_reset_softadder_register_scan_chain_frac_dsp16_nonLR_caravel_io_skywater130nm.xml
k4_frac_N8_tileable_reset_softadder_register_scan_chain_nonLR_caravel_io_skywater130nm.xml
k4_frac_N8_tileable_reset_softadder_register_scan_chain_wide_frac_dsp16_nonLR_caravel_io_skywater130nm.xml
k6_N10_40nm.xml
k6_N10_tileable_40nm.xml
k6_frac_N8_tileable_40nm.xml
k6_frac_N10_40nm.xml
k6_frac_N10_adder_chain_40nm.xml
k6_frac_N10_adder_chain_mem16K_40nm.xml
k6_frac_N10_tileableConcatWire_adder_chain_dpram8K_dsp36_fracff_40nm.xml
k6_frac_N10_tileable_40nm.xml
k6_frac_N10_tileable_adder_chain_40nm.xml
k6_frac_N10_tileable_adder_chain_dpram8K_dsp36_40nm.xml [test] enable missing options in the arch used by benchmark sweeping tests 2023-11-14 09:45:02 -08:00
k6_frac_N10_tileable_adder_chain_dpram8K_dsp36_fracff_40nm.xml [test] enable missing options in the arch used by benchmark sweeping tests 2023-11-14 09:45:02 -08:00
k6_frac_N10_tileable_adder_chain_frac_mem32K_frac_dsp36_40nm.xml
k6_frac_N10_tileable_adder_chain_frac_mem32K_frac_dsp36_GlobalTile8Clk_40nm.xml
k6_frac_N10_tileable_adder_chain_mem1K_40nm.xml
k6_frac_N10_tileable_adder_chain_mem16K_aib_40nm.xml
k6_frac_N10_tileable_adder_chain_mem16K_multi_io_capacity_40nm.xml
k6_frac_N10_tileable_adder_chain_mem16K_reduced_io_40nm.xml
k6_frac_N10_tileable_adder_chain_wide_mem1K_40nm.xml
k6_frac_N10_tileable_adder_register_chain_40nm.xml
k6_frac_N10_tileable_adder_register_scan_chain_40nm.xml
k6_frac_N10_tileable_adder_register_scan_chain_depop50_40nm.xml [test] enable missing options in the arch used by benchmark sweeping tests 2023-11-14 09:45:02 -08:00
k6_frac_N10_tileable_adder_register_scan_chain_depop50_spypad_40nm.xml
k6_frac_N10_tileable_adder_register_scan_chain_mem16K_depop50_12nm.xml
k6_frac_N10_tileable_thru_channel_adder_chain_mem16K_40nm.xml
k6_frac_N10_tileable_thru_channel_adder_chain_wide_mem16K_40nm.xml

README.md

Naming convention for VPR architecture files

Please reveal the following architecture features in the names to help quickly spot architecture files.

  • k<lut_size>_: Look-Up Table (LUT) size of FPGA. If you have fracturable LUTs or multiple LUT circuits, this should be largest input size.
    • The keyword 'frac' is to specify if fracturable LUT is used or not.
    • The keyword 'Native' is to specify if fracturable LUT design is a native one (without mode switch) or a standard one (with mode switch).
  • N<le_size>: Number of logic elements for a CLB. If you have multiple CLB architectures, this should be largest number.
  • tileable<IO|ConcatWire>: If the routing architecture is tileable or not.
    • The keyword 'IO' specifies if the I/O tile is tileable or not
    • The keyword 'ConcatWire' specifies if the routing wires can be continued in the same direction or not. For example, L4 -> L1
  • fracff<2edge>: Use multi-mode flip-flop model, where reset/set polarity is configurable. When 2edge is specified, clock polarity can be switched between postive edge triggered and negative edge triggered
  • adder_chain: If hard adder/carry chain is used inside CLBs
  • register_chain: If shift register chain is used inside CLBs
  • scan_chain: If scan chain testing infrastructure is used inside CLBs
  • __mem<mem_size>: If block RAM (BRAM) is used or not. If used, the memory size should be clarified here. The keyword 'wide' is to specify if the BRAM spans more than 1 column. The keyword 'frac' is to specify if the BRAM is fracturable to operate in different modes.
  • __dsp<dsp_size>reg: If Digital Signal Processor (DSP) is used or not. If used, the input size should be clarified here.
    • The keyword 'wide' is to specify if the DSP spans more than 1 column.
    • The keyword 'frac' is to specify if the DSP is fracturable to operate in different modes.
    • The keyword 'reg' is to specify if the DSP has input and output registers. If only input or output registers are used, the keyword will be 'regin' or 'regout' respectively.
  • mem<mem_size>: If block RAM (BRAM) is used or not. If used, the memory size should be clarified here. The keyword wide is to specify if the BRAM spanns more than 1 column.
  • aib: If the Advanced Interface Bus (AIB) is used in place of some I/Os.
  • multi_io_capacity: If I/O capacity is different on each side of FPGAs.
  • reduced_io: If I/Os only appear a certain or multiple sides of FPGAs
  • registerable_io: If I/Os are registerable (can be either combinational or sequential)
  • IoSubtile: If I/O block contains sub tiles (more compact with a higher density of I/Os)
  • CustomIoLoc: Use OpenFPGA's extended custom I/O location syntax
  • rstOnLut: The reset signal of CLB can feed LUT inputs through a local routing architecture
  • localClkGen: The clock signal of CLB can be generated by internal programmable resources
  • localRstGen: The reset signal of CLB can be generated by internal programmable resources
  • <feature_size>: The technology node which the delay numbers are extracted from.
  • TileOrgz: How tile is organized.
    • Top-left (Tl): the pins of a tile are placed on the top side and left side only
    • Top-right (Tr): the pins of a tile are placed on the top side and right side only
    • Bottom-right (Br): the pins of a tile are placed on the bottom side and right side only
  • GlobalTileClk: How many clocks are defined through global ports from physical tiles. is the number of clocks

Other features are used in naming should be listed here.

Update architecture files in batch

From v1.1 to v1.2

make v1p1_to_v1p2