| add_subdirectory(layouts) |
| add_subdirectory(top-routing-virt) |
| |
| function(DEFINE_ICE40_DEVICE) |
| set(options) |
| set(oneValueArgs DEVICE DEVICE_TYPE PACKAGES) |
| set(multiValueArgs) |
| cmake_parse_arguments( |
| DEFINE_ICE40_DEVICE |
| "${options}" |
| "${oneValueArgs}" |
| "${multiValueArgs}" |
| ${ARGN} |
| ) |
| |
| define_device( |
| DEVICE ${DEFINE_ICE40_DEVICE_DEVICE} |
| ARCH ice40 |
| DEVICE_TYPE ${DEFINE_ICE40_DEVICE_DEVICE_TYPE} |
| PACKAGES ${DEFINE_ICE40_DEVICE_PACKAGES} |
| CACHE_PLACE_DELAY |
| CACHE_ARGS |
| --route_chan_width 100 |
| --clock_modeling route |
| --allow_unrelated_clustering off |
| --target_ext_pin_util 0.7 |
| --router_init_wirelength_abort_threshold 2 |
| --congested_routing_iteration_threshold 0.8 |
| ) |
| |
| add_icebox_layouts( |
| DEVICE |
| ${DEFINE_ICE40_DEVICE_DEVICE} |
| PACKAGES |
| ${DEFINE_ICE40_DEVICE_PACKAGES} |
| ) |
| endfunction() |
| |
| |
| define_ice40_device( |
| DEVICE |
| hx1k |
| DEVICE_TYPE |
| top-routing-virt |
| PACKAGES |
| tq144;ct256 |
| ) |
| |
| define_ice40_device(DEVICE lp1k DEVICE_TYPE top-routing-virt PACKAGES qn84) |
| |
| if (NOT LIGHT_BUILD) |
| define_ice40_device(DEVICE hx8k DEVICE_TYPE top-routing-virt PACKAGES ct256) |
| define_ice40_device(DEVICE lp8k DEVICE_TYPE top-routing-virt PACKAGES cm81) |
| define_ice40_device(DEVICE up5k DEVICE_TYPE top-routing-virt PACKAGES sg48) |
| endif (NOT LIGHT_BUILD) |