| get_filename_component(FAMILY ${CMAKE_CURRENT_SOURCE_DIR} NAME) |
| |
| add_subdirectory(techmap) |
| |
| # Common VPR args for the qlf_k4n8 architecture |
| # |
| # There is no modeling of clock routing. The global clock network is implicit |
| # and non-configurable in the hardware so there is no reason why VPR should |
| # consider it. Each tile has a separate clock input multiplexer. Its selection |
| # is established during the VPR packing stage. |
| # |
| # TODO: The LUT buffer absorption is currently turned off as the repacker |
| # inserts some LUT buffers to allow maintaining the top level IO ports. |
| # With the LUT buffer absorption enabled, the patched netlist and blif |
| # out of the repacker will be out of sync, causing a VPR failure. The solution |
| # likely requires a revision of the repacker code to correctly and robustly |
| # handle the top level I/Os. |
| set(VPR_ARCH_ARGS "\ |
| --clock_modeling ideal \ |
| --place_delta_delay_matrix_calculation_method dijkstra \ |
| --place_delay_model delta_override \ |
| --router_lookahead extended_map \ |
| --allow_dangling_combinational_nodes on \ |
| --absorb_buffer_luts off " |
| ) |
| |
| # Define the architecture |
| quicklogic_define_qlf_arch( |
| FAMILY ${FAMILY} |
| ARCH qlf_k4n8 |
| VPR_ARGS ${VPR_ARCH_ARGS} |
| |
| ROUTE_CHAN_WIDTH 10 # Will be overriden by each device |
| ) |
| |
| add_subdirectory(devices) |
| include(boards.cmake) |
| |
| add_subdirectory(tests) |
| |
| # Define toolchain installation target |
| set(FAMILY_DIR ${f4pga-arch-defs_SOURCE_DIR}/quicklogic/${FAMILY}) |
| |
| define_ql_toolchain_target( |
| FAMILY ${FAMILY} |
| ARCH qlf_k4n8 |
| ROUTE_CHAN_WIDTH 100 |
| CELLS_SIM ${FAMILY_DIR}/techmap/cells_sim.v |
| VPR_ARCH_ARGS ${VPR_ARCH_ARGS} |
| ) |